Step * of Lemma hdf-bind-gen-left-halt

[A,B,C:Type]. ∀[Y:B ─→ hdataflow(A;C)]. ∀[hdfs:bag(hdataflow(A;C))].
  hdf-halt() (hdfs) >>hdf-halt() (hdfs) >>= λx.hdf-return({x}) ∈ hdataflow(A;C) supposing valueall-type(C)
BY
(Auto THEN BLemma `hdataflow-equal` THEN Auto) }

1
1. Type
2. Type
3. Type
4. B ─→ hdataflow(A;C)
5. hdfs bag(hdataflow(A;C))
6. valueall-type(C)
7. inputs List
⊢ hdf-halted(hdf-halt() (hdfs) >>Y*(inputs)) hdf-halted(hdf-halt() (hdfs) >>= λx.hdf-return({x})*(inputs))

2
1. Type
2. Type
3. Type
4. B ─→ hdataflow(A;C)
5. hdfs bag(hdataflow(A;C))
6. valueall-type(C)
7. inputs List
8. hdf-halted(hdf-halt() (hdfs) >>Y*(inputs)) hdf-halted(hdf-halt() (hdfs) >>= λx.hdf-return({x})*(inputs))
9. A
⊢ hdf-out(hdf-halt() (hdfs) >>Y*(inputs);a) hdf-out(hdf-halt() (hdfs) >>= λx.hdf-return({x})*(inputs);a) ∈ bag(C)


Latex:


\mforall{}[A,B,C:Type].  \mforall{}[Y:B  {}\mrightarrow{}  hdataflow(A;C)].  \mforall{}[hdfs:bag(hdataflow(A;C))].
    hdf-halt()  (hdfs)  >>=  Y  =  hdf-halt()  (hdfs)  >>=  \mlambda{}x.hdf-return(\{x\})  supposing  valueall-type(C)


By

(Auto  THEN  BLemma  `hdataflow-equal`  THEN  Auto)




Home Index