1 |
1. i : Id
2. k : Knd
3. l : IdLnk
4. ds : x:Id fp-> Type
5. da : a:Knd fp-> Type
6. f : (tg:Id State(ds) ma-valtype(da; k) (da(rcv(l; tg))?Void List)) List
7. source(l) = i
8. D' : Dsys
9. d-single-sends(i; ds; da; k; l; f) D'
10. w : World
11. p : FairFifo
12. PossibleWorld(D';w)
13. x:Id. vartype(i;x) r ds(x)?Top
14. e:E. loc(e) = i Id  (valtype(e) r ma-valtype(da; kind(e)))
15. e:E. isrcv(e)  lnk(e) = l  (valtype(e) r ma-valtype(da; kind(e)))
16. {m:Msg| source(mlnk(m)) = i } r Msg(( l,tg. da(rcv(l; tg))?Top))
17. e:E.
17. loc(e) = i Id
17. 
17. kind(e) = k Knd
17. 
17. sends(l;e)
17. =
17. tagged-messages(l; z.(z when e);val(e);f)
17. Msg(( l,tg. da(rcv(l; tg))?Top)) List
18. x:Id. vartype(i;x) r ds(x)?Top
19. e:E. loc(e) = i Id  (valtype(e) r ma-valtype(da; kind(e)))
20. e:E. isrcv(e)  lnk(e) = l  (valtype(e) r ma-valtype(da; kind(e)))
21. e : E
22. loc(e) = i Id
23. kind(e) = k Knd
24. valtype(e) r ma-valtype(da; kind(e))
25. sends(l;e)
25. =
25. tagged-messages(l; z.(z when e);val(e);f)
25. Msg(( l,tg. da(rcv(l; tg))?Top)) List
26. valtype(e) r ma-valtype(da; kind(e))
L:{e':E| isrcv(e') & lnk(e') = l } List.
( e':E. (e' L)  isrcv(e') & lnk(e') = l & sender(e') = e E)
& ( e1,e2:E. e1 before e2 L  (e1 <loc e2))
& map( e'.<tag(e'),val(e')>;L)
& =
& tagged-list-messages( z.(z when e);val(e);f)
& (tg:Id ma-valtype(da; rcv(l; tg))) List
 | 126 steps |