Thm* n: . CoPrime(fib(n),fib(n+1)) | [fib_coprime] |
Thm* n: . fib(n) ![](FONT/nat.png) | [fib_wf] |
Thm* r:![](FONT/nat.png) , s:{s':![](FONT/nat.png) | CoPrime(r,s') }, a,b: .
Thm* ![](FONT/down.png) x: . ((x = a mod r) & (x = b mod s)) | [chrem_exists_a] |
Thm* r,s:![](FONT/nat.png) . CoPrime(r,s) ![](FONT/eq.png) ( a,b: . x: . (x = a mod r) & (x = b mod s)) | [chrem_exists] |
Thm* r:![](FONT/nat.png) , s:{s':![](FONT/nat.png) | CoPrime(r,s') }. ![](FONT/down.png) x: . ((x = 1 mod r) & (x = 0 mod s)) | [chrem_exists_aux_a] |
Thm* r,s:![](FONT/nat.png) . CoPrime(r,s) ![](FONT/eq.png) ( x: . (x = 1 mod r) & (x = 0 mod s)) | [chrem_exists_aux] |
Thm* m,a,a',b,b': . (a = a' mod m) ![](FONT/eq.png) (b = b' mod m) ![](FONT/eq.png) ((a b) = (a' b') mod m) | [multiply_functionality_wrt_eqmod] |
Thm* m,a,a',b,b': . (a = a' mod m) ![](FONT/eq.png) (b = b' mod m) ![](FONT/eq.png) ((a+b) = (a'+b') mod m) | [add_functionality_wrt_eqmod] |
Thm* m,a,a',b,b': .
Thm* (a = a' mod m) ![](FONT/eq.png) (b = b' mod m) ![](FONT/eq.png) ((a = b mod m) ![](FONT/if_big.png) (a' = b' mod m)) | [eqmod_fun] |
Thm* m,m',a,a',b,b': .
Thm* m = m'
Thm* ![](FONT/eq.png)
Thm* (a = a' mod m) ![](FONT/eq.png) (b = b' mod m) ![](FONT/eq.png) ((a = b mod m) ![](FONT/if_big.png) (a' = b' mod m')) | [eqmod_functionality_wrt_eqmod] |
Thm* m,a,b: . (a = b mod m) ![](FONT/eq.png) (b = a mod m) | [eqmod_inversion] |
Thm* m,a,b,c: . (a = b mod m) ![](FONT/eq.png) (b = c mod m) ![](FONT/eq.png) (a = c mod m) | [eqmod_transitivity] |
Thm* m,a,b: . a = b ![](FONT/eq.png) (a = b mod m) | [eqmod_weakening] |
Thm* p: . prime(p) ![](FONT/eq.png) ( a1,a2: . p | a1 a2 ![](FONT/eq.png) p | a1 p | a2) | [prime_divs_prod] |
Thm* a: . atomic(a) ![](FONT/eq.png) prime(a) | [atomic_imp_prime] |
Thm* a1,a2,b: . CoPrime(a1,a2) ![](FONT/eq.png) a1 | b ![](FONT/eq.png) a2 | b ![](FONT/eq.png) a1 a2 | b | [coprime_divisors_prod] |
Thm* a,b1,b2: . CoPrime(a,b1) ![](FONT/eq.png) CoPrime(a,b2) ![](FONT/eq.png) CoPrime(a,b1 b2) | [coprime_prod] |
Thm* a,b: . CoPrime(a,b) ![](FONT/if_big.png) ( x,y: . a x+b y = 1) | [coprime_bezout_id] |
Thm* a,b: . ( x,y: . a x+b y = 1) ![](FONT/eq.png) CoPrime(a,b) | [coprime_bezout_id2] |
Thm* a,b: . CoPrime(a,b) ![](FONT/eq.png) ( x,y: . a x+b y = 1) | [coprime_bezout_id1] |
Thm* a,b: . CoPrime(a,b) ![](FONT/eq.png) ( x,y: . (a x+b y) ~ 1) | [coprime_bezout_id0] |
Thm* a,p: . prime(p) ![](FONT/eq.png) (CoPrime(p,a) ![](FONT/if_big.png) p | a) | [coprime_iff_ndivides] |
Thm* a,b: . CoPrime(a,b) ![](FONT/if_big.png) (gcd(a;b) ~ 1) | [coprime_elim_a] |
Thm* a,b: . CoPrime(a,b) ![](FONT/if_big.png) ( c: . c | a ![](FONT/eq.png) c | b ![](FONT/eq.png) (c ~ 1)) | [coprime_elim] |
Thm* a,b: . ( c: . c | a ![](FONT/eq.png) c | b ![](FONT/eq.png) c | 1) ![](FONT/eq.png) CoPrime(a,b) | [coprime_intro] |
Thm* p: . prime(p) ![](FONT/eq.png) p = 0 & (p ~ 1) & ( a: . a | p ![](FONT/eq.png) (a ~ 1) (a ~ p)) | [prime_elim] |
Thm* a: . prime(a) ![](FONT/eq.png) atomic(a) | [prime_imp_atomic] |
Thm* a:![](FONT/int.png) ![](FONT/minus.png) , b: . a b | a ![](FONT/eq.png) (b ~ 1) | [self_divisor_mul] |
Thm* a: . atomic(a) ![](FONT/if_big.png) (a ~ 1) & ( b: . b | a ![](FONT/eq.png) (b ~ 1) (b ~ a)) | [atomic_char] |
Thm* i,j: . SqStable(CoPrime(i,j)) | [sq_stable__coprime] |
Thm* a,b,c: . gcd(gcd(a;b);c) ~ gcd(a;gcd(b;c)) | [gcd_assoc] |
Thm* a,b,n: . (n gcd(a;b)) ~ gcd(n a;n b) | [gcd_mul] |
Thm* a,b,y,n: . GCD(a;b;y) ![](FONT/eq.png) GCD(n a;n b;n y) | [gcd_p_mul] |
Thm* a,b: . u,v: . GCD(a;b;u a+v b) | [bezout_ident] |
Thm* b: , a: . u,v: . GCD(a;b;u a+v b) | [bezout_ident_n] |
Thm* a,b: . y: . GCD(a;b;y) | [gcd_exists] |
Thm* b: , a: . ![](FONT/down.png) y: . GCD(a;b;y) | [gcd_ex_n] |
Thm* b: , a: . y: . GCD(a;b;y) | [gcd_exists_n] |
Thm* a: , b:![](FONT/nat.png) . q: , r: b. a = q b+r | [quot_rem_exists] |
Thm* a: , b:![](FONT/nat.png) . q: , r: b. a = q b+r | [quot_rem_exists_n] |
Thm* a,b,c: . c | a ![](FONT/eq.png) c | b ![](FONT/eq.png) c | gcd(a;b) | [gcd_is_gcd] |
Thm* a,b: . gcd(a;b) | b | [gcd_is_divisor_2] |
Thm* a,b: . gcd(a;b) | a | [gcd_is_divisor_1] |
Thm* a,b: . gcd(a;b) ~ gcd(b;a) | [gcd_sym] |
Thm* a,b: . y: . GCD(a;b;y) & gcd(a;b) = y | [gcd_elim] |
Thm* a,b: . GCD(a;b;gcd(a;b)) | [gcd_sat_pred] |
Thm* a,b: . GCD(a;b;gcd(a;b)) | [gcd_sat_gcd_p] |
Thm* a,b: . gcd(a;b) ![](FONT/int.png) | [gcd_wf] |
Thm* a,b,c,x,y: .
Thm* GCD(a;b;x)
Thm* ![](FONT/eq.png)
Thm* GCD(x;c;y)
Thm* ![](FONT/eq.png)
Thm* y | a & y | b & y | c & ( z: . z | a ![](FONT/eq.png) z | b ![](FONT/eq.png) z | c ![](FONT/eq.png) z | y) | [gcd_of_triple] |
Thm* a,b,y1,y2: . GCD(a;b;y1) ![](FONT/eq.png) GCD(a;b;y2) ![](FONT/eq.png) (y1 ~ y2) | [gcd_unique] |
Thm* a,b,y,k: . GCD(a;b;y) ![](FONT/eq.png) GCD(a;b+k a;y) | [gcd_p_shift] |
Thm* a,b,y: . GCD(a;b;y) ![](FONT/if_big.png) GCD(a;-b;y) | [gcd_p_neg_arg_2] |
Thm* a,b,y: . GCD(a;b;y) ![](FONT/eq.png) GCD(-a;b;y) | [gcd_p_neg_arg_a] |
Thm* a,b,y: . GCD(a;b;y) ![](FONT/eq.png) GCD(a;-b;y) | [gcd_p_neg_arg] |
Thm* a,b,y: . GCD(a;b;y) ![](FONT/eq.png) GCD(b;a;y) | [gcd_p_sym_a] |
Thm* a,b,y: . GCD(a;b;y) ![](FONT/eq.png) GCD(b;a;y) | [gcd_p_sym] |
Thm* a,b: . GCD(a;0;b) ![](FONT/eq.png) a = b a = -b | [gcd_p_zero_rel] |
Thm* a: . GCD(a;1;1) | [gcd_p_one] |
Thm* a: . GCD(a;0;a) | [gcd_p_zero] |
Thm* a: . GCD(a;a;a) | [gcd_p_eq_args] |
Thm* a,a',b,b',y,y': .
Thm* (a ~ a') ![](FONT/eq.png) (b ~ b') ![](FONT/eq.png) (y ~ y') ![](FONT/eq.png) (GCD(a;b;y) ![](FONT/if_big.png) GCD(a';b';y')) | [gcd_p_functionality_wrt_assoced] |
Thm* a,b:![](FONT/nat.png) . a | b ![](FONT/if_big.png) ( c:![](FONT/nat.png) . b = a c ![](FONT/nat.png) ) | [divides_nchar] |
Thm* a: , b:![](FONT/nat.png) . a | b & b | a ![](FONT/if_big.png) a<b & a | b | [pdivisor_bound] |
Thm* a,b: . (a ~ b) ![](FONT/if_big.png) a = b | [assoced_nelim] |
Thm* a: . a | 1 ![](FONT/if_big.png) (a ~ 1) | [unit_chars] |
Thm* a: . |a| ~ a | [absval_assoced] |
Thm* a: . (-a) ~ a | [neg_assoced] |
Thm* a,b: , n:![](FONT/int.png) ![](FONT/minus.png) . ((n a) ~ (n b)) ![](FONT/eq.png) (a ~ b) | [mul_cancel_in_assoced] |
Thm* a,b: . (a ~ b) ![](FONT/if_big.png) a = b a = -b | [assoced_elim] |
Thm* a,b,a',b': . (a ~ a') ![](FONT/eq.png) (b ~ b') ![](FONT/eq.png) ((a ~ b) ![](FONT/if_big.png) (a' ~ b')) | [assoced_functionality_wrt_assoced] |
Thm* a,a',b,b': . (a ~ a') ![](FONT/eq.png) (b ~ b') ![](FONT/eq.png) ((a b) ~ (a' b')) | [multiply_functionality_wrt_assoced] |
Thm* a,b,c: . (a ~ b) ![](FONT/eq.png) (b ~ c) ![](FONT/eq.png) (a ~ c) | [assoced_transitivity] |
Thm* a,b: . a = b ![](FONT/eq.png) (a ~ b) | [assoced_weakening] |
Thm* a,a',b,b': . (a ~ a') ![](FONT/eq.png) (b ~ b') ![](FONT/eq.png) (a | b ![](FONT/if_big.png) a' | b') | [divides_functionality_wrt_assoced] |
Thm* a,b: . Dec(a | b) | [decidable__divides] |
Thm* a: , n:![](FONT/int.png) ![](FONT/minus.png) . n | a ![](FONT/if_big.png) (a n) n = a | [divides_iff_div_exact] |
Thm* a: , b:![](FONT/int.png) ![](FONT/minus.png) . b | a ![](FONT/if_big.png) (a rem b) = 0 | [divides_iff_rem_zero] |
Thm* a: , b:![](FONT/nat.png) . a | b ![](FONT/eq.png) a b | [divisor_bound] |
Thm* a,b: . a | b ![](FONT/eq.png) ( n: . n a | n b) | [divides_mul] |
Thm* a,b,c: . a | b ![](FONT/eq.png) a | b c | [divisor_of_mul] |
Thm* a,b: . a | b ![](FONT/eq.png) a | -b | [divisor_of_minus] |
Thm* a,b1,b2: . a | b1 ![](FONT/eq.png) a | b2 ![](FONT/eq.png) a | b1+b2 | [divisor_of_sum] |
Thm* a,b: . a | b & b | a ![](FONT/if_big.png) a = b | [assoc_reln] |
Thm* a,b: . a | b ![](FONT/eq.png) b | a ![](FONT/eq.png) a = b | [divides_anti_sym] |
Thm* a,b: . a | b ![](FONT/eq.png) b | a ![](FONT/eq.png) a = b | [divides_anti_sym_n] |
Thm* a,b,c: . a | b ![](FONT/eq.png) b | c ![](FONT/eq.png) a | c | [divides_transitivity] |
Thm* a: . a | a | [divides_reflexivity] |
Thm* a,b: . |a| | |b| ![](FONT/if_big.png) a | b | [divides_of_absvals] |
Thm* b: . b | 1 ![](FONT/eq.png) b = 1 | [only_pm_one_divs_one] |
Thm* a: , b:![](FONT/nat.png) . a | b ![](FONT/eq.png) a b | [divisors_bound] |
Thm* a,b: . a | b ![](FONT/if_big.png) a | -b | [divides_invar_2] |
Thm* a,b: . a | b ![](FONT/if_big.png) -a | b | [divides_invar_1] |
Thm* b: . b | 0 | [any_divs_zero] |
Thm* a: . 1 | a | [one_divs_any] |
Thm* a: . 0 | a ![](FONT/eq.png) a = 0 | [zero_divs_only_zero] |
Def prime(a) == a = 0 & (a ~ 1) & ( b,c: . a | b c ![](FONT/eq.png) a | b a | c) | [prime] |
Def GCD(a;b;y) == y | a & y | b & ( z: . z | a & z | b ![](FONT/eq.png) z | y) | [gcd_p] |