| Some definitions of interest. |
|
hhd | Def hd == l:'a List. if null(l) then arb('a) else head(l) fi |
| | Thm* 'a:S. hd (hlist('a)  'a) |
|
arb | Def arb(T) == InjCase(lem(T); x. x, "uu") |
| | Thm* T:S. arb(T) T |
|
bif | Def bif(b; bx.x(bx); by.y(by)) == if b x(*) else y( x.x) fi |
| | Thm* A:Type, b: , x:(b A), y:(( b) A). bif(b; bx.x(bx); by.y(by)) A |
|
head | Def head(l) == hd(l) |
| | Thm* 'a:Type, l:'a List. mt(l)  head(l) 'a |
|
mt | Def mt(l) == Case of l; nil True ; a.as' False |
| | Thm* 'a:Type{i}, l:'a List. mt(l) Prop{1} |
|
not | Def A == A  False |
| | Thm* A:Prop. ( A) Prop |
|
null | Def null(as) == Case of as; nil true ; a.as' false |
| | Thm* T:Type, as:T List. null(as)  |
| | Thm* null(nil)  |
|
stype | Def S == {T:Type| x:T. True } |
| | Thm* S Type{2} |