| | Some definitions of interest. |
|
| d-sub | Def D1 D2 == i:Id. M(i) M(i) |
|
| dsys | Def Dsys == Id MsgA |
| | | Thm* Dsys Type{i'} |
|
| possible-world | Def PossibleWorld(D;w)
Def == FairFifo
Def == & ( i,x:Id. vartype(i;x) r M(i).ds(x))
Def == & & ( i:Id, a:Action(i).
Def == & & ( isnull(a)  (valtype(i;a) r M(i).da(kind(a))))
Def == & & ( l:IdLnk, tg:Id. (w.M(l,tg)) r M(source(l)).da(rcv(l; tg)))
Def == & & ( i,x:Id. M(i).init(x,s(i;0).x))
Def == & & ( i:Id, t: .
Def == & & ( isnull(a(i;t))
Def == & & (
Def == & & (( islocal(kind(a(i;t)))
Def == & & ((
Def == & & ((M(i).pre(act(kind(a(i;t))), x.s(i;t).x,val(a(i;t))))
Def == & & (& ( x:Id.
Def == & & (& (M(i).ef(kind(a(i;t)),x, x.s(i;t).x,val(a(i;t)),s(i;t+1).x))
Def == & & (& ( l:IdLnk.
Def == & & (& (M(i).send(kind(a(i;t));l; x.
Def == & & (& (s(i;t).x;val(a(i;t));withlnk(l;m(i;t));i))
Def == & & (& ( x:Id.
Def == & & (& ( M(i).frame(kind(a(i;t)) affects x)
Def == & & (& (
Def == & & (& (s(i;t).x = s(i;t+1).x M(i).ds(x))
Def == & & (& ( l:IdLnk, tg:Id.
Def == & & (& ( M(i).sframe(kind(a(i;t)) sends <l,tg>)
Def == & & (& (
Def == & & (& (w-tagged(tg; onlnk(l;m(i;t))) = nil Msg List))
Def == & & ( i,a:Id, t: .
Def == & & ( t': .
Def == & & (t t'
Def == & & (&  isnull(a(i;t')) & kind(a(i;t')) = locl(a)
Def == & & (& a declared in M(i)
Def == & & (& unsolvable M(i).pre(a, x.s(i;t').x)) |
|
| ma-ef | Def M.ef(k,x,s,v,w)
Def == E != 1of(2of(2of(2of(2of(M)))))(<k,x>) ==> w = E(s,v) M.ds(x) |
|
| ma-send | Def M.send(k;l;s;v;ms;i)
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> ms
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> =
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> if source(l) = i
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> if concat(map( tgf.
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> if map( x.
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> if <1of(tgf),x>;2of(tgf)
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> if <1of(tgf),x>;(s
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> if <1of(tgf),x>;,v));L))
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> else nil fi
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> (tg:Id
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> ( if source(l) = i
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> ( if M.da(rcv(l; tg))
Def == L != 1of(2of(2of(2of(2of(2of(M))))))(<k,l>) ==> ( else Top fi) List |
|
| w-action | Def Action(i) == action(w-action-dec(w.TA;w.M;i)) |
|
| world | Def World
Def == T:Id Id Type
Def == TA:Id Id Type
Def == M:IdLnk Id Type
Def == (i:Id    (x:Id T(i,x))) (i:Id    action(w-action-dec(TA;M;i)))
Def == (i:Id    ({m:Msg(M)| source(mlnk(m)) = i } List)) Top |
| | | Thm* World Type{i'} |
|
| Knd | Def Knd == (IdLnk Id)+Id |
| | | Thm* Knd Type |
|
| 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-da | Def M.da(a) == 1of(2of(M))(a)?Top |
|
| ma-decla | Def a declared in M == locl(a) dom(1of(2of(M))) |
|
| ma-frame | Def M.frame(k affects x)
Def == L != 1of(2of(2of(2of(2of(2of(2of(M)))))))(x) ==> deq-member(KindDeq;k;L) |
|
| ma-sframe | Def M.sframe(k sends <l,tg>)
Def == L != 1of(2of(2of(2of(2of(2of(2of(2of(
Def == L != 1of(M))))))))(<l,tg>) ==> deq-member(KindDeq;k;L) |
|
| w-Msg | Def Msg == Msg(w.M) |
|
| IdLnk | Def IdLnk == Id Id  |
| | | Thm* IdLnk Type |
|
| w-onlnk | Def onlnk(l;mss) == filter( ms.mlnk(ms) = l;mss) |
|
| w-withlnk | Def withlnk(l;mss) == mapfilter( ms.2of(ms); ms.mlnk(ms) = l;mss) |
|
| Id | Def Id == Atom  |
| | | Thm* Id Type |
|
| w-valtype | Def valtype(i;a) == kindcase(kind(a);a.w.TA(i,a);l,tg.w.M(l,tg)) |
|
| actof | Def act(k) == outr(k) |
| | | Thm* k:Knd. islocal(k)  act(k) Id |
|
| ma-ds | Def M.ds(x) == 1of(M)(x)?Top |
|
| ma-init | Def M.init(x,v) == x0 != 1of(2of(2of(M)))(x) ==> v = x0 1of(M)(x)?Void |
|
| ma-pre | Def M.pre(a,s,v) == P != 1of(2of(2of(2of(M))))(a) ==> P(s,v) |
|
| w-tagged | Def w-tagged(tg; mss) == filter( ms.mtag(ms) = tg;mss) |
|
| assert | Def b == if b True else False fi |
| | | Thm* b: . b Prop |
|
| d-m | Def M(i) == D(i) |
|
| islocal | Def islocal(k) ==  isl(k) |
| | | Thm* k:Knd. islocal(k)  |
|
| nat | Def == {i: | 0 i } |
| | | Thm* Type |
|
| le | Def A B == B<A |
| | | Thm* i,j: . (i j) Prop |
|
| locl | Def locl(a) == inr(a) |
| | | Thm* a:Id. locl(a) Knd |
|
| lsrc | Def source(l) == 1of(l) |
| | | Thm* l:IdLnk. source(l) Id |
|
| not | Def A == A  False |
| | | Thm* A:Prop. ( A) Prop |
|
| rcv | Def rcv(l; tg) == inl(<l,tg>) |
| | | Thm* l:IdLnk, tg:Id. rcv(l; tg) Knd |
|
| w-M | Def w.M == 1of(2of(2of(w))) |
|
| w-a | Def a(i;t) == 1of(2of(2of(2of(2of(w)))))(i,t) |
|
| w-isnull | Def isnull(a) == isl(a) |
|
| w-kind | Def kind(a) == 1of(outr(a)) |
|
| w-m | Def m(i;t) == 1of(2of(2of(2of(2of(2of(w))))))(i,t) |
|
| w-s | Def s(i;t).x == 1of(2of(2of(2of(w))))(i,t,x) |
|
| w-val | Def val(a) == 2of(outr(a)) |
|
| w-vartype | Def vartype(i;x) == w.T(i,x) |