Step * 1 2 1 1 1 of Lemma bind-class-program_wf


1. Info Type
2. Type
3. Type
4. valueall-type(B)
5. es EO+(Info)@i'
6. E@i
7. hdataflow(Info;A)@i
8. A ─→ hdataflow(Info;B)@i
⊢ ∪e'∈≤loc(e).∪a∈snd(X*(map(λx.info(x);before(e')))(info(e'))).snd(Y 
                                                                   a*(map(λx.info(x);filter(λa.e' ≤loc a;
                                                                                            before(e))))(info(e)))
(snd(simple-hdf-bind(X;λx.(Y x))*(map(λx.info(x);before(e)))(info(e))))
∈ bag(B)
BY
Assert ⌈∀e:E
            (simple-hdf-bind(X;λx.(Y x))*(map(λx.info(x);before(e)))
            mk-hdf(p,a.simple-bind-nxt(λx.(Y x); p; a);p.let X,ys 
                                                           in ff;<X*(map(λx.info(x);before(e)))
                                                                 , ∪e'∈before(e).
                                                                   bag-map(λa.Y a*(map(λx.info(x);filter(λa.e' ≤loc a;
                                                                                                         before(e))));
                                                                   snd(X*(map(λx.info(x);before(e')))(info(e'))))
                                                                 >)
            ∈ hdataflow(Info;B))⌉⋅ }

1
.....assertion..... 
1. Info Type
2. Type
3. Type
4. valueall-type(B)
5. es EO+(Info)@i'
6. E@i
7. hdataflow(Info;A)@i
8. A ─→ hdataflow(Info;B)@i
⊢ ∀e:E
    (simple-hdf-bind(X;λx.(Y x))*(map(λx.info(x);before(e)))
    mk-hdf(p,a.simple-bind-nxt(λx.(Y x); p; a);p.let X,ys 
                                                   in ff;<X*(map(λx.info(x);before(e)))
                                                         , ∪e'∈before(e).
                                                           bag-map(λa.Y a*(map(λx.info(x);filter(λa.e' ≤loc a;
                                                                                                 before(e))));
                                                           snd(X*(map(λx.info(x);before(e')))(info(e'))))
                                                         >)
    ∈ hdataflow(Info;B))

2
1. Info Type
2. Type
3. Type
4. valueall-type(B)
5. es EO+(Info)@i'
6. E@i
7. hdataflow(Info;A)@i
8. A ─→ hdataflow(Info;B)@i
9. ∀e:E
     (simple-hdf-bind(X;λx.(Y x))*(map(λx.info(x);before(e)))
     mk-hdf(p,a.simple-bind-nxt(λx.(Y x); p; a);p.let X,ys 
                                                    in ff;<X*(map(λx.info(x);before(e)))
                                                          , ∪e'∈before(e).
                                                            bag-map(λa.Y a*(map(λx.info(x);filter(λa.e' ≤loc a;
                                                                                                  before(e))));
                                                            snd(X*(map(λx.info(x);before(e')))(info(e'))))
                                                          >)
     ∈ hdataflow(Info;B))
⊢ ∪e'∈≤loc(e).∪a∈snd(X*(map(λx.info(x);before(e')))(info(e'))).snd(Y 
                                                                   a*(map(λx.info(x);filter(λa.e' ≤loc a;
                                                                                            before(e))))(info(e)))
(snd(simple-hdf-bind(X;λx.(Y x))*(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.  es  :  EO+(Info)@i'
6.  e  :  E@i
7.  X  :  hdataflow(Info;A)@i
8.  Y  :  A  {}\mrightarrow{}  hdataflow(Info;B)@i
\mvdash{}  \mcup{}e'\mmember{}\mleq{}loc(e).\mcup{}a\mmember{}snd(X*(map(\mlambda{}x.info(x);before(e')))(info(e'))).
                            snd(Y  a*(map(\mlambda{}x.info(x);filter(\mlambda{}a.e'  \mleq{}loc  a;before(e))))(info(e)))
=  (snd(simple-hdf-bind(X;\mlambda{}x.(Y  x))*(map(\mlambda{}x.info(x);before(e)))(info(e))))


By


Latex:
Assert  \mkleeneopen{}\mforall{}e:E
                    (simple-hdf-bind(X;\mlambda{}x.(Y  x))*(map(\mlambda{}x.info(x);before(e)))
                    =  mk-hdf(p,a.simple-bind-nxt(\mlambda{}x.(Y  x);  p;  a
                                                                              );p.let  X,ys  =  p 
                                                                                      in  ff;<X*(map(\mlambda{}x.info(x);before(e)))
                                                                                                  ,  \mcup{}e'\mmember{}before(e).
                                                                                                      bag-map(\mlambda{}a.Y  a*(map(\mlambda{}x.info(x);
                                                                                                                                              filter(\mlambda{}a.e'  \mleq{}loc  a;
                                                                                                                                                            before(e))));
                                                                                                      snd(X*(map(\mlambda{}x.info(x);before(e')))(info(e'))))
                                                                                                  >))\mkleeneclose{}\mcdot{}




Home Index