Step
*
2
3
1
of Lemma
cs-possible-state-reachable
1. V : Type
2. A : Id List
3. W : {a:Id| (a ∈ A)} List List
4. v : V
5. 1 < ||W||
6. two-intersection(A;W)
7. u : {a:Id| (a ∈ A)} @i
8. v1 : {a:Id| (a ∈ A)} List@i
9. <λa.<0, ⊗>, λa.mk_fpf(A;λb.<0, inr ⋅ >)>
((λx,y. consensus-rel-knowledge(V;A;W;x;y))^*)
<λa.<0, if a ∈b v1) then 0 : v else ⊗ fi >, λa.mk_fpf(A;λb.<0, inr ⋅ >)>@i
⊢ <λa.<0, ⊗>, λa.mk_fpf(A;λb.<0, inr ⋅ >)>
((λx,y. consensus-rel-knowledge(V;A;W;x;y))^*)
<λa.<0, if (IdDeq u a) ∨ba ∈b v1) then 0 : v else ⊗ fi >, λa.mk_fpf(A;λb.<0, inr ⋅ >)>
BY
{ (Using [`y',⌈<λa.<0, if a ∈b v1) then 0 : v else ⊗ fi >, λa.mk_fpf(A;λb.<0, inr ⋅ >)>⌉
] (BLemma `rel_star_transitivity`)⋅
THEN Try (WithRuleCount 20000 Auto)
THEN (Thin (-1)
THEN ((Decide (u ∈ v1) THENA Auto) THENL [BLemma `rel_star_weakening`; BLemma `rel_rel_star`])
THEN Try (WithRuleCount 20000 Auto))⋅) }
1
1. V : Type
2. A : Id List
3. W : {a:Id| (a ∈ A)} List List
4. v : V
5. 1 < ||W||
6. two-intersection(A;W)
7. u : {a:Id| (a ∈ A)} @i
8. v1 : {a:Id| (a ∈ A)} List@i
9. (u ∈ v1)
⊢ <λa.<0, if a ∈b v1) then 0 : v else ⊗ fi >, λa.mk_fpf(A;λb.<0, inr ⋅ >)>
= <λa.<0, if (IdDeq u a) ∨ba ∈b v1) then 0 : v else ⊗ fi >, λa.mk_fpf(A;λb.<0, inr ⋅ >)>
∈ ({a:Id| (a ∈ A)} ─→ (ℤ × j:ℤ fp-> V) × ({a:Id| (a ∈ A)} ─→ b:Id fp-> ℤ × (ℤ × V + Top)))
2
1. V : Type
2. A : Id List
3. W : {a:Id| (a ∈ A)} List List
4. v : V
5. 1 < ||W||
6. two-intersection(A;W)
7. u : {a:Id| (a ∈ A)} @i
8. v1 : {a:Id| (a ∈ A)} List@i
9. ¬(u ∈ v1)
⊢ <λa.<0, if a ∈b v1) then 0 : v else ⊗ fi >, λa.mk_fpf(A;λb.<0, inr ⋅ >)>
(λx,y. consensus-rel-knowledge(V;A;W;x;y))
<λa.<0, if (IdDeq u a) ∨ba ∈b v1) then 0 : v else ⊗ fi >, λa.mk_fpf(A;λb.<0, inr ⋅ >)>
Latex:
1. V : Type
2. A : Id List
3. W : \{a:Id| (a \mmember{} A)\} List List
4. v : V
5. 1 < ||W||
6. two-intersection(A;W)
7. u : \{a:Id| (a \mmember{} A)\} @i
8. v1 : \{a:Id| (a \mmember{} A)\} List@i
9. <\mlambda{}a.ɘ, \motimes{}>, \mlambda{}a.mk\_fpf(A;\mlambda{}b.ɘ, inr \mcdot{} >)>
rel\_star(\{a:Id| (a \mmember{} A)\} {}\mrightarrow{} (\mBbbZ{} \mtimes{} j:\mBbbZ{} fp-> V) \mtimes{} (\{a:Id| (a \mmember{} A)\} {}\mrightarrow{} b:Id fp-> \mBbbZ{} \mtimes{} (\mBbbZ{} \mtimes{} V + Top))\000C;
\mlambda{}x,y. consensus-rel-knowledge(V;A;W;x;y))
<\mlambda{}a.ɘ, if a \mmember{}\msubb{} v1) then 0 : v else \motimes{} fi >, \mlambda{}a.mk\_fpf(A;\mlambda{}b.ɘ, inr \mcdot{} >)>@i
\mvdash{} <\mlambda{}a.ɘ, \motimes{}>, \mlambda{}a.mk\_fpf(A;\mlambda{}b.ɘ, inr \mcdot{} >)>
rel\_star(\{a:Id| (a \mmember{} A)\} {}\mrightarrow{} (\mBbbZ{} \mtimes{} j:\mBbbZ{} fp-> V) \mtimes{} (\{a:Id| (a \mmember{} A)\} {}\mrightarrow{} b:Id fp-> \mBbbZ{} \mtimes{} (\mBbbZ{} \mtimes{} V + Top));
\mlambda{}x,y. consensus-rel-knowledge(V;A;W;x;y))
<\mlambda{}a.ɘ, if (IdDeq u a) \mvee{}\msubb{}a \mmember{}\msubb{} v1) then 0 : v else \motimes{} fi >, \mlambda{}a.mk\_fpf(A;\mlambda{}b.ɘ, inr \mcdot{} >)>
By
(Using [`y',\mkleeneopen{}<\mlambda{}a.ɘ, if a \mmember{}\msubb{} v1) then 0 : v else \motimes{} fi >, \mlambda{}a.mk\_fpf(A;\mlambda{}b.ɘ, inr \mcdot{} >)>\mkleeneclose{}
] (BLemma `rel\_star\_transitivity`)\mcdot{}
THEN Try (WithRuleCount 20000 Auto)
THEN (Thin (-1)
THEN ((Decide (u \mmember{} v1) THENA Auto)
THENL [BLemma `rel\_star\_weakening`; BLemma `rel\_rel\_star`]
)
THEN Try (WithRuleCount 20000 Auto))\mcdot{})
Home
Index