| 1 |
2. i:Id, t: , l:IdLnk. source(l) = i  onlnk(l;m(i;t)) = nil Msg List
3. ( i:Id, t: .
3. (isnull(a(i;t))
3. (
3. (( x:Id. s(i;t+1).x = s(i;t).x vartype(i;x)) & m(i;t) = nil Msg List)
3. & ( i:Id, t: , l:IdLnk.
3. & (isrcv(l;a(i;t))
3. & (
3. & (destination(l) = i
3. & (& ||queue(l;t)|| 1 & hd(queue(l;t)) = msg(a(i;t)) Msg)
3. & ( l:IdLnk, t: .
3. & ( t': .
3. & (t t' & isrcv(l;a(destination(l);t')) queue(l;t') = nil Msg List)
4. e,e':E. loc(e) = loc(e') Id  e <c e' e = e' e' <c e
5. e:E. first(e)  ( e':E. loc(e') = loc(e) Id  e' <c e)
6. e:E.
6. first(e)
6. 
6. loc(pred(e)) = loc(e) Id & pred(e) <c e
6. & ( e':E. loc(e') = loc(e) Id  (pred(e) <c e' & e' <c e))
7. e:E.
7. first(e)  ( x:Id. (x when e) = (x after pred(e)) vartype(loc(e);x))
8. Trans e,e':E. e <c e'
9. SWellFounded(e <c e')
10. e:E.
10. isrcv(kind(e))
10. 
10. sends(lnk(kind(e));sender(e))[index(e)]
10. =
10. msg(lnk(kind(e));tag(kind(e));val(e))
10. Msg(the_w.M)
11. e:E. isrcv(kind(e))  sender(e) <c e
12. e,e':E.
12. e <c e'
12. 
12. first(e') & e <c pred(e') e = pred(e') E
12. isrcv(kind(e')) & e <c sender(e') e = sender(e') E
13. e:E. isrcv(kind(e))  loc(e) = destination(lnk(kind(e)))
14. e:E, l:IdLnk.
14. loc(e) = source(l)  sends(l;e) = nil Msg_sub(l; the_w.M) List
15. e,e':E.
15. isrcv(kind(e))
15. 
15. isrcv(kind(e'))
15. 
15. lnk(kind(e)) = lnk(kind(e'))
15. 
15. (e <c e'
15. (
15. (sender(e) <c sender(e') sender(e) = sender(e') E & index(e)<index(e'))
16. m: , l:IdLnk, t: . m ||snds(l;t)||  ( t': . t t' & m ||rcvs(l;t')||)
17. e : E
18. l : IdLnk
19. ||onlnk(l;m(loc(e);time(e)))||
20. time(e)+1 = 0
21. source(l) = loc(e)
22. onlnk(l;m(loc(e);time(e))) = nil Msg List
source(l) = loc(e)
 | 1 step |