Step * 1 of Lemma bind-class-program_wf


1. Info Type
2. Type
3. Type
4. valueall-type(B)
5. EClass(A)
6. A ─→ EClass(B)
7. 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. A ─→ Id ─→ hdataflow(Info;B)@i'
10. ∀es:EO+(Info). ∀e:E. ∀a:A.  (Y[a](e) (snd(G loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))@i'
11. es EO+(Info)@i'
12. E@i
⊢ ∪e'∈≤loc(e).∪a∈X(e').Y[a](e) (snd(F loc(e) >>= λx.(G 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 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. Type
3. Type
4. valueall-type(B)
5. EClass(A)
6. A ─→ EClass(B)
7. 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. A ─→ Id ─→ hdataflow(Info;B)@i'
10. ∀es:EO+(Info). ∀e:E. ∀a:A.  (Y[a](e) (snd(G loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))@i'
11. es EO+(Info)@i'
12. 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 loc(e)*(map(λx.info(x);filter(λa.e' ≤loc a;before(e))))(info(e)))
∈ bag(B)

2
1. Info Type
2. Type
3. Type
4. valueall-type(B)
5. EClass(A)
6. A ─→ EClass(B)
7. 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. A ─→ Id ─→ hdataflow(Info;B)@i'
10. ∀es:EO+(Info). ∀e:E. ∀a:A.  (Y[a](e) (snd(G loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))@i'
11. es EO+(Info)@i'
12. E@i
⊢ ∪e'∈≤loc(e).∪a∈snd(F loc(e)*(map(λx.info(x);before(e')))(info(e'))).
              snd(G loc(e)*(map(λx.info(x);filter(λa.e' ≤loc a;before(e))))(info(e)))
(snd(F loc(e) >>= λx.(G 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