Step * 1 1 of Lemma iterate-hdf-bind-simple

.....truecase..... 
1. Type
2. Type
3. Type
4. B ⟶ hdataflow(A;C)
5. valueall-type(C)
6. hdataflow(A;B)@i
7. ys1 bag(hdataflow(A;C))@i
8. ys2 bag(hdataflow(A;C))@i
9. A@i
10. ys1 [y∈ys2|¬bhdf-halted(y)] ∈ bag(hdataflow(A;C))@i
11. (ys1 {} ∈ bag(hdataflow(A;C))) ∧ (↑hdf-halted(X))
⊢ (snd(hdf-halt()(a)))
(snd(hdf-run(λa.let s1,b simple-bind-nxt(Y; <X, ys2>a) 
                  in <mk-hdf(p,a.simple-bind-nxt(Y; p; a);p.let X,ys in ff;s1), b>)(a)))
∈ bag(C)
BY
(Auto THEN (HypSubst' (-2) (-3) THENA Auto) THEN ThinVar `ys1') }

1
1. Type
2. Type
3. Type
4. B ⟶ hdataflow(A;C)
5. valueall-type(C)
6. hdataflow(A;B)@i
7. ys2 bag(hdataflow(A;C))@i
8. A@i
9. {} [y∈ys2|¬bhdf-halted(y)] ∈ bag(hdataflow(A;C))
10. ↑hdf-halted(X)
⊢ (snd(hdf-halt()(a)))
(snd(hdf-run(λa.let s1,b simple-bind-nxt(Y; <X, ys2>a) 
                  in <mk-hdf(p,a.simple-bind-nxt(Y; p; a);p.let X,ys in ff;s1), b>)(a)))
∈ bag(C)


Latex:


Latex:
.....truecase..... 
1.  A  :  Type
2.  B  :  Type
3.  C  :  Type
4.  Y  :  B  {}\mrightarrow{}  hdataflow(A;C)
5.  valueall-type(C)
6.  X  :  hdataflow(A;B)@i
7.  ys1  :  bag(hdataflow(A;C))@i
8.  ys2  :  bag(hdataflow(A;C))@i
9.  a  :  A@i
10.  ys1  =  [y\mmember{}ys2|\mneg{}\msubb{}hdf-halted(y)]@i
11.  (ys1  =  \{\})  \mwedge{}  (\muparrow{}hdf-halted(X))
\mvdash{}  (snd(hdf-halt()(a)))
=  (snd(hdf-run(\mlambda{}a.let  s1,b  =  simple-bind-nxt(Y;  <X,  ys2>  a) 
                                    in  <mk-hdf(p,a.simple-bind-nxt(Y;  p;  a);p.let  X,ys  =  p  in  ff;s1),  b>)(a)))


By


Latex:
(Auto  THEN  (HypSubst'  (-2)  (-3)  THENA  Auto)  THEN  ThinVar  `ys1')




Home Index