Step
*
of Lemma
eclass2-program_wf
∀[Info,B,C:Type].
  ∀[X:EClass(B ─→ bag(C))]. ∀[Y:EClass(B)]. ∀[Xpr:LocalClass(X)]. ∀[Ypr:LocalClass(Y)].
    (Xpr o Ypr ∈ LocalClass((X o Y))) 
  supposing valueall-type(C)
BY
{ (Auto
   THEN D -1
   THEN D (-3)
   THEN Unfold `eclass2-program` 0
   THEN MemTypeCD
   THEN Auto
   THEN RenameVar `F' (-6)
   THEN RenameVar `G' (-4)) }
1
1. Info : Type
2. B : Type
3. C : Type
4. valueall-type(C)
5. X : EClass(B ─→ bag(C))
6. Y : EClass(B)
7. F : Id ─→ hdataflow(Info;B ─→ bag(C))
8. ∀es:EO+(Info). ∀e:E.  (X(e) = (snd(F loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B ─→ bag(C)))
9. G : Id ─→ hdataflow(Info;B)
10. ∀es:EO+(Info). ∀e:E.  (Y(e) = (snd(G loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))
11. es : EO+(Info)@i'
12. e : E@i
⊢ (X o Y)(e) = (snd((λi.((F i) o (G i))) loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(C)
Latex:
Latex:
\mforall{}[Info,B,C:Type].
    \mforall{}[X:EClass(B  {}\mrightarrow{}  bag(C))].  \mforall{}[Y:EClass(B)].  \mforall{}[Xpr:LocalClass(X)].  \mforall{}[Ypr:LocalClass(Y)].
        (Xpr  o  Ypr  \mmember{}  LocalClass((X  o  Y))) 
    supposing  valueall-type(C)
By
Latex:
(Auto
  THEN  D  -1
  THEN  D  (-3)
  THEN  Unfold  `eclass2-program`  0
  THEN  MemTypeCD
  THEN  Auto
  THEN  RenameVar  `F'  (-6)
  THEN  RenameVar  `G'  (-4))
Home
Index