Step
*
of Lemma
eclass3-program_wf
∀[Info,B,C:Type].
  ∀[X:EClass(B ⟶ C)]. ∀[Y:EClass(B)]. ∀[Xpr:LocalClass(X)]. ∀[Ypr:LocalClass(Y)].
    (eclass3-program(Xpr;Ypr) ∈ LocalClass(eclass3(X;Y))) 
  supposing valueall-type(C)
BY
{ (Auto
   THEN D -1
   THEN D (-3)
   THEN Unfold `eclass3-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 ⟶ C)
6. Y : EClass(B)
7. F : Id ⟶ hdataflow(Info;B ⟶ C)
8. ∀es:EO+(Info). ∀e:E.  (X(e) = (snd(F loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B ⟶ 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
⊢ eclass3(X;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{}  C)].  \mforall{}[Y:EClass(B)].  \mforall{}[Xpr:LocalClass(X)].  \mforall{}[Ypr:LocalClass(Y)].
        (eclass3-program(Xpr;Ypr)  \mmember{}  LocalClass(eclass3(X;Y))) 
    supposing  valueall-type(C)
By
Latex:
(Auto
  THEN  D  -1
  THEN  D  (-3)
  THEN  Unfold  `eclass3-program`  0
  THEN  MemTypeCD
  THEN  Auto
  THEN  RenameVar  `F'  (-6)
  THEN  RenameVar  `G'  (-4))
Home
Index