At: strong switch inv decomposable 1 2 1 1 2 1
1. E: TaggedEventStruct
2. tr: |E| List
3. Causal(E)(tr)
4. AD-normal(E)(tr)
5. No-dup-deliver(E)(tr)
6.
tr = nil
7. ls:
||tr||
8. is-send(E)(tr[ls])
9.
j:
||tr||. ls < j 
is-send(E)(tr[j])
10.
i:
||tr||. (i (switchR(tr)^*) ls) 
is-send(E)(tr[i])
11. EquivRel(|E|)(_1 =msg=(E) _2)
12.
i,j:
||tr||. i
j 
is-send(E)(tr[j]) 
(i (switchR(tr)^*) ls) 
(j (switchR(tr)^*) ls)
13. d: 
14. 0 < d
15.
i,j:
||tr||.
d-1 = j-i 
(i (switchR(tr)^*) ls) 
i
j 
(
k:
||tr||. (k (switchR(tr)^*) ls) & (tr[k] =msg=(E) tr[j]))
16. i:
||tr||
17. j:
||tr||
18. d = j-i
19. i (switchR(tr)^*) ls
20. i
j
21. is-send(E)(tr[i])
22. is-send(E)(tr[j])
k:
||tr||. (k (switchR(tr)^*) ls) & (tr[k] =msg=(E) tr[j])
By:
InstConcl [j]
THEN
EasyHyp
THEN
UseEquiv
Generated subgoals:None
About: