Step * 1 1 1 of Lemma local-class-only-headers


1. [f] Name ─→ Type
2. [hdrs] Name List
3. [X] EClass(Interface)
4. ∀es:EO+(Message(f)). ∀e:E. ∀mi:Interface.  (mi ↓∈ X(e)  (msg-header(mi.msg) ∈ hdrs))@i'
5. LocalClass(X)@i'
6. Id@i
7. Message(f) List@i
8. Message(f) ─→ (hdataflow(Message(f);Interface) × bag(Interface))@i
9. a*(L) hdf-run(x) ∈ hdataflow(Message(f);Interface)@i
10. Message(f)@i
11. v1 hdataflow(Message(f);Interface)@i
12. v2 bag(Interface)@i
13. hdf-run(x)(m) = <v1, v2> ∈ (hdataflow(Message(f);Interface) × bag(Interface))@i
14. X(||L||) (snd(P loc(||L||)*(map(λx.info(x);before(||L||)))(info(||L||)))) ∈ bag(Interface)
15. ∀mi:Interface. (mi ↓∈ X(||L||)  (msg-header(mi.msg) ∈ hdrs))
⊢ ∀mi:Interface. (mi ↓∈ v2  (msg-header(mi.msg) ∈ hdrs))
BY
((Subst ⌈X(||L||) v2 ∈ bag(Interface)⌉ (-1)⋅ THENM Trivial) THEN Try ((NthHypEq (-2) THEN EqCD)) THEN Auto) }

1
.....subterm..... T:t
3:n
1. Name ─→ Type
2. hdrs Name List
3. EClass(Interface)
4. ∀es:EO+(Message(f)). ∀e:E. ∀mi:Interface.  (mi ↓∈ X(e)  (msg-header(mi.msg) ∈ hdrs))@i'
5. LocalClass(X)@i'
6. Id@i
7. Message(f) List@i
8. Message(f) ─→ (hdataflow(Message(f);Interface) × bag(Interface))@i
9. a*(L) hdf-run(x) ∈ hdataflow(Message(f);Interface)@i
10. Message(f)@i
11. v1 hdataflow(Message(f);Interface)@i
12. v2 bag(Interface)@i
13. hdf-run(x)(m) = <v1, v2> ∈ (hdataflow(Message(f);Interface) × bag(Interface))@i
14. X(||L||) (snd(P loc(||L||)*(map(λx.info(x);before(||L||)))(info(||L||)))) ∈ bag(Interface)
15. ∀mi:Interface. (mi ↓∈ X(||L||)  (msg-header(mi.msg) ∈ hdrs))
⊢ v2 (snd(P loc(||L||)*(map(λx.info(x);before(||L||)))(info(||L||)))) ∈ bag(Interface)


Latex:



Latex:

1.  [f]  :  Name  {}\mrightarrow{}  Type
2.  [hdrs]  :  Name  List
3.  [X]  :  EClass(Interface)
4.  \mforall{}es:EO+(Message(f)).  \mforall{}e:E.  \mforall{}mi:Interface.    (mi  \mdownarrow{}\mmember{}  X(e)  {}\mRightarrow{}  (msg-header(mi.msg)  \mmember{}  hdrs))@i'
5.  P  :  LocalClass(X)@i'
6.  a  :  Id@i
7.  L  :  Message(f)  List@i
8.  x  :  Message(f)  {}\mrightarrow{}  (hdataflow(Message(f);Interface)  \mtimes{}  bag(Interface))@i
9.  P  a*(L)  =  hdf-run(x)@i
10.  m  :  Message(f)@i
11.  v1  :  hdataflow(Message(f);Interface)@i
12.  v2  :  bag(Interface)@i
13.  hdf-run(x)(m)  =  <v1,  v2>@i
14.  X(||L||)  =  (snd(P  loc(||L||)*(map(\mlambda{}x.info(x);before(||L||)))(info(||L||))))
15.  \mforall{}mi:Interface.  (mi  \mdownarrow{}\mmember{}  X(||L||)  {}\mRightarrow{}  (msg-header(mi.msg)  \mmember{}  hdrs))
\mvdash{}  \mforall{}mi:Interface.  (mi  \mdownarrow{}\mmember{}  v2  {}\mRightarrow{}  (msg-header(mi.msg)  \mmember{}  hdrs))


By


Latex:
((Subst  \mkleeneopen{}X(||L||)  =  v2\mkleeneclose{}  (-1)\mcdot{}  THENM  Trivial)  THEN  Try  ((NthHypEq  (-2)  THEN  EqCD))  THEN  Auto)




Home Index