(32steps) PrintForm Definitions Lemmas mb hybrid Sections GenAutomata Doc

At: strong switch inv decomposable 1 2 1 1 2 2 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1

1. E: TaggedEventStruct
2. tr: |E| List
3. ...
4. i:(||tr||-1). (is-send(E)(tr[i]) is-send(E)(tr[(i+1)]) (tr[i] =msg=(E) tr[(i+1)])) & ((x,y:||tr||. x < y & is-send(E)(tr[x]) & is-send(E)(tr[y]) & tr[x] delivered at time i+1 & tr[y] delivered at time i) loc(E)(tr[i]) = loc(E)(tr[(i+1)]))
5. i,j:||tr||. is-send(E)(tr[i]) is-send(E)(tr[j]) (tr[j] =msg=(E) tr[i]) loc(E)(tr[i]) = loc(E)(tr[j]) i = j
6. tr = nil
7. ls: ||tr||
8. is-send(E)(tr[ls])
9. ...
10. ...
11. EquivRel(|E|)(_1 =msg=(E) _2)
12. ...
13. d:
14. 0 < d
15. ...
16. i: ||tr||
17. j: ||tr||
18. d = j-i
19. i (switchR(tr)^*) ls
20. ij
21. is-send(E)(tr[i])
22. is-send(E)(tr[j])
23. ij-1
24. is-send(E)(tr[(j-1)])
25. k: ||tr||
26. k (switchR(tr)^*) ls
27. tr[k] =msg=(E) tr[(j-1)]
28. j@0: ||tr||
29. j@0j
30. is-send(E)(tr[j@0])
31. tr[j@0] =msg=(E) tr[j]
32. j@0 < k
33. k': ||tr||
34. tr[j@0] =msg=(E) tr[k']
35. is-send(E)(tr[k'])
36. loc(E)(tr[k']) = loc(E)(tr[(j-1)])
37. j-1k'

is-send(E)(tr[k])

By:
AllHyps (Unfold `hide`)
THEN
EasyHyp


Generated subgoals:

None


About:
listnilassertintnatural_numberaddsubtractless_thanapply
equalimpliesandallexists

(32steps) PrintForm Definitions Lemmas mb hybrid Sections GenAutomata Doc