Step
*
1
of Lemma
bind-class-program_wf
1. Info : Type
2. A : Type
3. B : Type
4. valueall-type(B)
5. X : EClass(A)
6. Y : A ─→ EClass(B)
7. F : Id ─→ hdataflow(Info;A)
8. ∀es:EO+(Info). ∀e:E.  (X(e) = (snd(F loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(A))
9. G : A ─→ Id ─→ hdataflow(Info;B)@i'
10. ∀es:EO+(Info). ∀e:E. ∀a:A.  (Y[a](e) = (snd(G a loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))@i'
11. es : EO+(Info)@i'
12. e : E@i
⊢ ∪e'∈≤loc(e).∪a∈X(e').Y[a](e) = (snd(F loc(e) >>= λx.(G x loc(e))*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B)
BY
{ (Subst ⌈∪e'∈≤loc(e).∪a∈X(e').Y[a](e)
          = ∪e'∈≤loc(e).∪a∈snd(F loc(e)*(map(λx.info(x);before(e')))(info(e'))).
                        snd(G a loc(e)*(map(λx.info(x);filter(λa.e' ≤loc a;before(e))))(info(e)))
          ∈ bag(B)⌉ 0⋅
   THENA Auto
   ) }
1
.....equality..... 
1. Info : Type
2. A : Type
3. B : Type
4. valueall-type(B)
5. X : EClass(A)
6. Y : A ─→ EClass(B)
7. F : Id ─→ hdataflow(Info;A)
8. ∀es:EO+(Info). ∀e:E.  (X(e) = (snd(F loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(A))
9. G : A ─→ Id ─→ hdataflow(Info;B)@i'
10. ∀es:EO+(Info). ∀e:E. ∀a:A.  (Y[a](e) = (snd(G a loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))@i'
11. es : EO+(Info)@i'
12. e : E@i
⊢ ∪e'∈≤loc(e).∪a∈X(e').Y[a](e)
= ∪e'∈≤loc(e).∪a∈snd(F loc(e)*(map(λx.info(x);before(e')))(info(e'))).
              snd(G a loc(e)*(map(λx.info(x);filter(λa.e' ≤loc a;before(e))))(info(e)))
∈ bag(B)
2
1. Info : Type
2. A : Type
3. B : Type
4. valueall-type(B)
5. X : EClass(A)
6. Y : A ─→ EClass(B)
7. F : Id ─→ hdataflow(Info;A)
8. ∀es:EO+(Info). ∀e:E.  (X(e) = (snd(F loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(A))
9. G : A ─→ Id ─→ hdataflow(Info;B)@i'
10. ∀es:EO+(Info). ∀e:E. ∀a:A.  (Y[a](e) = (snd(G a loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))@i'
11. es : EO+(Info)@i'
12. e : E@i
⊢ ∪e'∈≤loc(e).∪a∈snd(F loc(e)*(map(λx.info(x);before(e')))(info(e'))).
              snd(G a loc(e)*(map(λx.info(x);filter(λa.e' ≤loc a;before(e))))(info(e)))
= (snd(F loc(e) >>= λx.(G x loc(e))*(map(λx.info(x);before(e)))(info(e))))
∈ bag(B)
Latex:
Latex:
1.  Info  :  Type
2.  A  :  Type
3.  B  :  Type
4.  valueall-type(B)
5.  X  :  EClass(A)
6.  Y  :  A  {}\mrightarrow{}  EClass(B)
7.  F  :  Id  {}\mrightarrow{}  hdataflow(Info;A)
8.  \mforall{}es:EO+(Info).  \mforall{}e:E.    (X(e)  =  (snd(F  loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e)))))
9.  G  :  A  {}\mrightarrow{}  Id  {}\mrightarrow{}  hdataflow(Info;B)@i'
10.  \mforall{}es:EO+(Info).  \mforall{}e:E.  \mforall{}a:A.
            (Y[a](e)  =  (snd(G  a  loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e)))))@i'
11.  es  :  EO+(Info)@i'
12.  e  :  E@i
\mvdash{}  \mcup{}e'\mmember{}\mleq{}loc(e).\mcup{}a\mmember{}X(e').Y[a](e)
=  (snd(F  loc(e)  >>=  \mlambda{}x.(G  x  loc(e))*(map(\mlambda{}x.info(x);before(e)))(info(e))))
By
Latex:
(Subst  \mkleeneopen{}\mcup{}e'\mmember{}\mleq{}loc(e).\mcup{}a\mmember{}X(e').Y[a](e)
                =  \mcup{}e'\mmember{}\mleq{}loc(e).\mcup{}a\mmember{}snd(F  loc(e)*(map(\mlambda{}x.info(x);before(e')))(info(e'))).
                                            snd(G  a  loc(e)*(map(\mlambda{}x.info(x);filter(\mlambda{}a.e'  \mleq{}loc  a;before(e))))(info(e)))\mkleeneclose{}  0\mcdot{}
  THENA  Auto
  )
Home
Index