| Some definitions of interest. |
|
concat | Def concat(ll) == reduce( l,l'. l @ l';nil;ll) |
| | Thm* T:Type, ll:(T List) List. concat(ll) T List |
|
iseg | Def l1 l2 == l:T List. l2 = (l1 @ l) |
| | Thm* T:Type, l1,l2:T List. l1 l2 Prop |
|
upto | Def upto(n) == if n= 0 nil else upto(n-1) @ [(n-1)] fi (recursive) |
| | Thm* n: . upto(n) n 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 |
|
map | Def map(f;as) == Case of as; nil nil ; a.as' [(f(a)) / map(f;as')]
Def (recursive) |
| | Thm* A,B:Type, f:(A B), l:A List. map(f;l) B List |
| | Thm* A,B:Type, f:(A B), l:A List . map(f;l) B List |
|
nat | Def == {i: | 0 i } |
| | Thm* Type |