| Who Cites iso pair? |
|
iso_pair | Def iso_pair('a;'b;P;rep;abs)
Def == ( r:'b. abs(r) = (@a:'a. (r = rep(a)))) & type_definition('b;'a;P;rep) |
| | Thm* 'a,'b:S, P:('b  ), rep:('a 'b), abs:('b 'a).
Thm* iso_pair('a;'b;P;rep;abs) Prop |
|
type_definition | Def type_definition('a;'b;P;rep)
Def == ( x',x'':'b. rep(x') = rep(x'') 'a  x' = x'')
Def == & ( x:'a. (P(x))  ( x':'b. x = rep(x'))) |
| | Thm* 'a,'b:Type, P:('a  ), rep:('b 'a). type_definition('a;'b;P;rep) Prop |
|
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 |
|
assert | Def b == if b True else False fi |
| | Thm* b: . b Prop |
|
iff | Def P  Q == (P  Q) & (P  Q) |
| | Thm* A,B:Prop. (A  B) Prop |
|
arb | Def arb(T) == InjCase(lem(T); x. x, "uu") |
| | Thm* T:S. arb(T) T |
|
rev_implies | Def P  Q == Q  P |
| | Thm* A,B:Prop. (A  B) Prop |