Step * 1 2 of Lemma sequence-class-program_wf


1. Info Type
2. Type
3. Type
4. xpr Id ─→ hdataflow(Info;A)
5. ypr Id ─→ hdataflow(Info;B)
6. zpr Id ─→ hdataflow(Info;A)
7. valueall-type(A)
8. es EO+(Info)@i'
9. E@i
10. hdataflow(Info;A)@i
11. (xpr loc(e)) v ∈ hdataflow(Info;A)@i
12. v1 hdataflow(Info;B)@i
13. (ypr loc(e)) v1 ∈ hdataflow(Info;B)@i
14. v2 hdataflow(Info;A)@i
15. (zpr loc(e)) v2 ∈ hdataflow(Info;A)@i
16. ∀e':E
      (e' ≤loc 
       (¬↑(bag-null(snd(xpr loc(e')*(map(λx.info(x);before(e')))(info(e'))))
         ∧b bbag-null(snd(ypr loc(e')*(map(λx.info(x);before(e')))(info(e'))))))))@i
⊢ (snd(v*(map(λx.info(x);before(e)))(info(e))))
(snd(hdf-sequence(v;v1;v2)*(map(λx.info(x);before(e)))(info(e))))
∈ bag(A)
BY
((Assert ∀e'':E
             (e'' ≤loc 
              (¬↑(bag-null(snd(v*(map(λx.info(x);before(e'')))(info(e''))))
                ∧b bbag-null(snd(v1*(map(λx.info(x);before(e'')))(info(e'')))))))) BY
          (RepeatFor (ParallelLast) THEN NthHypEq (-1) THEN EqCD THEN Auto))
   THEN ThinVar `xpr'
   THEN ThinVar `ypr'
   THEN ThinVar `zpr'
   THEN (RenameVar `xpr' (-4) THEN RenameVar `ypr' (-3) THEN RenameVar `zpr' (-2))
   THEN RepUR ``hdf-sequence`` 0) }

1
1. Info Type
2. Type
3. Type
4. valueall-type(A)
5. es EO+(Info)@i'
6. E@i
7. xpr hdataflow(Info;A)@i
8. ypr hdataflow(Info;B)@i
9. zpr hdataflow(Info;A)@i
10. ∀e'':E
      (e'' ≤loc 
       (¬↑(bag-null(snd(xpr*(map(λx.info(x);before(e'')))(info(e''))))
         ∧b bbag-null(snd(ypr*(map(λx.info(x);before(e'')))(info(e''))))))))
⊢ (snd(xpr*(map(λx.info(x);before(e)))(info(e))))
(snd(mk-hdf(S,a.case S
   of inl(XY) =>
   let X,Y XY 
   in let X',bx X(a) 
      in let Y',by Y(a) 
         in if bag-null(bx) ∧b bbag-null(by)) then let Z',bz zpr(a) in <inr Z' bz> else <inl <X', Y'>bx> fi 
   inr(Z) =>
   let Z',b Z(a) 
   in <inr Z' b>;S.case of inl(XY) => ff inr(Z) => hdf-halted(Z);inl <xpr, ypr>)*(map(λx.info(x);before(e)))(info(\000Ce))))
∈ bag(A)


Latex:



Latex:

1.  Info  :  Type
2.  A  :  Type
3.  B  :  Type
4.  xpr  :  Id  {}\mrightarrow{}  hdataflow(Info;A)
5.  ypr  :  Id  {}\mrightarrow{}  hdataflow(Info;B)
6.  zpr  :  Id  {}\mrightarrow{}  hdataflow(Info;A)
7.  valueall-type(A)
8.  es  :  EO+(Info)@i'
9.  e  :  E@i
10.  v  :  hdataflow(Info;A)@i
11.  (xpr  loc(e))  =  v@i
12.  v1  :  hdataflow(Info;B)@i
13.  (ypr  loc(e))  =  v1@i
14.  v2  :  hdataflow(Info;A)@i
15.  (zpr  loc(e))  =  v2@i
16.  \mforall{}e':E
            (e'  \mleq{}loc  e 
            {}\mRightarrow{}  (\mneg{}\muparrow{}(bag-null(snd(xpr  loc(e')*(map(\mlambda{}x.info(x);before(e')))(info(e'))))
                  \mwedge{}\msubb{}  (\mneg{}\msubb{}bag-null(snd(ypr  loc(e')*(map(\mlambda{}x.info(x);before(e')))(info(e'))))))))@i
\mvdash{}  (snd(v*(map(\mlambda{}x.info(x);before(e)))(info(e))))
=  (snd(hdf-sequence(v;v1;v2)*(map(\mlambda{}x.info(x);before(e)))(info(e))))


By


Latex:
((Assert  \mforall{}e'':E
                      (e''  \mleq{}loc  e 
                      {}\mRightarrow{}  (\mneg{}\muparrow{}(bag-null(snd(v*(map(\mlambda{}x.info(x);before(e'')))(info(e''))))
                            \mwedge{}\msubb{}  (\mneg{}\msubb{}bag-null(snd(v1*(map(\mlambda{}x.info(x);before(e'')))(info(e''))))))))  BY
                (RepeatFor  2  (ParallelLast)  THEN  NthHypEq  (-1)  THEN  EqCD  THEN  Auto))
  THEN  ThinVar  `xpr'
  THEN  ThinVar  `ypr'
  THEN  ThinVar  `zpr'
  THEN  (RenameVar  `xpr'  (-4)  THEN  RenameVar  `ypr'  (-3)  THEN  RenameVar  `zpr'  (-2))
  THEN  RepUR  ``hdf-sequence``  0)




Home Index