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


1. Type
2. Type
3. Type
4. Type
5. B ─→ C
6. hdataflow(A;B)
7. C ─→ hdataflow(A;U)
8. hdfs bag(hdataflow(A;U))
9. valueall-type(U)
10. valueall-type(C)
11. inputs List
⊢ hdf-halted(f (hdfs) >>Y*(inputs)) hdf-halted(X (hdfs) >>f*(inputs))
BY
(RepeatFor (MoveToConcl (-4)) THEN ListInd (-1) THEN Reduce THEN Auto) }

1
1. Type
2. Type
3. Type
4. Type
5. B ─→ C
6. valueall-type(U)
7. valueall-type(C)
8. hdataflow(A;B)@i
9. C ─→ hdataflow(A;U)@i
10. hdfs bag(hdataflow(A;U))@i
⊢ hdf-halted(f (hdfs) >>Y) hdf-halted(X (hdfs) >>f)

2
1. Type
2. Type
3. Type
4. Type
5. B ─→ C
6. valueall-type(U)
7. valueall-type(C)
8. A@i
9. List@i
10. ∀X:hdataflow(A;B). ∀Y:C ─→ hdataflow(A;U). ∀hdfs:bag(hdataflow(A;U)).
      hdf-halted(f (hdfs) >>Y*(v)) hdf-halted(X (hdfs) >>f*(v))@i
11. hdataflow(A;B)@i
12. C ─→ hdataflow(A;U)@i
13. hdfs bag(hdataflow(A;U))@i
⊢ hdf-halted(fst(f (hdfs) >>Y(u))*(v)) hdf-halted(fst(X (hdfs) >>f(u))*(v))


Latex:



1.  A  :  Type
2.  B  :  Type
3.  C  :  Type
4.  U  :  Type
5.  f  :  B  {}\mrightarrow{}  C
6.  X  :  hdataflow(A;B)
7.  Y  :  C  {}\mrightarrow{}  hdataflow(A;U)
8.  hdfs  :  bag(hdataflow(A;U))
9.  valueall-type(U)
10.  valueall-type(C)
11.  inputs  :  A  List
\mvdash{}  hdf-halted(f  o  X  (hdfs)  >>=  Y*(inputs))  =  hdf-halted(X  (hdfs)  >>=  Y  o  f*(inputs))


By

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




Home Index