Step
*
1
1
1
1
1
of Lemma
iterate-hdf-bind-simple
1. A : Type
2. B : Type
3. C : Type
4. Y : B ─→ hdataflow(A;C)
5. valueall-type(C)
6. ys2 : bag(hdataflow(A;C))@i
7. a : A@i
8. {} = [y∈ys2|¬bhdf-halted(y)] ∈ bag(hdataflow(A;C))
9. y : Unit@i
10. True@i
11. λP.P(a) ∈ hdataflow(A;C) ─→ (hdataflow(A;C) × bag(C))
⊢ {} = ∪yb∈bag-map(λP.P(a);ys2 + {}).snd(yb) ∈ bag(C)
BY
{ (RWO "bag-map-append" 0 THENA Auto) }
1
1. A : Type
2. B : Type
3. C : Type
4. Y : B ─→ hdataflow(A;C)
5. valueall-type(C)
6. ys2 : bag(hdataflow(A;C))@i
7. a : A@i
8. {} = [y∈ys2|¬bhdf-halted(y)] ∈ bag(hdataflow(A;C))
9. y : Unit@i
10. True@i
11. λP.P(a) ∈ hdataflow(A;C) ─→ (hdataflow(A;C) × bag(C))
⊢ {} = ∪yb∈bag-map(λP.P(a);ys2) + bag-map(λP.P(a);{}).snd(yb) ∈ bag(C)
Latex:
1.  A  :  Type
2.  B  :  Type
3.  C  :  Type
4.  Y  :  B  {}\mrightarrow{}  hdataflow(A;C)
5.  valueall-type(C)
6.  ys2  :  bag(hdataflow(A;C))@i
7.  a  :  A@i
8.  \{\}  =  [y\mmember{}ys2|\mneg{}\msubb{}hdf-halted(y)]
9.  y  :  Unit@i
10.  True@i
11.  \mlambda{}P.P(a)  \mmember{}  hdataflow(A;C)  {}\mrightarrow{}  (hdataflow(A;C)  \mtimes{}  bag(C))
\mvdash{}  \{\}  =  \mcup{}yb\mmember{}bag-map(\mlambda{}P.P(a);ys2  +  \{\}).snd(yb)
By
(RWO  "bag-map-append"  0  THENA  Auto)
Home
Index