Thm* the_w:World, i:Id, a:Action(i), l:IdLnk. isrcv(l;a)  msg(a) Msg | [w-msg_wf] |
Thm* the_w:World, l:IdLnk, i:Id, a:Action(i).
Thm* isrcv(l;a)  isnull(a) & isrcv(kind(a)) & lnk(kind(a)) = l | [assert-w-isrcvl] |
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) | [fair-fifo] |
Def rcvs(l;t) == filter( a.isrcv(l;a);map( t1.a(destination(l);t1);upto(t))) | [w-rcvs] |