Origin Definitions Sections StandardLIB Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
num_thy_1
Nuprl Section: num_thy_1 - Elementary divisibility theory over the integers. Gcd function and relation introduced. Chinese remainder theorem proven.

Selected Objects
defdivides b | a == c:a = bc
THMzero_divs_only_zero a:. 0 | a  a = 0
THMone_divs_any a:. 1 | a
THMany_divs_zero b:b | 0
THMdivides_invar_1 a,b:a | b  -a | b
THMdivides_invar_2 a,b:a | b  a | -b
THMdivisors_bound a:b:a | b  ab
THMonly_pm_one_divs_one b:b | 1  b =  1
THMdivides_of_absvals a,b:. |a| | |b a | b
THMdivides_reflexivity a:a | a
THMdivides_transitivity a,b,c:a | b  b | c  a | c
THMdivides_preorder Preorder(;x,y.x | y)
THMdivides_anti_sym_n a,b:a | b  b | a  a = b
THMdivides_anti_sym a,b:a | b  b | a  a =  b
THMassoc_reln a,b:a | b & b | a  a =  b
THMdivisor_of_sum a,b1,b2:a | b1  a | b2  a | b1+b2
THMdivisor_of_minus a,b:a | b  a | -b
THMdivisor_of_mul a,b,c:a | b  a | bc
THMdivides_mul a,b:a | b  (n:na | nb)
THMdivisor_bound a:b:a | b  ab
THMdivides_iff_rem_zero a:b:b | a  (a rem b) = 0
THMdivides_iff_div_exact a:n:n | a  (a  n)n = a
THMdecidable__divides a,b:. Dec(a | b)
COMdivides_instance_com The proof here illustrates how the evaluation of the extract of one theorem (decidable__divides) can help to prove another theorem. ...
THMdivides_instance 3 | 6
COMgcd_p_com Should redo this not using uncurried antecedents.Makes forward chaining a lot easier.
defassoced a ~ b == a | b & b | a
THMassoced_equiv_rel EquivRel x,y:x ~ y
THMdivides_functionality_wrt_assoced a,a',b,b':. (a ~ a' (b ~ b' (a | b  a' | b')
THMassoced_weakening a,b:a = b  (a ~ b)
THMassoced_transitivity a,b,c:. (a ~ b (b ~ c (a ~ c)
THMmultiply_functionality_wrt_assoced a,a',b,b':. (a ~ a' (b ~ b' ((ab) ~ (a'b'))
THMassoced_functionality_wrt_assoced a,b,a',b':. (a ~ a' (b ~ b' ((a ~ b (a' ~ b'))
THMassoced_elim a,b:. (a ~ b a = b  a = -b
THMmul_cancel_in_assoced a,b:n:. ((na) ~ (nb))  (a ~ b)
THMneg_assoced a:. (-a) ~ a
THMabsval_assoced a:. |a| ~ a
THMunit_chars a:a | 1  (a ~ 1)
THMassoced_nelim a,b:. (a ~ b a = b
THMpdivisor_bound a:b:a | b & b | a  a<b & a | b
THMdivides_nchar a,b:a | b  (c:b = ac  )
defgcd_p GCD(a;b;y) == y | a & y | b & (z:z | a & z | b  z | y)
THMgcd_p_functionality_wrt_assoced a,a',b,b',y,y':.
(a ~ a' (b ~ b' (y ~ y' (GCD(a;b;y GCD(a';b';y'))
THMgcd_p_eq_args a:. GCD(a;a;a)
THMgcd_p_zero a:. GCD(a;0;a)
THMgcd_p_one a:. GCD(a;1;1)
THMgcd_p_zero_rel a,b:. GCD(a;0;b a = b  a = -b
THMgcd_p_sym a,b,y:. GCD(a;b;y GCD(b;a;y)
THMgcd_p_sym_a a,b,y:. GCD(a;b;y GCD(b;a;y)
THMgcd_p_neg_arg a,b,y:. GCD(a;b;y GCD(a;-b;y)
THMgcd_p_neg_arg_a a,b,y:. GCD(a;b;y GCD(-a;b;y)
THMgcd_p_neg_arg_2 a,b,y:. GCD(a;b;y GCD(a;-b;y)
THMgcd_p_shift a,b,y,k:. GCD(a;b;y GCD(a;b+ka;y)
THMgcd_unique a,b,y1,y2:. GCD(a;b;y1 GCD(a;b;y2 (y1 ~ y2)
THMgcd_of_triple a,b,c,x,y:.
GCD(a;b;x)

GCD(x;c;y y | a & y | b & y | c & (z:z | a  z | b  z | c  z | y)
defgcd gcd(a;b) == if b=0 a else gcd(b;a rem b) fi  (recursive)
THMgcd_sat_gcd_p a,b:. GCD(a;b;gcd(a;b))
THMgcd_sat_pred a,b:. GCD(a;b;gcd(a;b))
THMgcd_elim a,b:y:. GCD(a;b;y) & gcd(a;b) = y
THMgcd_sym a,b:. gcd(a;b) ~ gcd(b;a)
THMgcd_is_divisor_1 a,b:. gcd(a;b) | a
THMgcd_is_divisor_2 a,b:. gcd(a;b) | b
THMgcd_is_gcd a,b,c:c | a  c | b  c | gcd(a;b)
COMquot_rem_exists_com The q and r computed by the extracts of these theorems are not the same as those returned by the divides(a;b) and remainder(a;b) built-in arithmetic functions: ...
THMquot_rem_exists_n a:b:q:r:ba = qb+r
THMquot_rem_exists a:b:q:r:ba = qb+r
THMgcd_exists_n b:a:y:. GCD(a;b;y)
THMgcd_ex_n b:a:y:. GCD(a;b;y)
THMgcd_exists a,b:y:. GCD(a;b;y)
THMbezout_ident_n b:a:u,v:. GCD(a;b;ua+vb)
THMbezout_ident a,b:u,v:. GCD(a;b;ua+vb)
THMgcd_p_mul a,b,y,n:. GCD(a;b;y GCD(na;nb;ny)
THMgcd_mul a,b,n:. (ngcd(a;b)) ~ gcd(na;nb)
THMgcd_assoc a,b,c:. gcd(gcd(a;b);c) ~ gcd(a;gcd(b;c))
defcoprime CoPrime(a,b) == GCD(a;b;1)
THMsq_stable__coprime i,j:. SqStable(CoPrime(i,j))
COMprime_com We follow a more abstract characterization of primeness here, defining separately notions of primeness and irreducibility. ...
defreducible reducible(a) == b,c:(b ~ 1) & (c ~ 1) & a = bc
defatomic atomic(a) == a = 0 & (a ~ 1) & reducible(a)
COMatomic_char_com This theorem was quite tedious to prove. ...
THMatomic_char a:. atomic(a (a ~ 1) & (b:b | a  (b ~ 1)  (b ~ a))
defprime prime(a) == a = 0 & (a ~ 1) & (b,c:a | bc  a | b  a | c)
THMself_divisor_mul a:b:ab | a  (b ~ 1)
THMprime_imp_atomic a:. prime(a atomic(a)
THMprime_elim p:. prime(p p = 0 & (p ~ 1) & (a:a | p  (a ~ 1)  (a ~ p))
THMcoprime_intro a,b:. (c:c | a  c | b  c | 1)  CoPrime(a,b)
THMcoprime_elim a,b:. CoPrime(a,b (c:c | a  c | b  (c ~ 1))
THMcoprime_elim_a a,b:. CoPrime(a,b (gcd(a;b) ~ 1)
THMcoprime_iff_ndivides a,p:. prime(p (CoPrime(p,a p | a)
THMcoprime_bezout_id0 a,b:. CoPrime(a,b (x,y:. (ax+by) ~ 1)
THMcoprime_bezout_id1 a,b:. CoPrime(a,b (x,y:ax+by = 1)
THMcoprime_bezout_id2 a,b:. (x,y:ax+by = 1)  CoPrime(a,b)
THMcoprime_bezout_id a,b:. CoPrime(a,b (x,y:ax+by = 1)
THMcoprime_prod a,b1,b2:. CoPrime(a,b1 CoPrime(a,b2 CoPrime(a,b1b2)
THMcoprime_divisors_prod a1,a2,b:. CoPrime(a1,a2 a1 | b  a2 | b  a1a2 | b
THMatomic_imp_prime a:. atomic(a prime(a)
THMprime_divs_prod p:. prime(p (a1,a2:p | a1a2  p | a1  p | a2)
defeqmod a = b mod m == m | a-b
THMeqmod_weakening m,a,b:a = b  (a = b mod m)
THMeqmod_transitivity m,a,b,c:. (a = b mod m (b = c mod m (a = c mod m)
THMeqmod_inversion m,a,b:. (a = b mod m (b = a mod m)
THMeqmod_functionality_wrt_eqmod m,m',a,a',b,b':.
m = m'

(a = a' mod m (b = b' mod m ((a = b mod m (a' = b' mod m'))
THMeqmod_fun m,a,a',b,b':.
(a = a' mod m (b = b' mod m ((a = b mod m (a' = b' mod m))
THMadd_functionality_wrt_eqmod m,a,a',b,b':. (a = a' mod m (b = b' mod m ((a+b) = (a'+b') mod m)
THMmultiply_functionality_wrt_eqmod m,a,a',b,b':. (a = a' mod m (b = b' mod m ((ab) = (a'b') mod m)
COMchrem_com Here is the existential half of the chinese remainder theorem for pairs of integers. ...
THMchrem_exists_aux r,s:. CoPrime(r,s (x:. (x = 1 mod r) & (x = 0 mod s))
THMchrem_exists_aux_a r:s:{s':| CoPrime(r,s') }. x:. ((x = 1 mod r) & (x = 0 mod s))
THMchrem_exists r,s:. CoPrime(r,s (a,b:x:. (x = a mod r) & (x = b mod s))
THMchrem_exists_a r:s:{s':| CoPrime(r,s') }, a,b:x:. ((x = a mod r) & (x = b mod s))
deffib fib(n) == if n= n=1 1 else fib(n-1)+fib(n-2) fi  (recursive)
THMfib_coprime n:. CoPrime(fib(n),fib(n+1))
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

Origin Definitions Sections StandardLIB Doc