Thm* 'a:S. equal(nil,abs_list(pair(( n:hnum. select( e:'a. t)),0))) | [hnil_def] |
Thm* 'a:S.
Thm* and
Thm* (all( a:hlist('a). equal(abs_list(rep_list(a)),a))
Thm* ,all
Thm* ,( r:hprod((hnum  'a); hnum). equal
Thm* ,( r:hprod((hnum  'a); hnum). (is_list_rep(r)
Thm* ,( r:hprod((hnum  'a); hnum). ,equal(rep_list(abs_list(r)),r)))) | [hlist_iso_def] |
Thm* 'a:S.
Thm* exists
Thm* ( rep:hlist('a)  hprod((hnum  'a); hnum). type_definition
Thm* ( rep:hlist('a)  hprod((hnum  'a); hnum). (is_list_rep
Thm* ( rep:hlist('a)  hprod((hnum  'a); hnum). ,rep)) | [hlist_ty_def] |
Thm* 'a:S. el (hnum  hlist('a)  'a) | [hel_wf] |
Thm* 'a:S. hd (hlist('a)  'a) | [hhd_wf] |