|   | Some definitions of interest. | 
 | 
| iff | Def P    Q == (P    Q) & (P    Q) | 
 | |   | Thm*  A,B:Prop. (A    B)   Prop | 
 | 
| int_seg | Def {i..j } == {k: | i   k < j } | 
 | |   | Thm*  m,n: . {m..n }   Type | 
 | 
| last | Def last(L) == L[(||L||-1)] | 
 | |   | Thm*  T:Type, L:T List.  null(L)    last(L)   T | 
 | 
| length | Def ||as|| == Case of as; nil   0 ; a.as'   ||as'||+1  (recursive) | 
 | |   | Thm*  A:Type, l:A List. ||l||     | 
 | |   | Thm* ||nil||     | 
 | 
| not | Def  A == A    False | 
 | |   | Thm*  A:Prop. ( A)   Prop | 
 | 
| rel_exp | Def R^n == if n= 0   x,y. x = y   T else  x,y.  z:T. (x R z) & (z R^n-1 y) fi
 Def (recursive) | 
 | |   | Thm*  n: , T:Type, R:(T  T  Prop). R^n   T  T  Prop | 
 | 
| select | Def l[i] == hd(nth_tl(i;l)) | 
 | |   | Thm*  A:Type, l:A List, n: . 0 n    n<||l||    l[n]   A |