| Some definitions of interest. |
|
ring | Def ring(R;in;out)
Def == ( i:|R|.
Def == ( (R(source(in(i)))) & (R(destination(out(i))))
Def == (& source(out(i)) = i
Def == (& & destination(in(i)) = i
Def == (& & in(destination(out(i))) = out(i) IdLnk
Def == (& & out(source(in(i))) = in(i) IdLnk)
Def == & ( i,j:|R|. k: . x.destination(out(x))^k(i) = j Id)
Def == & |R| |
| | Thm* R:(Id  ), in,out:(|R| IdLnk). ring(R;in;out) Prop |
|
IdLnk | Def IdLnk == Id Id  |
| | Thm* IdLnk Type |
|
rset | Def |R| == {i:Id| (R(i)) } |
| | Thm* R:(Id  ). |R| Type |
|
Id | Def Id == Atom  |
| | Thm* Id Type |
|
assert | Def b == if b True else False fi |
| | Thm* b: . b 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 |
|
l_member | Def (x l) == i: . i<||l|| & x = l[i] T |
| | Thm* T:Type, x:T, l:T List. (x l) Prop |
|
length | Def ||as|| == Case of as; nil 0 ; a.as' ||as'||+1 (recursive) |
| | Thm* A:Type, l:A List. ||l||  |
| | Thm* ||nil||  |
|
nat | Def == {i: | 0 i } |
| | Thm* Type |