| append |
Def as @ bs == Case of as; nil bs ; a.as' a.(as' @ bs) (recursive)
Thm* T:Type, as,bs:T*. (as @ bs) T*
|
| biject |
Def Bij(A; B; f) == Inj(A; B; f) & Surj(A; B; f)
Thm* A,B:Type, f:(A B). Bij(A; B; f) Prop
|
| ge |
Def i j == j i
Thm* i,j: . i j Prop
|
| int_seg |
Def {i..j } == {k: | i k < j }
Thm* m,n: . {m..n } Type
|
| length |
Def ||as|| == Case of as; nil 0 ; a.as' ||as'||+1 (recursive)
Thm* A:Type, l:A*. ||l||
Thm* ||nil|| 
|
| nat_plus |
Def  == {i: | 0 < i }
Thm*  Type
|
| surject |
Def Surj(A; B; f) == b:B. a:A. f(a) = b
Thm* A,B:Type, f:(A B). Surj(A; B; f) Prop
|
| 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
|
| lelt |
Def i j < k == i j & j < k
|
| le |
Def A B == B < A
Thm* i,j: . i j Prop
|
| not |
Def A == A  False
Thm* A:Prop. ( A) Prop
|