Step * 1 1 1 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@i
17. x ≤loc @i
18. ↑(bag-null(snd(v*(map(λx.info(x);before(x)))(info(x))))
b bbag-null(snd(v1*(map(λx.info(x);before(x)))(info(x))))))
19. ∀e'':E
      ((e'' <loc x)
       (¬↑(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(v2*(map(λx@0.info(x@0);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 x)
              (¬↑(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' (-7) THEN RenameVar `ypr' (-6) THEN RenameVar `zpr' (-5))
   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@i
11. x ≤loc @i
12. ↑(bag-null(snd(xpr*(map(λx.info(x);before(x)))(info(x))))
b bbag-null(snd(ypr*(map(λx.info(x);before(x)))(info(x))))))
13. ∀e'':E
      ((e'' <loc x)
       (¬↑(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(zpr*(map(λx@0.info(x@0);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.  x  :  E@i
17.  x  \mleq{}loc  e  @i
18.  \muparrow{}(bag-null(snd(v*(map(\mlambda{}x.info(x);before(x)))(info(x))))
\mwedge{}\msubb{}  (\mneg{}\msubb{}bag-null(snd(v1*(map(\mlambda{}x.info(x);before(x)))(info(x))))))
19.  \mforall{}e'':E
            ((e''  <loc  x)
            {}\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(v2*(map(\mlambda{}x@0.info(x@0);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''  <loc  x)
                      {}\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'  (-7)  THEN  RenameVar  `ypr'  (-6)  THEN  RenameVar  `zpr'  (-5))
  THEN  RepUR  ``hdf-sequence``  0)




Home Index