Step
*
2
of Lemma
hdf-bind-gen-left-halt
1. A : Type
2. B : Type
3. C : Type
4. Y : B ─→ hdataflow(A;C)
5. hdfs : bag(hdataflow(A;C))
6. valueall-type(C)
7. inputs : A List
8. hdf-halted(hdf-halt() (hdfs) >>= Y*(inputs)) = hdf-halted(hdf-halt() (hdfs) >>= λx.hdf-return({x})*(inputs))
9. a : A
⊢ hdf-out(hdf-halt() (hdfs) >>= Y*(inputs);a) = hdf-out(hdf-halt() (hdfs) >>= λx.hdf-return({x})*(inputs);a) ∈ bag(C)
BY
{ (Thin (-2) THEN MoveToConcl (-1) THEN RepeatFor 2 (MoveToConcl (-3)) THEN ListInd (-1) THEN Reduce 0 THEN Auto) }
1
1. A : Type
2. B : Type
3. C : Type
4. valueall-type(C)
5. Y : B ─→ hdataflow(A;C)@i
6. hdfs : bag(hdataflow(A;C))@i
7. a : A@i
⊢ hdf-out(hdf-halt() (hdfs) >>= Y;a) = hdf-out(hdf-halt() (hdfs) >>= λx.hdf-return({x});a) ∈ bag(C)
2
1. A : Type
2. B : Type
3. C : Type
4. valueall-type(C)
5. u : A@i
6. v : A List@i
7. ∀Y:B ─→ hdataflow(A;C). ∀hdfs:bag(hdataflow(A;C)). ∀a:A.
     (hdf-out(hdf-halt() (hdfs) >>= Y*(v);a) = hdf-out(hdf-halt() (hdfs) >>= λx.hdf-return({x})*(v);a) ∈ bag(C))@i
8. Y : B ─→ hdataflow(A;C)@i
9. hdfs : bag(hdataflow(A;C))@i
10. a : A@i
⊢ hdf-out(fst(hdf-halt() (hdfs) >>= Y(u))*(v);a) = hdf-out(fst(hdf-halt() (hdfs) >>= λx.hdf-return({x})(u))*(v);a) ∈ bag\000C(C)
Latex:
1.  A  :  Type
2.  B  :  Type
3.  C  :  Type
4.  Y  :  B  {}\mrightarrow{}  hdataflow(A;C)
5.  hdfs  :  bag(hdataflow(A;C))
6.  valueall-type(C)
7.  inputs  :  A  List
8.  hdf-halted(hdf-halt()  (hdfs)  >>=  Y*(inputs))  =  hdf-halted(hdf-halt()  (hdfs)  >>=  \mlambda{}x.hdf-return(\{x\}\000C)*(inputs))
9.  a  :  A
\mvdash{}  hdf-out(hdf-halt()  (hdfs)  >>=  Y*(inputs);a)  =  hdf-out(hdf-halt()  (hdfs)  >>=  \mlambda{}x.hdf-return(\{x\})*(in\000Cputs);a)
By
(Thin  (-2)
  THEN  MoveToConcl  (-1)
  THEN  RepeatFor  2  (MoveToConcl  (-3))
  THEN  ListInd  (-1)
  THEN  Reduce  0
  THEN  Auto)
Home
Index