Step
*
2
1
2
of Lemma
hdf-until-halt-right
1. A : Type
2. B : Type
3. X : hdataflow(A;B)@i
4. ¬↑hdf-halted(X)
5. a : A@i
⊢ hdf-out(hdf-run(λa.let s1,b = let X',b = X(a) 
                                in <<X', inr ⋅ >, b> 
                     in <mk-hdf(p,a.let X,Y = p 
                                    in let X',b = X(a) 
                                       in let Y',c = Y(a) 
                                          in <<if bag-null(c) then X' else hdf-halt() fi , Y'>, b>p.hdf-halted(...);s1)
                        , b
                        >);a)
= hdf-out(X;a)
∈ bag(B)
BY
{ (RWO "hdf-out-run" 0
   THEN Reduce 0
   THEN Auto
   THEN HDataflowHDAll
   THEN Fold `hdf-run` 0
   THEN RWO "hdf-out-run" 0
   THEN Auto) }
Latex:
1.  A  :  Type
2.  B  :  Type
3.  X  :  hdataflow(A;B)@i
4.  \mneg{}\muparrow{}hdf-halted(X)
5.  a  :  A@i
\mvdash{}  hdf-out(hdf-run(\mlambda{}a.let  s1,b  =  let  X',b  =  X(a) 
                                                                in  <<X',  inr  \mcdot{}  >,  b> 
                                          in  <mk-hdf(p,a....;p.hdf-halted(fst(p));s1)
                                                ,  b
                                                >);a)
=  hdf-out(X;a)
By
(RWO  "hdf-out-run"  0
  THEN  Reduce  0
  THEN  Auto
  THEN  HDataflowHDAll
  THEN  Fold  `hdf-run`  0
  THEN  RWO  "hdf-out-run"  0
  THEN  Auto)
Home
Index