| 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'} |
|
ring-leader1 | Def ring-leader1(loc;R;uid;out;in)
Def == if R(loc)
Def == if [ (send-once(loc; ; ;"send-me"; x.x;"vote";out(loc);"me"));
Def == if [ (trigger1(loc; ; ; x,y. x= y;loc;rcv
Def == if [((in(loc)); "vote");"leader";"me"));
Def == if [ (Dconstant(loc; ;uid(loc);"me";loc));
Def == if [ma-single-sends1( ;
Def == if [ma-single-sends1( ;
Def == if [ma-single-sends1( ;
Def == if [ma-single-sends1("me";
Def == if [ma-single-sends1(rcv((in(loc)); "vote");
Def == if [ma-single-sends1((out(loc));
Def == if [ma-single-sends1("vote";
Def == if [ma-single-sends1(( a,b. if a< b [b] else nil fi));
Def == if [only [rcv((in(loc)); "vote");
Def == if [only [locl("send-me")] sends on (out(loc) with "vote")]
Def == else nil fi |
|
ma-join-list | Def (L) == reduce( A,B. A B;;L) |
|
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)) |
|
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 |
|
fair-fifo | Def FairFifo
Def == ( i:Id, t: , l:IdLnk. source(l) = i  onlnk(l;m(i;t)) = nil Msg List)
Def == & ( i:Id, t: .
Def == & ( isnull(a(i;t))
Def == & (
Def == & (( x:Id. s(i;t+1).x = s(i;t).x vartype(i;x))
Def == & (& m(i;t) = nil Msg List)
Def == & ( i:Id, t: , l:IdLnk.
Def == & ( isrcv(l;a(i;t))
Def == & (
Def == & (destination(l) = i
Def == & (& ||queue(l;t)|| 1 & hd(queue(l;t)) = msg(a(i;t)) Msg)
Def == & ( l:IdLnk, t: .
Def == & ( t': .
Def == & (t t' & isrcv(l;a(destination(l);t')) queue(l;t') = nil Msg List) |
|
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 |
|
alle-at | Def e@i.P(e) == e:E. loc(e) = i Id  P(e) |
|
existse-at | Def e@i.P(e) == e:E. loc(e) = i Id & P(e) |
|
rset | Def |R| == {i:Id| (R(i)) } |
| | Thm* R:(Id  ). |R| Type |
|
w-es | Def ES(the_w;p)
Def == <E
Def == ,product-deq(Id; ;IdDeq;NatDeq)
Def == ,( i,x. vartype(i;x))
Def == ,( i,a. V(i;locl(a)))
Def == ,the_w.M
Def == ,
Def == ,( e.loc(e))
Def == ,( e.kind(e))
Def == ,( e.val(e))
Def == ,( x,e. (x when e))
Def == ,( x,e. (x after e))
Def == ,( l,e. sends(l;e))
Def == ,( e.sender(e))
Def == ,( e.index(e))
Def == ,( e.first(e))
Def == ,( e.pred(e))
Def == ,( e,e'. e <c e')
Def == ,world_DASH_event_DASH_system{1:l, i:l}(the_w,p)
Def == , > |
|
Id | Def Id == Atom  |
| | Thm* Id Type |
|
es-kind | Def kind(e) == 1of(2of(2of(2of(2of(2of(2of(2of(es))))))))(e) |
|
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_all | Def ( x L.P(x)) == x:T. (x L)  P(x) |
| | Thm* T:Type, L:T List, P:(T Prop). ( x L.P(x)) Prop |
|
l_exists | Def ( x L.P(x)) == x:T. (x L) & P(x) |
| | Thm* T:Type, L:T List, P:(T Prop). ( x L.P(x)) Prop |
|
l_member | Def (x l) == i: . i<||l|| & x = l[i] T |
| | Thm* T:Type, x:T, l:T List. (x l) Prop |
|
nat | Def == {i: | 0 i } |
| | Thm* Type |
|
le | Def A B == B<A |
| | Thm* i,j: . (i j) Prop |
|
length | Def ||as|| == Case of as; nil 0 ; a.as' ||as'||+1 (recursive) |
| | Thm* A:Type, l:A List. ||l||  |
| | Thm* ||nil||  |
|
locl | Def locl(a) == inr(a) |
| | Thm* a:Id. locl(a) Knd |
|
mkid | Def x_n == <x,n> |
| | Thm* x:Atom, n: . x_n Id |