Thm* all
Thm* ( P:hnum  hbool. implies
Thm* ( P:hnum  hbool. (and(P(0),all( n:hnum. implies(P(n),P(suc(n)))))
Thm* ( P:hnum  hbool. ,all( n:hnum. P(n)))) | [hinduction] |
Thm* all( m:hnum. all( n:hnum. implies(equal(suc(m),suc(n)),equal(m,n)))) | [hinv_suc] |
Thm* all( n:hnum. not(equal(suc(n),0))) | [hnot_suc] |
Thm* all( m:hnum. equal(suc(m),abs_num(suc_rep(rep_num(m))))) | [hsuc_def] |
Thm* equal(0,abs_num(zero_rep)) | [hzero_def] |
Thm* and
Thm* (all( a:hnum. equal(abs_num(rep_num(a)),a))
Thm* ,all( r:hind. equal(is_num_rep(r),equal(rep_num(abs_num(r)),r)))) | [hnum_iso_def] |
Thm* exists( rep:hnum  hind. type_definition(is_num_rep,rep)) | [hnum_ty_def] |
Thm* abs_num (hind  hnum) | [habs_num_wf] |