Step
*
2
of Lemma
parallel-class-program_wf
1. Info : Type
2. B : Type
3. valueall-type(B)
4. X : EClass(B)
5. Y : EClass(B)
6. Xpr : Id ⟶ hdataflow(Info;B)
7. ∀es:EO+(Info). ∀e:E. (X(e) = (snd(Xpr loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))
8. Ypr : Id ⟶ hdataflow(Info;B)
9. ∀es:EO+(Info). ∀e:E. (Y(e) = (snd(Ypr loc(e)*(map(λx.info(x);before(e)))(info(e)))) ∈ bag(B))
10. es : EO+(Info)@i'
11. e : E@i
12. x : Info@i
13. x1 : Info ⟶ (hdataflow(Info;B) × bag(B))@i
14. y : Unit@i
⊢ ((snd((x1 x))) + {})
= (snd(let s1,b = let X',xs = x1 x
in let out ⟵ xs + {}
in <<X', inr ⋅ >, out>
in <mk-hdf(XY,a.let X,Y = XY
in let X',xs = X(a)
in let Y',ys = Y(a)
in let out ⟵ xs + ys
in <<X', Y'>, out>;XY.let X,Y = XY
in hdf-halted(X) ∧b hdf-halted(Y);s1)
, b
>))
∈ bag(B)
BY
{ ((GenApply (-2) THENA Auto)
THEN DProdsAndUnions
THEN Reduce 0
THEN (RWO "bag-append-empty" 0 THENA Auto)
THEN (CallByValueReduceOn ⌜z2⌝ 0 ⋅ THENA MaAuto)
THEN Reduce 0
THEN Auto) }
Latex:
Latex:
1. Info : Type
2. B : Type
3. valueall-type(B)
4. X : EClass(B)
5. Y : EClass(B)
6. Xpr : Id {}\mrightarrow{} hdataflow(Info;B)
7. \mforall{}es:EO+(Info). \mforall{}e:E. (X(e) = (snd(Xpr loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e)))))
8. Ypr : Id {}\mrightarrow{} hdataflow(Info;B)
9. \mforall{}es:EO+(Info). \mforall{}e:E. (Y(e) = (snd(Ypr loc(e)*(map(\mlambda{}x.info(x);before(e)))(info(e)))))
10. es : EO+(Info)@i'
11. e : E@i
12. x : Info@i
13. x1 : Info {}\mrightarrow{} (hdataflow(Info;B) \mtimes{} bag(B))@i
14. y : Unit@i
\mvdash{} ((snd((x1 x))) + \{\})
= (snd(let s1,b = let X',xs = x1 x
in let out \mleftarrow{}{} xs + \{\}
in <<X', inr \mcdot{} >, out>
in <mk-hdf(XY,a.let X,Y = XY
in let X',xs = X(a)
in let Y',ys = Y(a)
in let out \mleftarrow{}{} xs + ys
in <<X', Y'>, out>XY.let X,Y = XY
in hdf-halted(X) \mwedge{}\msubb{} hdf-halted(Y);s1)
, b
>))
By
Latex:
((GenApply (-2) THENA Auto)
THEN DProdsAndUnions
THEN Reduce 0
THEN (RWO "bag-append-empty" 0 THENA Auto)
THEN (CallByValueReduceOn \mkleeneopen{}z2\mkleeneclose{} 0 \mcdot{} THENA MaAuto)
THEN Reduce 0
THEN Auto)
Home
Index