Step
*
2
2
2
of Lemma
iterate-hdf-bind-simple
.....falsecase.....
1. A : Type
2. B : Type
3. C : Type
4. Y : B ─→ hdataflow(A;C)
5. valueall-type(C)
6. u : A@i
7. v : A List@i
8. ∀X:hdataflow(A;B). ∀ys1,ys2:bag(hdataflow(A;C)). ∀a:A.
((ys1 = [y∈ys2|¬bhdf-halted(y)] ∈ bag(hdataflow(A;C)))
⇒ ((snd(mk-hdf(p,a.bind-nxt(Y;p;a);p.let X,ys = p in bag-null(ys) ∧b hdf-halted(X);<X, ys1>)*(v)(a))) = (snd(mk-hd\000Cf(p,a.simple-bind-nxt(Y; p; a);p.let X,ys = p in ff;<X, ys2>)*(v)(a))) ∈ bag(C)))@i
9. X : hdataflow(A;B)@i
10. ys1 : bag(hdataflow(A;C))@i
11. ys2 : bag(hdataflow(A;C))@i
12. a : A@i
13. ys1 = [y∈ys2|¬bhdf-halted(y)] ∈ bag(hdataflow(A;C))@i
14. ¬((↑bag-null(ys1)) ∧ (↑hdf-halted(X)))
15. (¬(ys1 = {} ∈ bag(hdataflow(A;C)))) ∨ (¬↑hdf-halted(X))
⊢ (snd(fst(inl (λa.let s1,b = bind-nxt(Y;<X, ys1>;a)
in <mk-hdf(p,a.bind-nxt(Y;p;a);p.let X,ys = p in bag-null(ys) ∧b hdf-halted(X);s1), b>)(u))*(v)(a)))
= (snd(fst(let s1,b = simple-bind-nxt(Y; <X, ys2>; u)
in <mk-hdf(p,a.simple-bind-nxt(Y; p; a);p.let X,ys = p in ff;s1), b>)*(v)(a)))
∈ bag(C)
BY
{ Thin (-2)⋅ }
1
1. A : Type
2. B : Type
3. C : Type
4. Y : B ─→ hdataflow(A;C)
5. valueall-type(C)
6. u : A@i
7. v : A List@i
8. ∀X:hdataflow(A;B). ∀ys1,ys2:bag(hdataflow(A;C)). ∀a:A.
((ys1 = [y∈ys2|¬bhdf-halted(y)] ∈ bag(hdataflow(A;C)))
⇒ ((snd(mk-hdf(p,a.bind-nxt(Y;p;a);p.let X,ys = p in bag-null(ys) ∧b hdf-halted(X);<X, ys1>)*(v)(a))) = (snd(mk-hd\000Cf(p,a.simple-bind-nxt(Y; p; a);p.let X,ys = p in ff;<X, ys2>)*(v)(a))) ∈ bag(C)))@i
9. X : hdataflow(A;B)@i
10. ys1 : bag(hdataflow(A;C))@i
11. ys2 : bag(hdataflow(A;C))@i
12. a : A@i
13. ys1 = [y∈ys2|¬bhdf-halted(y)] ∈ bag(hdataflow(A;C))@i
14. (¬(ys1 = {} ∈ bag(hdataflow(A;C)))) ∨ (¬↑hdf-halted(X))
⊢ (snd(fst(inl (λa.let s1,b = bind-nxt(Y;<X, ys1>;a)
in <mk-hdf(p,a.bind-nxt(Y;p;a);p.let X,ys = p in bag-null(ys) ∧b hdf-halted(X);s1), b>)(u))*(v)(a)))
= (snd(fst(let s1,b = simple-bind-nxt(Y; <X, ys2>; u)
in <mk-hdf(p,a.simple-bind-nxt(Y; p; a);p.let X,ys = p in ff;s1), b>)*(v)(a)))
∈ bag(C)
Latex:
.....falsecase.....
1. A : Type
2. B : Type
3. C : Type
4. Y : B {}\mrightarrow{} hdataflow(A;C)
5. valueall-type(C)
6. u : A@i
7. v : A List@i
8. \mforall{}X:hdataflow(A;B). \mforall{}ys1,ys2:bag(hdataflow(A;C)). \mforall{}a:A.
((ys1 = [y\mmember{}ys2|\mneg{}\msubb{}hdf-halted(y)])
{}\mRightarrow{} ((snd(mk-hdf(p,a.bind-nxt(Y;p;a);p.let X,ys = p in bag-null(ys) \mwedge{}\msubb{} hdf-halted(X);<X, ys1>)*(\000Cv)(a))) = (snd(mk-hdf(p,a.simple-bind-nxt(Y; p; a);p.let X,ys = p in ff;<X, ys2>)*(v)(a)))))@i
9. X : hdataflow(A;B)@i
10. ys1 : bag(hdataflow(A;C))@i
11. ys2 : bag(hdataflow(A;C))@i
12. a : A@i
13. ys1 = [y\mmember{}ys2|\mneg{}\msubb{}hdf-halted(y)]@i
14. \mneg{}((\muparrow{}bag-null(ys1)) \mwedge{} (\muparrow{}hdf-halted(X)))
15. (\mneg{}(ys1 = \{\})) \mvee{} (\mneg{}\muparrow{}hdf-halted(X))
\mvdash{} (snd(fst(inl (\mlambda{}a.let s1,b = bind-nxt(Y;<X, ys1>a)
in <mk-hdf(p,a.bind-nxt(Y;p;a);p.let X,ys = p
in bag-null(ys) \mwedge{}\msubb{} hdf-halted(X);s1)
, b
>)(u))*(v)(a)))
= (snd(fst(let s1,b = simple-bind-nxt(Y; <X, ys2> u)
in <mk-hdf(p,a.simple-bind-nxt(Y; p; a);p.let X,ys = p in ff;s1), b>)*(v)(a)))
By
Thin (-2)\mcdot{}
Home
Index