|  | Some definitions of interest. | 
|  | 
| assert | Def  b == if b  True else False fi | 
 | |  | Thm*  b:  . b  Prop | 
|  | 
| sfa_doc_factorial | Def x! == if x=  0  1 else x  (x-1)! fi  (recursive) | 
 | |  | Thm*  x:  . x!    | 
|  | 
| sfa_doc_factorial2 | Def x!  == if x=  0  1 else x  (x-2)!  fi  (recursive) | 
 | |  | Thm*  x:{x:  | (x rem 2) = 0 }. x!      | 
|  | 
| sfa_doc_ntuple | Def A^n == if n=  0  Unit ; n=  1  A else A  (A^(n-1)) fi  (recursive) | 
 | |  | Thm*  A:Type, n:  . (A^n)  Type | 
|  | 
| eq_int | Def i=  j == if i=j  true  ; false  fi | 
 | |  | Thm*  i,j:  . (i=  j)    | 
|  | 
| sfa_doc_ntuple_contains | Def  u in X: A^n. P(u) Def == n = 1
    & P(X)  n  2 & (X/a,rest. P(a)  (  u in rest: A^(n-1). P(u))) Def (recursive)
 | 
 | |  | Thm*  A:Type, P:(A   Prop), n:  , X:(A^n). (  u in X: A^n. P(u))  Prop | 
|  | 
| ge | Def i  j == j  i | 
 | |  | Thm*  i,j:  . (i  j)  Prop | 
|  | 
| kleene_minimize | Def mu(f) == if f(0)  0 else 1+mu(  x.f(1+x)) fi  (recursive) | 
 | |  | Thm* mu  {f:(     )|  x:  . f(x) }    | 
|  | 
| nat | Def  == {i:  | 0  i } | 
 | |  | Thm*    Type | 
|  | 
| not | Def  A == A   False | 
 | |  | Thm*  A:Prop. (  A)  Prop |