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* exists( rep:hnum  hind. type_definition(is_num_rep,rep)) | [hnum_ty_def] |
Thm* all
Thm* ( m:hind. equal
Thm* ( m:hind. (is_num_rep(m)
Thm* ( m:hind. ,all
Thm* ( m:hind. ,( P:hind  hbool. implies
Thm* ( m:hind. ,( P:hind  hbool. (and
Thm* ( m:hind. ,( P:hind  hbool. ((P(zero_rep)
Thm* ( m:hind. ,( P:hind  hbool. (,all( n:hind. implies(P(n),P(suc_rep(n)))))
Thm* ( m:hind. ,( P:hind  hbool. ,P(m))))) | [his_num_rep_wd] |
Thm* equal(suc_rep,select( f:hind  hind. and(one_one(f),not(onto(f))))) | [hsuc_rep_def] |
Thm* abs_num (hind  hnum) | [habs_num_wf] |