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


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))
BY
(RepeatFor (MoveToConcl (-3)) THEN ListInd (-1) THEN Reduce THEN Auto) }

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

2
1. Type
2. Type
3. Type
4. valueall-type(C)
5. A@i
6. List@i
7. ∀Y:B ─→ hdataflow(A;C). ∀hdfs:bag(hdataflow(A;C)).
     hdf-halted(hdf-halt() (hdfs) >>Y*(v)) hdf-halted(hdf-halt() (hdfs) >>= λx.hdf-return({x})*(v))@i
8. B ─→ hdataflow(A;C)@i
9. hdfs bag(hdataflow(A;C))@i
⊢ hdf-halted(fst(hdf-halt() (hdfs) >>Y(u))*(v)) hdf-halted(fst(hdf-halt() (hdfs) >>= λx.hdf-return({x})(u))*(v))


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
\mvdash{}  hdf-halted(hdf-halt()  (hdfs)  >>=  Y*(inputs))  =  hdf-halted(hdf-halt()  (hdfs)  >>=  \mlambda{}x.hdf-return(\{x\})\000C*(inputs))


By

(RepeatFor  2  (MoveToConcl  (-3))  THEN  ListInd  (-1)  THEN  Reduce  0  THEN  Auto)




Home Index