Step
*
2
of Lemma
hdf-union-eq-disju
1. A : Type
2. B : Type
3. C : Type
4. X : hdataflow(A;B)
5. Y : hdataflow(A;C)
6. valueall-type(C)
7. valueall-type(B)
8. inputs : A List
9. hdf-halted(X + Y*(inputs)) = hdf-halted((λx.(inl x)) o X || (λx.(inr x )) o Y*(inputs))
10. a : A
⊢ hdf-out(X + Y*(inputs);a) = hdf-out((λx.(inl x)) o X || (λx.(inr x )) o Y*(inputs);a) ∈ bag(B + C)
BY
{ (Thin (-2) THEN MoveToConcl (-1) THEN RepeatFor 2 (MoveToConcl (-4)) THEN ListInd (-1) THEN Reduce 0 THEN Auto) }
1
1. A : Type
2. B : Type
3. C : Type
4. valueall-type(C)
5. valueall-type(B)
6. X : hdataflow(A;B)@i
7. Y : hdataflow(A;C)@i
8. a : A@i
⊢ hdf-out(X + Y;a) = hdf-out((λx.(inl x)) o X || (λx.(inr x )) o Y;a) ∈ bag(B + C)
2
1. A : Type
2. B : Type
3. C : Type
4. valueall-type(C)
5. valueall-type(B)
6. u : A@i
7. v : A List@i
8. ∀X:hdataflow(A;B). ∀Y:hdataflow(A;C). ∀a:A.
     (hdf-out(X + Y*(v);a) = hdf-out((λx.(inl x)) o X || (λx.(inr x )) o Y*(v);a) ∈ bag(B + C))@i
9. X : hdataflow(A;B)@i
10. Y : hdataflow(A;C)@i
11. a : A@i
⊢ hdf-out(fst(X + Y(u))*(v);a) = hdf-out(fst((λx.(inl x)) o X || (λx.(inr x )) o Y(u))*(v);a) ∈ bag(B + C)
Latex:
1.  A  :  Type
2.  B  :  Type
3.  C  :  Type
4.  X  :  hdataflow(A;B)
5.  Y  :  hdataflow(A;C)
6.  valueall-type(C)
7.  valueall-type(B)
8.  inputs  :  A  List
9.  hdf-halted(X  +  Y*(inputs))  =  hdf-halted((\mlambda{}x.(inl  x))  o  X  ||  (\mlambda{}x.(inr  x  ))  o  Y*(inputs))
10.  a  :  A
\mvdash{}  hdf-out(X  +  Y*(inputs);a)  =  hdf-out((\mlambda{}x.(inl  x))  o  X  ||  (\mlambda{}x.(inr  x  ))  o  Y*(inputs);a)
By
(Thin  (-2)
  THEN  MoveToConcl  (-1)
  THEN  RepeatFor  2  (MoveToConcl  (-4))
  THEN  ListInd  (-1)
  THEN  Reduce  0
  THEN  Auto)
Home
Index