At: local deliver switchable 5 1 1 2 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. (
x
f(p).(
y
g(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. 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
(filter(
e.
is-send(E)(e)
loc(E)(e) =
x1;x)[(i+1)]
filter(
e.
is-send(E)(e)
loc(E)
(e) =
x1;x))
By:
Unfold `l_member` 0
THEN
InstConcl [i+1]
Generated subgoals:None
About: