| | Some definitions of interest. |
|
| habs_list | Def abs_list == r:(  'a) . @a:'a List. (r = rep_list('a;a)) |
| | | Thm* 'a:S. abs_list (hprod((hnum  'a); hnum)  hlist('a)) |
|
| choose | Def @x:T. P(x) == InjCase(lem({x:T| P(x) }); x. x, arb(T)) |
| | | Thm* T:S, P:(T Type). (@x:T. P(x)) T |
|
| hrep_list | Def rep_list == l:'a List. rep_list('a;l) |
| | | Thm* 'a:S. rep_list (hlist('a)  hprod((hnum  'a); hnum)) |
|
| nat | Def == {i: | 0 i } |
| | | Thm* Type |
| | | Thm* S |
|
| stype | Def S == {T:Type| x:T. True } |
| | | Thm* S Type{2} |