| Some definitions of interest. |
|
dsys | Def Dsys == Id MsgA |
| | Thm* Dsys Type{i'} |
|
ma-decla | Def a declared in M == locl(a) dom(1of(2of(M))) |
|
msga | Def MsgA
Def == ds:x:Id fp-> Type
Def == da:a:Knd fp-> Type
Def == x:Id fp-> ds(x)?Void a:Id fp-> State(ds) ma-valtype(da; locl(a)) Prop
Def == kx:Knd Id fp-> State(ds) ma-valtype(da; 1of(kx)) ds(2of(kx))?Void
Def == kl:Knd IdLnk fp-> (tg:Id
Def == kl:Knd IdLnk fp-> ( State(ds) ma-valtype(da; 1of(kl))
Def == kl:Knd IdLnk fp-> ((da(rcv(2of(kl); tg))?Void List)) List
Def == x:Id fp-> Knd List ltg:IdLnk Id fp-> Knd List Top |
| | Thm* MsgA Type{i'} |
|
ma-valtype | Def ma-valtype(da; k) == da(k)?Top |
|
Kind-deq | Def KindDeq == union-deq(IdLnk Id;Id;product-deq(IdLnk;Id;IdLnkDeq;IdDeq);IdDeq) |
|
Knd | Def Knd == (IdLnk Id)+Id |
| | Thm* Knd Type |
|
IdLnk | Def IdLnk == Id Id  |
| | Thm* IdLnk Type |
|
ma-state | Def State(ds) == x:Id ds(x)?Top |
|
Id | Def Id == Atom  |
| | Thm* Id Type |
|
id-deq | Def IdDeq == product-deq(Atom; ;AtomDeq;NatDeq) |
|
assert | Def b == if b True else False fi |
| | Thm* b: . b Prop |
|
d-m | Def M(i) == D(i) |
|
decidable | Def Dec(P) == P P |
| | Thm* A:Prop. Dec(A) Prop |
|
fpf | Def a:A fp-> B(a) == d:A List a:{a:A| (a d) } B(a) |
| | Thm* A:Type, B:(A Type). a:A fp-> B(a) Type |
|
fpf-cap | Def f(x)?z == if x dom(f) f(x) else z fi |
|
fpf-dom | Def x dom(f) == deq-member(eq;x;1of(f)) |
|
locl | Def locl(a) == inr(a) |
| | Thm* a:Id. locl(a) Knd |
|
pi1 | Def 1of(t) == t.1 |
| | Thm* A:Type, B:(A Type), p:(a:A B(a)). 1of(p) A |
|
pi2 | Def 2of(t) == t.2 |
| | Thm* A:Type, B:(A Type), p:(a:A B(a)). 2of(p) B(1of(p)) |
|
rcv | Def rcv(l; tg) == inl(<l,tg>) |
| | Thm* l:IdLnk, tg:Id. rcv(l; tg) Knd |
|
top | Def Top == Void given Void |
| | Thm* Top Type |