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

At: local deliver switchable 5 1 1

1. E: EventStruct
2. P: (Label(|E| List))Prop
3. f,g:(Label(|E| List)). (p:Label. g(p) f(p)) P(f) P(g)
4. f,g:(Label(|E| List)). (a:|E|. p:Label. g(p) = filter(b.(b =msg=(E) a);f(p))) P(f) P(g)
5. f,g,h:(Label(|E| List)). (p,q:Label. (xf(p).(yg(q).(x =msg=(E) y)))) (p:Label. h(p) = ((f(p)) @ (g(p)))) P(f) P(g) P(h)
6. x: |E| List
7. y: |E| List
8. P(p.x delivered at p)
9. x swap adjacent[loc(E)(x) = loc(E)(y) & is-send(E)(x) & is-send(E)(y) is-send(E)(x) & is-send(E)(y)] y
10. x1: Label
11. filter(e.is-send(E)(e)loc(E)(e) = x1;x) swap adjacent[loc(E)(x) = loc(E)(y) & is-send(E)(x) & is-send(E)(y) is-send(E)(x) & is-send(E)(y)] filter(e.is-send(E)(e)loc(E)(e) = x1;y)

filter(e.is-send(E)(e)loc(E)(e) = x1;y) = filter(e.is-send(E)(e)loc(E)(e) = x1;x)

By:
Unfold `swap_adjacent` -1
THEN
Reduce -1
THEN
ExRepD
THEN
Analyze -3
THEN
Inst Thm* P:(T), L:T List. (xfilter(P;L).P(x)) [|E|;e.is-send(E)(e)loc(E)(e) = x1;x]
THEN
Unfold `l_all` -1
THEN
Reduce -1
THEN
RW assert_pushdownC -1
THEN
Transitivity x1


Generated subgoals:

111. i: (||filter(e.is-send(E)(e)loc(E)(e) = x1;x)||-1)
12. is-send(E)(filter(e.is-send(E)(e)loc(E)(e) = x1;x)[i]) & is-send(E)(filter(e.is-send(E)(e)loc(E)(e) = x1;x)[(i+1)]) is-send(E)(filter(e.is-send(E)(e)loc(E)(e) = x1;x)[i]) & is-send(E)(filter(e.is-send(E)(e)loc(E)(e) = x1;x)[(i+1)])
13. filter(e.is-send(E)(e)loc(E)(e) = x1;y) = swap(filter(e.is-send(E)(e)loc(E)(e) = x1;x);i;i+1)
14. x@0:|E|. (x@0 filter(e.is-send(E)(e)loc(E)(e) = x1;x)) is-send(E)(x@0) & loc(E)(x@0) = x1
loc(E)(filter(e.is-send(E)(e)loc(E)(e) = x1;x)[i]) = x1
211. i: (||filter(e.is-send(E)(e)loc(E)(e) = x1;x)||-1)
12. is-send(E)(filter(e.is-send(E)(e)loc(E)(e) = x1;x)[i]) & is-send(E)(filter(e.is-send(E)(e)loc(E)(e) = x1;x)[(i+1)]) is-send(E)(filter(e.is-send(E)(e)loc(E)(e) = x1;x)[i]) & is-send(E)(filter(e.is-send(E)(e)loc(E)(e) = x1;x)[(i+1)])
13. filter(e.is-send(E)(e)loc(E)(e) = x1;y) = swap(filter(e.is-send(E)(e)loc(E)(e) = x1;x);i;i+1)
14. x@0:|E|. (x@0 filter(e.is-send(E)(e)loc(E)(e) = x1;x)) is-send(E)(x@0) & loc(E)(x@0) = x1
15. loc(E)(filter(e.is-send(E)(e)loc(E)(e) = x1;x)[i]) = x1
x1 = loc(E)(filter(e.is-send(E)(e)loc(E)(e) = x1;x)[(i+1)])


About:
listassertnatural_numberaddlambdaapplyfunction
equalpropimpliesandorall
exists

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