| Some definitions of interest. |
|
d-realizes | Def D
Def realizes es.P(es)
Def == D':Dsys.
Def == D D'  ( w:World, p:FairFifo. PossibleWorld(D';w)  P(ES(w))) |
|
d-sub | Def D1 D2 == i:Id. M(i) M(i) |
|
dsys | Def Dsys == Id MsgA |
| | Thm* Dsys Type{i'} |
|
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'} |
|
Knd | Def Knd == (IdLnk Id)+Id |
| | Thm* Knd Type |
|
es-locl | Def (e <loc e') == loc(e) = loc(e') Id & (e < e') |
|
ma-state | Def State(ds) == x:Id ds(x)?Top |
|
Id | Def Id == Atom  |
| | Thm* Id Type |
|
m-sys-at | Def @i: A(j) == if j = i A else fi |
|
id-deq | Def IdDeq == product-deq(Atom; ;AtomDeq;NatDeq) |
|
assert | Def b == if b True else False fi |
| | Thm* b: . b Prop |
|
es-E | Def E == 1of(es) |
|
es-after | Def (x after e)
Def == 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(es)))))))))))(x,e) |
|
es-first | Def first(e)
Def == 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(
Def == 1of(es)))))))))))))))
Def == (e) |
|
es-valtype | Def valtype(e) == if isrcv(e) rcvtype(e) else acttype(e) fi |
|
es-kind | Def kind(e) == 1of(2of(2of(2of(2of(2of(2of(2of(es))))))))(e) |
|
es-loc | Def loc(e) == 1of(2of(2of(2of(2of(2of(2of(es)))))))(e) |
|
es-val | Def val(e) == 1of(2of(2of(2of(2of(2of(2of(2of(2of(es)))))))))(e) |
|
es-vartype | Def vartype(i;x) == 1of(2of(2of(es)))(i,x) |
|
es-when | Def (x when e) == 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(es))))))))))(x,e) |
|
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)) |
|
ma-single-init | Def x : t initially x = v == mk-ma(x : t; ; x : v; ; ; ; ; ) |
|
ma-single-pre1 | Def ma-single-pre1(x;A;a;T;y,v.P(y;v))
Def == (with ds: x : A
Def == (action a:T
Def == (precondition a(v) is
Def == ( s,v. P(s(x);v) s v) |
|
ma-single-pre-init1 | Def ma-single-pre-init1(x;T;c;a;T';y,v.P(y;v))
Def == (with ds: x : T
Def == (init: x : c
Def == action a:T'
Def == aprecondition a(v) is
Def == a s,v. P(s(x);v)) |
|
ma-single-pre-init | Def (with ds: ds
Def (init: init
Def action a:T
Def aprecondition a(v) is
Def aP)
Def == mk-ma(ds; locl(a) : T; init; a : P; ; ; ; ) |
|
fpf-single | Def x : v == <[x], x.v> |
|
iff | Def P  Q == (P  Q) & (P  Q) |
| | Thm* A,B:Prop. (A  B) Prop |
|
locl | Def locl(a) == inr(a) |
| | Thm* a:Id. locl(a) Knd |
|
not | Def A == A  False |
| | Thm* A:Prop. ( A) Prop |