Step
*
of Lemma
hdf-bind-gen-compose1-left
∀[A,B,C,U:Type]. ∀[f:B ─→ C]. ∀[X:hdataflow(A;B)]. ∀[Y:C ─→ hdataflow(A;U)]. ∀[hdfs:bag(hdataflow(A;U))].
(f o X (hdfs) >>= Y = X (hdfs) >>= Y o f ∈ hdataflow(A;U)) supposing (valueall-type(C) and valueall-type(U))
BY
{ (Auto THEN BLemma `hdataflow-equal` THEN Auto) }
1
1. A : Type
2. B : Type
3. C : Type
4. U : Type
5. f : B ─→ C
6. X : hdataflow(A;B)
7. Y : C ─→ hdataflow(A;U)
8. hdfs : bag(hdataflow(A;U))
9. valueall-type(U)
10. valueall-type(C)
11. inputs : A List
⊢ hdf-halted(f o X (hdfs) >>= Y*(inputs)) = hdf-halted(X (hdfs) >>= Y o f*(inputs))
2
1. A : Type
2. B : Type
3. C : Type
4. U : Type
5. f : B ─→ C
6. X : hdataflow(A;B)
7. Y : C ─→ hdataflow(A;U)
8. hdfs : bag(hdataflow(A;U))
9. valueall-type(U)
10. valueall-type(C)
11. inputs : A List
12. hdf-halted(f o X (hdfs) >>= Y*(inputs)) = hdf-halted(X (hdfs) >>= Y o f*(inputs))
13. a : A
⊢ hdf-out(f o X (hdfs) >>= Y*(inputs);a) = hdf-out(X (hdfs) >>= Y o f*(inputs);a) ∈ bag(U)
Latex:
\mforall{}[A,B,C,U:Type]. \mforall{}[f:B {}\mrightarrow{} C]. \mforall{}[X:hdataflow(A;B)]. \mforall{}[Y:C {}\mrightarrow{} hdataflow(A;U)].
\mforall{}[hdfs:bag(hdataflow(A;U))].
(f o X (hdfs) >>= Y = X (hdfs) >>= Y o f) supposing (valueall-type(C) and valueall-type(U))
By
(Auto THEN BLemma `hdataflow-equal` THEN Auto)
Home
Index