| Some definitions of interest. |
|
his_pair | Def is_pair == p:'a 'b  .  x:'a.  y:'b. (p = (mk_pair(x,y))) |
| | Thm* 'a,'b:S. is_pair (('a  'b  hbool)  hbool) |
|
assert | Def b == if b True else False fi |
| | Thm* b: . b Prop |
|
hbool | Def hbool ==  |
| | Thm* hbool S |
|
hrep_prod | Def rep_prod == p:'a 'b. mk_pair(1of(p),2of(p)) |
| | Thm* 'a,'b:S. rep_prod (hprod('a; 'b)  'a  'b  hbool) |
|
hmk_pair | Def mk_pair == x:'a. y:'b. a:'a. b:'b. (a = x) (b = y) |
| | Thm* 'a,'b:S. mk_pair ('a  'b  'a  'b  hbool) |
|
hprod | Def hprod('a; 'b) == 'a 'b |
| | Thm* 'a,'b:S. hprod('a; 'b) S |
|
pi1 | Def 1of(t) == t.1 |
| | Thm* A:Type, B:(A Type), p:(a:A B(a)). 1of(p) A |
|
pi2 | Def 2of(t) == t.2 |
| | Thm* A:Type, B:(A Type), p:(a:A B(a)). 2of(p) B(1of(p)) |
|
stype | Def S == {T:Type| x:T. True } |
| | Thm* S Type{2} |