Step * 1 2 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∈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)
BY
(ThinVar `Y' THEN ThinVar `X' THEN (GenApply THENA Auto) THEN ThinVar `F' THEN RenameVar `X' (-1)) }

1
1. Info Type
2. Type
3. Type
4. valueall-type(B)
5. A ─→ Id ─→ hdataflow(Info;B)@i'
6. es EO+(Info)@i'
7. E@i
8. hdataflow(Info;A)@i
⊢ ∪e'∈≤loc(e).∪a∈snd(X*(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(X >>= λ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{}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)))
=  (snd(F  loc(e)  >>=  \mlambda{}x.(G  x  loc(e))*(map(\mlambda{}x.info(x);before(e)))(info(e))))


By


Latex:
(ThinVar  `Y'  THEN  ThinVar  `X'  THEN  (GenApply  5  THENA  Auto)  THEN  ThinVar  `F'  THEN  RenameVar  `X'  (-1))




Home Index