| Some definitions of interest. |
|
compose_iter | Def f{ i}(x) == if i= 0 x else f(f{ i-1}(x)) fi (recursive) |
| | Thm* f:(A A), i: . f{ i} A A |
|
inject | Def Inj(A; B; f) == a1,a2:A. f(a1) = f(a2) B  a1 = a2 |
| | Thm* A,B:Type, f:(A B). Inj(A; B; f) Prop |
|
int_seg | Def {i..j } == {k: | i k < j } |
| | Thm* m,n: . {m..n } Type |
|
iter_via_intseg | Def Iter(f;u) i:{a..b }. e(i)
Def == if a< b f(Iter(f;u) i:{a..b-1 }. e(i),e(b-1)) else u fi
Def (recursive) |
| | Thm* f:(A A A), u:A, a,b: , e:({a..b } A). (Iter(f;u) i:{a..b }. e(i)) A |
|
nat | Def == {i: | 0 i } |
| | Thm* Type |
|
nat_plus | Def  == {i: | 0<i } |
| | Thm*  Type |