| Some definitions of interest. |
|
swap | Def swap(L;i;j) == (L o (i, j)) |
|
| Thm* T:Type, L:T List, i,j: ||L||. swap(L;i;j) T List |
|
append | Def as @ bs == Case of as; nil bs ; a.as' [a / (as' @ bs)] (recursive) |
|
| Thm* T:Type, as,bs:T List. (as @ bs) T List |
|
ge | Def i j == j i |
|
| Thm* i,j: . (i j) Prop |
|
select | Def l[i] == hd(nth_tl(i;l)) |
|
| Thm* A:Type, l:A List, n: . 0 n  n<||l||  l[n] A |
|
hd | Def hd(l) == Case of l; nil "?" ; h.t h |
|
| Thm* A:Type, l:A List. ||l|| 1  hd(l) A |
|
length | Def ||as|| == Case of as; nil 0 ; a.as' ||as'||+1 (recursive) |
|
| Thm* A:Type, l:A List. ||l||  |
|
| Thm* ||nil||  |
|
tl | Def tl(l) == Case of l; nil nil ; h.t t |
|
| Thm* A:Type, l:A List. tl(l) A List |