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

At: local deliver switchable 5

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)

asyncR(E) preserves tr.P(p.tr delivered at p)

By:
Unfolds [`preserved_by`;`R_async`] 0
THEN
Reduce 0
THEN
Subst ((p.y delivered at p) = (p.x delivered at p)) 0
THEN
Ext
THEN
Reduce 0
THEN
Unfold `deliveries_at` 0


Generated subgoal:

16. 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
filter(e.is-send(E)(e)loc(E)(e) = x1;y) = filter(e.is-send(E)(e)loc(E)(e) = x1;x)


About:
listassertlambdaapplyfunctionequalpropimpliesallexists

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