| Some definitions of interest. |
|
ma-decla | Def a declared in M == locl(a) dom(1of(2of(M))) |
|
ma-npre | Def unsolvable M.pre(a,s)
Def == P != 1of(2of(2of(2of(M))))(a) ==> v:M.da(locl(a)). P(s,v) |
|
ma-sub | Def M1 M2
Def == 1of(M1) 1of(M2) & 1of(2of(M1)) 1of(2of(M2))
Def == & 1of(2of(2of(M1))) 1of(2of(2of(M2)))
Def == & & 1of(2of(2of(2of(M1)))) 1of(2of(2of(2of(M2))))
Def == & & 1of(2of(2of(2of(2of(M1))))) 1of(2of(2of(2of(2of(M2)))))
Def == & & 1of(2of(2of(2of(2of(2of(M1)))))) 1of(2of(2of(2of(2of(2of(M2))))))
Def == & & 1of(2of(2of(2of(2of(2of(2of(M1))))))) 1of(2of(2of(2of(2of(2of(2of(
Def == & & 1of(2of(2of(2of(2of(2of(2of(M1))))))) 1of(M2)))))))
Def == & & 1of(2of(2of(2of(2of(2of(2of(2of(
Def == & & 1of(M1)))))))) 1of(2of(2of(2of(2of(2of(2of(2of(M2)))))))) |
|
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'} |
|
Kind-deq | Def KindDeq == union-deq(IdLnk Id;Id;product-deq(IdLnk;Id;IdLnkDeq;IdDeq);IdDeq) |
|
ma-st | Def M.state == State(1of(M)) |
|
Id | Def Id == Atom  |
| | Thm* Id Type |
|
fpf-cap | Def f(x)?z == if x dom(f) f(x) else z fi |
|
locl | Def locl(a) == inr(a) |
| | Thm* a:Id. locl(a) Knd |
|
top | Def Top == Void given Void |
| | Thm* Top Type |