| Some definitions of interest. |
|
event_system | Def ES
Def == E:Type
Def == EqDecider(E) (T:Id Id Type
Def == EqDecider(E) ( V:Id Id Type
Def == EqDecider(E) ( M:IdLnk Id Type
Def == EqDecider(E) ( Top (loc:E Id
Def == EqDecider(E) ( Top ( kind:E Knd
Def == EqDecider(E) ( Top ( val:(e:E eventtype(kind;loc;V;M;e))
Def == EqDecider(E) ( Top ( when:(x:Id e:E T(loc(e),x))
Def == EqDecider(E) ( Top ( after:(x:Id e:E T(loc(e),x))
Def == EqDecider(E) ( Top ( sends:(l:IdLnk E (Msg_sub(l; M) List))
Def == EqDecider(E) ( Top ( sender:{e:E| isrcv(kind(e)) } E
Def == EqDecider(E) ( Top ( index:(e:{e:E| isrcv(kind(e)) }  ||sends
Def == EqDecider(E) ( Top ( index:(e:{e:E| isrcv(kind(e)) }  ||(lnk(kind(e))
Def == EqDecider(E) ( Top ( index:(e:{e:E| isrcv(kind(e)) }  ||,sender(e))||)
Def == EqDecider(E) ( Top ( first:E 
Def == EqDecider(E) ( Top ( pred:{e':E|  (first(e')) } E
Def == EqDecider(E) ( Top ( causl:E E Prop
Def == EqDecider(E) ( Top ( ESAxioms{i:l}
Def == EqDecider(E) ( Top ( ESAxioms(E;
Def == EqDecider(E) ( Top ( ESAxioms(T;
Def == EqDecider(E) ( Top ( ESAxioms(M;
Def == EqDecider(E) ( Top ( ESAxioms(loc;
Def == EqDecider(E) ( Top ( ESAxioms(kind;
Def == EqDecider(E) ( Top ( ESAxioms(val;
Def == EqDecider(E) ( Top ( ESAxioms(when;
Def == EqDecider(E) ( Top ( ESAxioms(after;
Def == EqDecider(E) ( Top ( ESAxioms(sends;
Def == EqDecider(E) ( Top ( ESAxioms(sender;
Def == EqDecider(E) ( Top ( ESAxioms(index;
Def == EqDecider(E) ( Top ( ESAxioms(first;
Def == EqDecider(E) ( Top ( ESAxioms(pred;
Def == EqDecider(E) ( Top ( ESAxioms(causl)
Def == EqDecider(E) ( Top ( Top)) |
| | Thm* ES Type{i'} |
|
ESAxioms | Def ESAxioms{i:l}
Def ESAxioms(E;
Def ESAxioms(T;
Def ESAxioms(M;
Def ESAxioms(loc;
Def ESAxioms(kind;
Def ESAxioms(val;
Def ESAxioms(when;
Def ESAxioms(after;
Def ESAxioms(sends;
Def ESAxioms(sender;
Def ESAxioms(index;
Def ESAxioms(first;
Def ESAxioms(pred;
Def ESAxioms(causl)
Def == ( e,e':E. loc(e) = loc(e') Id  causl(e,e') e = e' causl(e',e))
Def == & ( e:E. (first(e))  ( e':E. loc(e') = loc(e) Id  causl(e',e)))
Def == & ( e:E.
Def == & ( (first(e))
Def == & (
Def == & (loc(pred(e)) = loc(e) Id & causl(pred(e),e)
Def == & (& ( e':E.
Def == & (& (loc(e') = loc(e) Id  (causl(pred(e),e') & causl(e',e))))
Def == & ( e:E.
Def == & ( (first(e))  ( x:Id. when(x,e) = after(x,pred(e)) T(loc(e),x)))
Def == & (Trans e,e':E. causl(e,e'))
Def == & SWellFounded(causl(e,e'))
Def == & ( e:E.
Def == & ( isrcv(kind(e))
Def == & (
Def == & ((sends(lnk(kind(e)),sender(e)))[(index(e))]
Def == & (=
Def == & (msg(lnk(kind(e));tag(kind(e));val(e))
Def == & ( Msg(M))
Def == & ( e:E. isrcv(kind(e))  causl(sender(e),e))
Def == & ( e,e':E.
Def == & (causl(e,e')
Def == & (
Def == & ( (first(e')) & causl(e,pred(e')) e = pred(e')
Def == & ( isrcv(kind(e')) & causl(e,sender(e')) e = sender(e'))
Def == & ( e:E. isrcv(kind(e))  loc(e) = destination(lnk(kind(e))))
Def == & ( e:E, l:IdLnk.
Def == & ( loc(e) = source(l)  sends(l,e) = nil Msg_sub(l; M) List)
Def == & ( e,e':E.
Def == & ( isrcv(kind(e))
Def == & (
Def == & ( isrcv(kind(e'))
Def == & (
Def == & (lnk(kind(e)) = lnk(kind(e'))
Def == & (
Def == & ((causl(e,e')
Def == & ((
Def == & ((causl(sender(e),sender(e'))
Def == & (( sender(e) = sender(e') E & index(e)<index(e')))
Def == & ( e:E, l:IdLnk, n: ||sends(l,e)||.
Def == & ( e':E.
Def == & ( isrcv(kind(e')) & lnk(kind(e')) = l & sender(e') = e & index(e') = n) |
| | Thm* E:Type{i}, T,V:(Id Id Type{i}), M:(IdLnk Id Type{i}), loc:(E Id),
Thm* kind:(E Knd), val:(e:E eventtype(kind;loc;V;M;e)),
Thm* when,after:(x:Id e:E T(loc(e),x)),
Thm* sends:(l:IdLnk E (Msg_sub(l; M) List)),
Thm* sender:({e:E| isrcv(kind(e)) } E),
Thm* index:(e:{e:E| isrcv(kind(e)) }  ||sends(lnk(kind(e)),sender(e))||),
Thm* first:(E  ), pred:({e':E| first(e') } E), causl:(E E Prop{i}).
Thm* ESAxioms{i:l}
Thm* ESAxioms(E;
Thm* ESAxioms(T;
Thm* ESAxioms(M;
Thm* ESAxioms(loc;
Thm* ESAxioms(kind;
Thm* ESAxioms(val;
Thm* ESAxioms(when;
Thm* ESAxioms(after;
Thm* ESAxioms(sends;
Thm* ESAxioms(sender;
Thm* ESAxioms(index;
Thm* ESAxioms(first;
Thm* ESAxioms(pred;
Thm* ESAxioms(causl)
Thm* Prop{i'} |
|
eventtype | Def eventtype(k;loc;V;M;e) == kindcase(k(e);a.V(loc(e),a);l,t.M(l,t)) |
| | Thm* E:Type, V:(Id Id Type), M:(IdLnk Id Type), loc:(E Id), k:(E Knd),
Thm* e:E. eventtype(k;loc;V;M;e) 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) |
|
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 == , > |
|
locl | Def locl(a) == inr(a) |
| | Thm* a:Id. locl(a) Knd |
|
w-causl | Def e <c e' == e e,e'. e <loc e' isrcv(kind(e')) & e = sender(e') E^+ e' |
|
w-E | Def E == {p:(Id )|  isnull(a(1of(p);2of(p))) } |
|
w-M | Def w.M == 1of(2of(2of(w))) |
|
w-V | Def V(i;k) == kindcase(k;a.1of(2of(w))(i,a);l,tg.1of(2of(2of(w)))(l,tg)) |
|
w-after | Def (x after e) == s(1of(e);2of(e)+1).x |
|
w-index | Def index(e)
Def == ||rcvs(lnk(kind(e));time(e))||-||snds(lnk(kind(e));time(sender(e)))|| |
|
w-sender | Def sender(e) == <source(lnk(kind(e))),mu( t.match(lnk(kind(e));t;time(e)))> |
|
w-ekind | Def kind(e) == kind(act(e)) |
|
w-eval | Def val(e) == val(act(e)) |
|
w-first | Def first(e)
Def == if time(e)= 0 true
Def == i; isnull(a(loc(e);time(e)-1)) first(<loc(e),time(e)-1>)
Def == else false fi
Def (recursive) |
|
w-pred | Def pred(e)
Def == if isnull(a(loc(e);time(e)-1)) pred(<loc(e),time(e)-1>)
Def == else <loc(e),time(e)-1> fi
Def (recursive) |
|
w-sends | Def sends(l;e) == onlnk(l;m(loc(e);time(e))) |
|
w-loc | Def loc(e) == 1of(e) |
|
w-vartype | Def vartype(i;x) == w.T(i,x) |
|
w-when | Def (x when e) == s(1of(e);2of(e)).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'} |