Step
*
of Lemma
decidable__cs-committed-change
∀[V:Type]
((∃v,v':V. (¬(v = v' ∈ V)))
⇒ (∀v,v':V. Dec(v = v' ∈ V))
⇒ (∀L:V List. Dec(∃v:V. (¬(v ∈ L))))
⇒ (∀A:Id List. ∀W:{a:Id| (a ∈ A)} List List.
(one-intersection(A;W)
⇒ (∀i:ℤ. ∀x,y:ConsensusState.
Dec(∃v:V. (in state x, inning i could commit v ∧ (¬in state y, inning i could commit v )))))))
BY
{ (Auto
THEN (InstLemma `cs-inning-committable-some2` [⌈V⌉;⌈A⌉;⌈W⌉;⌈x⌉;⌈i⌉]⋅ THENA Auto)
THEN D -1
THEN (Decide (∃v∈L. in state x, inning i could commit v ∧ (¬in state y, inning i could commit v )) THENA Auto)
THEN Try (((OrLeft THEN Auto) THEN (RWO "l_exists_iff" (-1) THENA Auto) THEN ParallelLast THEN Auto)⋅)
THEN (Decide (∃ws∈W. ∀a:{a:Id| (a ∈ A)} . ((a ∈ ws)
⇒ in state x, a has not completed inning i)) THENA Auto)
THEN Try (Complete (((OrRight THEN Auto)
THEN (D 0 THENA Auto)
THEN D -3
THEN (BLemma `l_exists_iff` THEN Auto)
THEN ParallelLast
THEN Auto
THEN ((InstHyp [⌈v⌉] (-5)⋅ THENA Auto) THEN ThinTrivial THEN D -1 THEN Auto)⋅))⋅)) }
1
1. [V] : Type
2. ∃v,v':V. (¬(v = v' ∈ V))@i
3. ∀v,v':V. Dec(v = v' ∈ V)@i
4. ∀L:V List. Dec(∃v:V. (¬(v ∈ L)))@i
5. A : Id List@i
6. W : {a:Id| (a ∈ A)} List List@i
7. one-intersection(A;W)@i
8. i : ℤ@i
9. x : ConsensusState@i
10. y : ConsensusState@i
11. L : V List
12. ∀v:V
(in state x, inning i could commit v
⇐⇒ (in state x, inning i could commit v ∧ (v ∈ L))
∨ (∃ws∈W. ∀a:{a:Id| (a ∈ A)} . ((a ∈ ws)
⇒ in state x, a has not completed inning i)))
13. ¬(∃v∈L. in state x, inning i could commit v ∧ (¬in state y, inning i could commit v ))
14. (∃ws∈W. ∀a:{a:Id| (a ∈ A)} . ((a ∈ ws)
⇒ in state x, a has not completed inning i))
⊢ Dec(∃v:V. (in state x, inning i could commit v ∧ (¬in state y, inning i could commit v )))
Latex:
\mforall{}[V:Type]
((\mexists{}v,v':V. (\mneg{}(v = v')))
{}\mRightarrow{} (\mforall{}v,v':V. Dec(v = v'))
{}\mRightarrow{} (\mforall{}L:V List. Dec(\mexists{}v:V. (\mneg{}(v \mmember{} L))))
{}\mRightarrow{} (\mforall{}A:Id List. \mforall{}W:\{a:Id| (a \mmember{} A)\} List List.
(one-intersection(A;W)
{}\mRightarrow{} (\mforall{}i:\mBbbZ{}. \mforall{}x,y:ConsensusState.
Dec(\mexists{}v:V
(in state x, inning i could commit v
\mwedge{} (\mneg{}in state y, inning i could commit v )))))))
By
(Auto
THEN (InstLemma `cs-inning-committable-some2` [\mkleeneopen{}V\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}W\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{};\mkleeneopen{}i\mkleeneclose{}]\mcdot{} THENA Auto)
THEN D -1
THEN (Decide (\mexists{}v\mmember{}L. in state x, inning i could commit v \mwedge{} (\mneg{}in state y, inning i could commit v ))
THENA Auto
)
THEN Try (((OrLeft THEN Auto)
THEN (RWO "l\_exists\_iff" (-1) THENA Auto)
THEN ParallelLast
THEN Auto)\mcdot{})
THEN (Decide (\mexists{}ws\mmember{}W. \mforall{}a:\{a:Id| (a \mmember{} A)\} . ((a \mmember{} ws) {}\mRightarrow{} in state x, a has not completed inning i))
THENA Auto
)
THEN Try (Complete (((OrRight THEN Auto)
THEN (D 0 THENA Auto)
THEN D -3
THEN (BLemma `l\_exists\_iff` THEN Auto)
THEN ParallelLast
THEN Auto
THEN ((InstHyp [\mkleeneopen{}v\mkleeneclose{}] (-5)\mcdot{} THENA Auto) THEN ThinTrivial THEN D -1 THEN Auto)
\mcdot{}))\mcdot{}))
Home
Index