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


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 a*(map(λx.info(x);before(||L||)))(info(||L||)))) ∈ bag(Interface)
⊢ v2 (snd(P loc(||L||)*(map(λx.info(x);before(||L||)))(info(||L||)))) ∈ bag(Interface)
BY
((Assert ||L|| ∈ BY
          (BLemma `list-eo-E` THEN Auto))
   THEN (RWO "list-eo-info-before" THENA Auto)
   THEN (RWO "list-eo-loc list-eo-info" THENA Auto)
   THEN (RWO "length-append" 0⋅ THENA Auto)
   THEN Reduce 0
   THEN (Subst' ||L|| <||L|| tt THENA Auto)
   THEN Reduce 0) }

1
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 a*(map(λx.info(x);before(||L||)))(info(||L||)))) ∈ bag(Interface)
15. ||L|| ∈ E
⊢ v2 (snd(P a*(firstn(||L||;L [m]))(L [m][||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  a*(map(\mlambda{}x.info(x);before(||L||)))(info(||L||))))
\mvdash{}  v2  =  (snd(P  loc(||L||)*(map(\mlambda{}x.info(x);before(||L||)))(info(||L||))))


By


Latex:
((Assert  ||L||  \mmember{}  E  BY
                (BLemma  `list-eo-E`  THEN  Auto))
  THEN  (RWO  "list-eo-info-before"  0  THENA  Auto)
  THEN  (RWO  "list-eo-loc  list-eo-info"  0  THENA  Auto)
  THEN  (RWO  "length-append"  0\mcdot{}  THENA  Auto)
  THEN  Reduce  0
  THEN  (Subst'  ||L||  <z  ||L||  +  1  \msim{}  tt  0  THENA  Auto)
  THEN  Reduce  0)




Home Index