Step
*
1
of Lemma
sequence-class-program_wf
1. Info : Type
2. A : Type
3. B : Type
4. X : EClass(A)
5. Y : EClass(B)
6. Z : EClass(A)
7. xpr : Id ─→ hdataflow(Info;A)
8. ∀es:EO+(Info). ∀e:E.  (X(e) = (snd(xpr loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(A))
9. ypr : Id ─→ hdataflow(Info;B)
10. ∀es:EO+(Info). ∀e:E.  (Y(e) = (snd(ypr loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))
11. zpr : Id ─→ hdataflow(Info;A)
12. ∀es:EO+(Info). ∀e:E.  (Z(e) = (snd(zpr loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(A))
13. valueall-type(A)
14. es : EO+(Info)@i'
15. e : E@i
⊢ case es-first-event(es;λe.(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))))));e)
 of inl(e') =>
 snd(zpr loc(e)*(map(λx.info(x);before(e)))(info(e)))
 | inr(x) =>
 snd(xpr loc(e)*(map(λx.info(x);before(e)))(info(e)))
= (snd(hdf-sequence(xpr loc(e);ypr loc(e);zpr loc(e))*(map(λx.info(x);before(e)))(info(e))))
∈ bag(A)
BY
{ ((ThinVar `X' THEN ThinVar `Y' THEN ThinVar `Z')
   THEN (RWO "eo-forward-loc" 0 THENA Auto)
   THEN GenConclAtAddr [3;1;1;1;1]
   THEN GenConclAtAddr [3;1;1;1;2]
   THEN GenConclAtAddr [3;1;1;1;3]
   THEN GenConclAtAddr [2;1]
   THEN D -2
   THEN Reduce 0
   THEN Thin (-1)
   THEN D -1
   THEN Reduce (-1)
   THEN Auto) }
1
1. Info : Type
2. A : Type
3. B : 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 : E@i
10. v : 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. x : E@i
17. x ≤loc e @i
18. ↑(bag-null(snd(xpr loc(x)*(map(λx.info(x);before(x)))(info(x))))
∧b (¬bbag-null(snd(ypr loc(x)*(map(λx.info(x);before(x)))(info(x))))))@i
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)
2
1. Info : Type
2. A : Type
3. B : 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 : E@i
10. v : 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 e 
      
⇒ (¬↑(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)
Latex:
Latex:
1.  Info  :  Type
2.  A  :  Type
3.  B  :  Type
4.  X  :  EClass(A)
5.  Y  :  EClass(B)
6.  Z  :  EClass(A)
7.  xpr  :  Id  {}\mrightarrow{}  hdataflow(Info;A)
8.  \mforall{}es:EO+(Info).  \mforall{}e:E.    (X(e)  =  (snd(xpr  loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e)))))
9.  ypr  :  Id  {}\mrightarrow{}  hdataflow(Info;B)
10.  \mforall{}es:EO+(Info).  \mforall{}e:E.    (Y(e)  =  (snd(ypr  loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e)))))
11.  zpr  :  Id  {}\mrightarrow{}  hdataflow(Info;A)
12.  \mforall{}es:EO+(Info).  \mforall{}e:E.    (Z(e)  =  (snd(zpr  loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e)))))
13.  valueall-type(A)
14.  es  :  EO+(Info)@i'
15.  e  :  E@i
\mvdash{}  case  es-first-event(es;\mlambda{}e.(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))))));e)
  of  inl(e')  =>
  snd(zpr  loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e)))
  |  inr(x)  =>
  snd(xpr  loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e)))
=  (snd(hdf-sequence(xpr  loc(e);ypr  loc(e);zpr  loc(e))*(map(\mlambda{}x.info(x);before(e)))(info(e))))
By
Latex:
((ThinVar  `X'  THEN  ThinVar  `Y'  THEN  ThinVar  `Z')
  THEN  (RWO  "eo-forward-loc"  0  THENA  Auto)
  THEN  GenConclAtAddr  [3;1;1;1;1]
  THEN  GenConclAtAddr  [3;1;1;1;2]
  THEN  GenConclAtAddr  [3;1;1;1;3]
  THEN  GenConclAtAddr  [2;1]
  THEN  D  -2
  THEN  Reduce  0
  THEN  Thin  (-1)
  THEN  D  -1
  THEN  Reduce  (-1)
  THEN  Auto)
Home
Index