| Some definitions of interest. |
|
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 |
|
compose_flips | Def compose_flips(L) == compose_list(map( i.(i, i+1);L)) |
| | Thm* k: , L: (k-1) List. compose_flips(L) k  k |
|
compose_list | Def compose_list(L) == reduce( p,q. p o q; x.x;L) |
| | Thm* T:Type, L:(T T) List. compose_list(L) T T |
|
compose | Def (f o g)(x) == f(g(x)) |
| | Thm* A,B,C:Type, f:(B C), g:(A B). f o g A C |
|
flip | Def (i, j)(x) == if x= i j ; x= j i else x fi |
| | Thm* k: , i,j: k. (i, j) k  k |
|
int_seg | Def {i..j } == {k: | i k < j } |
| | Thm* m,n: . {m..n } Type |
|
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 |