valuation |
Def (F under a)
== (letrec val f = case f:
x (a(x));
  p  val(p);
p  q val(p)  val(q);
p  q val(p)  val(q);
p   q val(p)   val(q); )
(F)
Thm* a:Assignment, F:Formula. (F under a)  
|
K_imp |
Def p   q == case p: 3 3 ; 3 case q: 3 3 ; 3 3 ; 3 3 ;; 3 q;
Thm* p,q: . p   q  
|
K_or |
Def p  q == case p: 3 q; 3 case q: 3 3 ; 3 3 ; 3 3 ;; 3 3 ;
Thm* p,q: . p  q  
|
K_and |
Def p  q == case p: 3 3 ; 3 case q: 3 3 ; 3 3 ; 3 3 ;; 3 q;
Thm* p,q: . p  q  
|
K_not |
Def  p == case p: 3 3 ; 3 3 ; 3 3 ;
Thm* p: .  p  
|
formula_case |
Def case F:
x varC(x);
  p1 notC(p1);
p2  p3 andC(p2;p3);
p4  p5 orC(p4;p5);
p6   p7 impC(p6;p7);
== InjCase(F; x. varC(x); F.
InjCase(F; p1. notC(p1); F.
InjCase(F; x. x/p2,p3.andC(p2;p3); F. InjCase(F; x. x/p4,p5.orC(p4;p5), x/p6,p7.impC(p6;p7)))))
|
letrec_body |
Def = b == b
|
letrec_arg |
Def x b(x) (x) == b(x)
|
letrec |
Def (letrec f b(f)) == b((letrec f b(f)) ) (recursive)
|
Three_1 |
Def 3 == inr(inl( ))
Thm* 3  
|
Three_2 |
Def 3 == inr(inr( ))
Thm* 3  
|
Three_case |
Def case x: 3 case0; 3 case1; 3 case2;
== InjCase(x; zero. case0; one_or_two. InjCase(one_or_two; one. case1; two. case2))
Thm* t:Type{i}, t':Type{j}, t'':Type{k}, c:t, c':t', c'':t''.
case 3 : 3 c; 3 c'; 3 c''; t
Thm* t:Type{i}, t':Type{j}, t'':Type{k}, c:t, c':t', c'':t''.
case 3 : 3 c'; 3 c''; 3 c; t''
Thm* t:Type{i}, t':Type{j}, t'':Type{k}, c:t, c':t', c'':t''.
case 3 : 3 c; 3 c'; 3 c''; t''
|
Three_0 |
Def 3 == inl( )
Thm* 3  
|