|  | Who Cites select? | 
|  | 
| select | Def l[i] == hd(nth_tl(i;l)) | 
 | |  | Thm*  A:Type, l:A List, n:  . 0  n   n<||l||   l[n]  A | 
|  | 
| nth_tl | Def nth_tl(n;as) == if n   0  as else nth_tl(n-1;tl(as)) fi  (recursive) | 
 | |  | Thm*  A:Type, as:A List, i:  . nth_tl(i;as)  A List | 
|  | 
| hd | Def hd(l) == Case of l; nil  "?" ; h.t  h | 
 | |  | Thm*  A:Type, l:A List. ||l||  1   hd(l)  A | 
|  | 
| tl | Def tl(l) == Case of l; nil  nil ; h.t  t | 
 | |  | Thm*  A:Type, l:A List. tl(l)  A List | 
|  | 
| le_int | Def i   j ==   j<  i | 
 | |  | Thm*  i,j:  . (i   j)    | 
|  | 
| lt_int | Def i<  j == if i<j  true  ; false  fi | 
 | |  | Thm*  i,j:  . (i<  j)    | 
|  | 
| bnot | Def   b == if b  false  else true  fi | 
 | |  | Thm*  b:  .   b    |