Origin Definitions Sections HOLlib Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
hol_prim_rec
Nuprl Section: hol_prim_rec

Selected Objects
defpre pre(n) == if n=0 then 0 else n-1 fi 
THMpre_nuprl n:n>0  pre(n) = n-1
THMiff_refl (P  P True
defhlt lt == m:n:m<n
defhsimp_rec_rel simp_rec_rel
== fun:'ax:'af:'a'an:(fun(0) = x
== & (m:m<n  fun(m+1) = f(fun(m))))
defhsimp_rec_fun simp_rec_fun == x:'af:'a'an:. @fun:'a. (simp_rec_rel(fun,x,f,n))
defhsimp_rec simp_rec == x:'af:'a'an:. ncompose(f;n;x)
defhpre pre == n:. pre(n)
defhprim_rec_fun prim_rec_fun
== x:'af:'a'a. simp_rec((n:x),fun:'an:f(fun(pre(n)),n))
defhprim_rec prim_rec == x:'af:'a'am:. prim_rec_fun(x,f,m,pre(m))
THMhless_def all
(m:hnum. all
(m:hnum. (n:hnum. equal
(m:hnum. (n:hnum. (lt(m,n)
(m:hnum. (n:hnum. ,exists
(m:hnum. (n:hnum. ,(P:hnum  hbool. and
(m:hnum. (n:hnum. ,(P:hnum  hbool. (all(n:hnum. implies(P(suc(n)),P(n)))
(m:hnum. (n:hnum. ,(P:hnum  hbool. ,and(P(m),not(P(n))))))))
THMhsimp_rec_rel_wd 'a:S. 
all
(fun:hnum
( 'a. all
( 'a(x:'a. all
( 'a. (x:'a(f:'a  'a. all
( 'a. (x:'a. (f:'a  'a(n:hnum. equal
( 'a. (x:'a. (f:'a  'a. (n:hnum. (simp_rec_rel(fun,x,f,n)
( 'a. (x:'a. (f:'a  'a. (n:hnum. ,and
( 'a. (x:'a. (f:'a  'a. (n:hnum. ,(equal(fun(0),x)
( 'a. (x:'a. (f:'a  'a. (n:hnum. ,,all
( 'a. (x:'a. (f:'a  'a. (n:hnum. ,,(m:hnum. implies
( 'a. (x:'a. (f:'a  'a. (n:hnum. ,,(m:hnum. (lt(m,n)
( 'a. (x:'a. (f:'a  'a. (n:hnum. ,,(m:hnum. ,equal
( 'a. (x:'a. (f:'a  'a. (n:hnum. ,,(m:hnum. ,(fun(suc(m))
( 'a. (x:'a. (f:'a  'a. (n:hnum. ,,(m:hnum. ,,f(fun(m)))))))))))
THMhsimp_rec_fun_wd 'a:S. 
all
(x:'a. all
(x:'a(f:'a  'a. all
(x:'a. (f:'a  'a(n:hnum. equal
(x:'a. (f:'a  'a. (n:hnum. (simp_rec_fun(x,f,n)
(x:'a. (f:'a  'a. (n:hnum. ,select
(x:'a. (f:'a  'a. (n:hnum. ,(fun:hnum  'a. simp_rec_rel(fun,x,f,n))))))
THMhsimp_rec_wd 'a:S. 
all
(x:'a. all
(x:'a(f:'a  'a. all
(x:'a. (f:'a  'a(n:hnum. equal
(x:'a. (f:'a  'a. (n:hnum. (simp_rec(x,f,n)
(x:'a. (f:'a  'a. (n:hnum. ,simp_rec_fun(x,f,suc(n),n)))))
THMhpre_def all(m:hnum. equal(pre(m),cond(equal(m,0),0,select(n:hnum. equal(m,suc(n))))))
THMhprim_rec_fun_wd 'a:S. 
all
(x:'a. all
(x:'a(f:'a  hnum  'a. equal
(x:'a. (f:'a  hnum  'a(prim_rec_fun(x,f)
(x:'a. (f:'a  hnum  'a,simp_rec
(x:'a. (f:'a  hnum  'a. ,((n:hnum. x)
(x:'a. (f:'a  hnum  'a. ,,fun:hnum  'an:hnum. f(fun(pre(n)),n)))))
THMhprim_rec_wd 'a:S. 
all
(x:'a. all
(x:'a(f:'a  hnum  'a. all
(x:'a. (f:'a  hnum  'a(m:hnum. equal
(x:'a. (f:'a  hnum  'a. (m:hnum. (prim_rec(x,f,m)
(x:'a. (f:'a  hnum  'a. (m:hnum. ,prim_rec_fun(x,f,m,pre(m))))))
THMhinv_suc_eq all(m:hnum. all(n:hnum. equal(equal(suc(m),suc(n)),equal(m,n))))
THMhless_refl all(n:hnum. not(lt(n,n)))
THMhsuc_less all(m:hnum. all(n:hnum. implies(lt(suc(m),n),lt(m,n))))
THMhnot_less_0 all(n:hnum. not(lt(n,0)))
THMhless_0_0 lt(0,suc(0))
THMhless_mono all(m:hnum. all(n:hnum. implies(lt(m,n),lt(suc(m),suc(n)))))
THMhless_suc_refl all(n:hnum. lt(n,suc(n)))
THMhless_suc all(m:hnum. all(n:hnum. implies(lt(m,n),lt(m,suc(n)))))
THMhless_lemma1 all(m:hnum. all(n:hnum. implies(lt(m,suc(n)),or(equal(m,n),lt(m,n)))))
THMhless_lemma2 all(m:hnum. all(n:hnum. implies(or(equal(m,n),lt(m,n)),lt(m,suc(n)))))
THMhless_thm all(m:hnum. all(n:hnum. equal(lt(m,suc(n)),or(equal(m,n),lt(m,n)))))
THMhless_suc_imp all
(m:hnum. all(n:hnum. implies(lt(m,suc(n)),implies(not(equal(m,n)),lt(m,n)))))
THMhless_0 all(n:hnum. lt(0,suc(n)))
THMheq_less all(m:hnum. all(n:hnum. implies(equal(suc(m),n),lt(m,n))))
THMhsuc_id all(n:hnum. not(equal(suc(n),n)))
THMhnot_less_eq all(m:hnum. all(n:hnum. implies(equal(m,n),not(lt(m,n)))))
THMhless_not_eq all(m:hnum. all(n:hnum. implies(lt(m,n),not(equal(m,n)))))
THMhsimp_rec_fun_lemma 'a:S. 
all
(n:hnum. all
(n:hnum. (f:'a  'a. all
(n:hnum. (f:'a  'a(x:'a. equal
(n:hnum. (f:'a  'a. (x:'a(exists
(n:hnum. (f:'a  'a. (x:'a. ((fun:hnum  'a. simp_rec_rel(fun,x,f,n))
(n:hnum. (f:'a  'a. (x:'a,and
(n:hnum. (f:'a  'a. (x:'a. ,(equal(simp_rec_fun(x,f,n,0),x)
(n:hnum. (f:'a  'a. (x:'a. ,,all
(n:hnum. (f:'a  'a. (x:'a. ,,(m:hnum. implies
(n:hnum. (f:'a  'a. (x:'a. ,,(m:hnum. (lt(m,n)
(n:hnum. (f:'a  'a. (x:'a. ,,(m:hnum. ,equal
(n:hnum. (f:'a  'a. (x:'a. ,,(m:hnum. ,(simp_rec_fun(x,f,n,suc(m))
(n:hnum. (f:'a  'a. (x:'a. ,,(m:hnum. ,,f(simp_rec_fun(x,f,n,m))))))))))
THMhsimp_rec_exists 'a:S. 
all
(x:'a. all
(x:'a(f:'a  'a. all
(x:'a. (f:'a  'a(n:hnum. exists
(x:'a. (f:'a  'a. (n:hnum. (fun:hnum  'a. simp_rec_rel(fun,x,f,n)))))
THMhless_suc_suc all(m:hnum. and(lt(m,suc(m)),lt(m,suc(suc(m)))))
THMhsimp_rec_thm 'a:S. 
all
(x:'a. all
(x:'a(f:'a  'a. and
(x:'a. (f:'a  'a(equal(simp_rec(x,f,0),x)
(x:'a. (f:'a  'a,all
(x:'a. (f:'a  'a. ,(m:hnum. equal
(x:'a. (f:'a  'a. ,(m:hnum. (simp_rec(x,f,suc(m))
(x:'a. (f:'a  'a. ,(m:hnum. ,f(simp_rec(x,f,m)))))))
THMhpre_suc and(equal(pre(0),0),all(m:hnum. equal(pre(suc(m)),m)))
THMhprim_rec_eqn 'a:S. 
all
(x:'a. all
(x:'a(f:'a  hnum  'a. and
(x:'a. (f:'a  hnum  'a(all(n:hnum. equal(prim_rec_fun(x,f,0,n),x))
(x:'a. (f:'a  hnum  'a,all
(x:'a. (f:'a  hnum  'a. ,(m:hnum. all
(x:'a. (f:'a  hnum  'a. ,(m:hnum. (n:hnum. equal
(x:'a. (f:'a  hnum  'a. ,(m:hnum. (n:hnum. (prim_rec_fun(x,f,suc(m),n)
(x:'a. (f:'a  hnum  'a. ,(m:hnum. (n:hnum. ,f
(x:'a. (f:'a  hnum  'a. ,(m:hnum. (n:hnum. ,(prim_rec_fun(x,f,m,pre(n))
(x:'a. (f:'a  hnum  'a. ,(m:hnum. (n:hnum. ,,n)))))))
THMhprim_rec_thm 'a:S. 
all
(x:'a. all
(x:'a(f:'a  hnum  'a. and
(x:'a. (f:'a  hnum  'a(equal(prim_rec(x,f,0),x)
(x:'a. (f:'a  hnum  'a,all
(x:'a. (f:'a  hnum  'a. ,(m:hnum. equal
(x:'a. (f:'a  hnum  'a. ,(m:hnum. (prim_rec(x,f,suc(m))
(x:'a. (f:'a  hnum  'a. ,(m:hnum. ,f(prim_rec(x,f,m),m))))))
THMhnum_axiom 'a:S. 
all
(e:'a. all
(e:'a(f:'a  hnum  'a. exists_unique
(e:'a. (f:'a  hnum  'a(fn1:hnum  'a. and
(e:'a. (f:'a  hnum  'a. (fn1:hnum  'a(equal(fn1(0),e)
(e:'a. (f:'a  hnum  'a. (fn1:hnum  'a,all
(e:'a. (f:'a  hnum  'a. (fn1:hnum  'a. ,(n:hnum. equal
(e:'a. (f:'a  hnum  'a. (fn1:hnum  'a. ,(n:hnum. (fn1(suc(n))
(e:'a. (f:'a  hnum  'a. (fn1:hnum  'a. ,(n:hnum. ,f(fn1(n),n)))))))
THMinv_suc_eq m,n:m+1 = n+1    m = n
THMless_refl n:n<n
THMsuc_less m,n:m+1<n  m<n
THMnot_less_0 n:n<0
THMless_0_0 0<0+1
THMless_mono m,n:m<n  m+1<n+1
THMless_suc_refl n:n<n+1
THMless_suc m,n:m<n  m<n+1
THMless_lemma1 m,n:m<n+1  m = n  m<n
THMless_lemma2 m,n:m = n  m<n  m<n+1
THMless_thm m,n:m<n+1  m = n  m<n
THMless_suc_imp m,n:m<n+1  m = n  m<n
THMless_0 n:. 0<n+1
THMeq_less m,n:m+1 = n    m<n
THMsuc_id n:n+1 = n  
THMnot_less_eq m,n:m = n  m<n
THMless_not_eq m,n:m<n  m = n
THMsimp_rec_fun_lemma 'a:S, n:f:('a'a), x:'a.
(fun:('a). simp_rec_rel(fun,x,f,n))

simp_rec_fun(x,f,n,0) = x
& (m:m<n  simp_rec_fun(x,f,n,m+1) = f(simp_rec_fun(x,f,n,m)))
THMsimp_rec_exists 'a:S, x:'af:('a'a), n:fun:('a). simp_rec_rel(fun,x,f,n)
THMless_suc_suc m:m<m+1 & m<m+1+1
THMsimp_rec_thm 'a:S, x:'af:('a'a).
simp_rec(x,f,0) = x & (m:. simp_rec(x,f,m+1) = f(simp_rec(x,f,m)))
THMpre_suc pre(0) = 0 & (m:. pre(m+1) = m)
THMprim_rec_eqn 'a:S, x:'af:('a'a).
(n:. prim_rec_fun(x,f,0,n) = x)
& (m,n:. prim_rec_fun(x,f,m+1,n) = f(prim_rec_fun(x,f,m,pre(n)),n))
THMprim_rec_thm 'a:S, x:'af:('a'a).
prim_rec(x,f,0) = x & (m:. prim_rec(x,f,m+1) = f(prim_rec(x,f,m),m))
THMnum_axiom 'a:S, e:'af:('a'a).
(fn1:('a). fn1(0) = e & (n:fn1(n+1) = f(fn1(n),n)))
& (fn1,y:('a).
& (fn1(0) = e & (n:fn1(n+1) = f(fn1(n),n))
& (y(0) = e
& (& (n:y(n+1) = f(y(n),n))
& (
& (fn1 = y)
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

Origin Definitions Sections HOLlib Doc