Step
*
of Lemma
sequence-class-program_wf
∀[Info,A,B:Type]. ∀[X:EClass(A)]. ∀[Y:EClass(B)]. ∀[Z:EClass(A)]. ∀[xpr:LocalClass(X)]. ∀[ypr:LocalClass(Y)].
∀[zpr:LocalClass(Z)].
sequence-class-program(xpr;ypr;zpr) ∈ LocalClass(sequence-class(X;Y;Z)) supposing valueall-type(A)
BY
{ (Auto
THEN (D (-4) THEN D (-3) THEN D (-2))
THEN RepUR ``sequence-class-program`` 0
THEN MemTypeCD
THEN Auto
THEN RepUR ``sequence-class class-ap member-eclass`` 0
THEN (Fold `class-ap` 0
THEN (Subst ⌜(λe.((¬b¬b(#(X(e)) =z 0)) ∧b (¬b(#(Y(e)) =z 0))))
= (λe.(bag-null(X(e)) ∧b (¬bbag-null(Y(e)))))
∈ (E ⟶ 𝔹)⌝ 0⋅
THENA (Try (Complete (Auto)) THEN RepeatFor 2 ((MemCD THEN Try (Complete (Auto)))) THEN D -2 THEN Auto)
)
)
THEN (RWO "-4" 0 THENA (Try (Complete (Auto)) THEN D -2 THEN Auto))
THEN (RWO "-8" 0 THENA (Try (Complete (Auto)) THEN D -2 THEN Auto))
THEN (RWO "-6" 0 THENA (Try (Complete (Auto)) THEN D -2 THEN Auto))) }
1
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)
Latex:
Latex:
\mforall{}[Info,A,B:Type]. \mforall{}[X:EClass(A)]. \mforall{}[Y:EClass(B)]. \mforall{}[Z:EClass(A)]. \mforall{}[xpr:LocalClass(X)].
\mforall{}[ypr:LocalClass(Y)]. \mforall{}[zpr:LocalClass(Z)].
sequence-class-program(xpr;ypr;zpr) \mmember{} LocalClass(sequence-class(X;Y;Z)) supposing valueall-type(A)
By
Latex:
(Auto
THEN (D (-4) THEN D (-3) THEN D (-2))
THEN RepUR ``sequence-class-program`` 0
THEN MemTypeCD
THEN Auto
THEN RepUR ``sequence-class class-ap member-eclass`` 0
THEN (Fold `class-ap` 0
THEN (Subst \mkleeneopen{}(\mlambda{}e.((\mneg{}\msubb{}\mneg{}\msubb{}(\#(X(e)) =\msubz{} 0)) \mwedge{}\msubb{} (\mneg{}\msubb{}(\#(Y(e)) =\msubz{} 0))))
= (\mlambda{}e.(bag-null(X(e)) \mwedge{}\msubb{} (\mneg{}\msubb{}bag-null(Y(e)))))\mkleeneclose{} 0\mcdot{}
THENA (Try (Complete (Auto))
THEN RepeatFor 2 ((MemCD THEN Try (Complete (Auto))))
THEN D -2
THEN Auto)
)
)
THEN (RWO "-4" 0 THENA (Try (Complete (Auto)) THEN D -2 THEN Auto))
THEN (RWO "-8" 0 THENA (Try (Complete (Auto)) THEN D -2 THEN Auto))
THEN (RWO "-6" 0 THENA (Try (Complete (Auto)) THEN D -2 THEN Auto)))
Home
Index