At: no dup fusion 1 1 1 2 1
1. E: TaggedEventStruct
2. tr: |E| List
3.
m:Label. No-dup-deliver(E)( < tr > _m)
4.
i,j:
||tr||. (tr[i] =msg=(E) tr[j]) 
tag(E)(tr[i]) = tag(E)(tr[j])
5. x: |E|
6. y: |E|
7.
is-send(E)(x)
8.
is-send(E)(y)
9. y =msg=(E) x
10. loc(E)(x) = loc(E)(y)
11.
x1,y:|E|.
is-send(E)(x1) 
is-send(E)(y) 
(y =msg=(E) x1) 
loc(E)(x1) = loc(E)(y) 
sublist(|E|;[x1; y]; < tr > _tag(E)(x))
12. f:
2

||tr||
13. increasing(f;2)
14.
j:
2. [x; y][j] = tr[(f(j))]
15. x1: |E|
16. x1 = y
17. x = tr[(f(0))]
18. y = tr[(f(1))]
tr[(f(0))] =msg=(E) tr[(f(1))]
By:
SubstFor tr[(f(0))] 0
THEN
SubstFor tr[(f(1))] 0
THEN
Inst
Thm*
E:EventStruct. EquivRel(|E|)(_1 =msg=(E) _2)
[E]
THEN
UseEquiv
Generated subgoals:None
About: