Step
*
1
of Lemma
decidable__cs-precondition
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. ∃v,v':V. (¬(v = v' ∈ V))@i
4. A : Id List@i
5. W : {a:Id| (a ∈ A)}  List List@i
6. s : ConsensusState@i
7. i : ℤ@i
8. v : V@i
9. Dec((∃ws∈W. (∀b∈ws.i ≤ Inning(s;b)) ∧ (∀ws'∈W.¬in state s, ws' blocks ws from archiving v in inning i)))
⊢ Dec(∃ws:{a:Id| (a ∈ A)}  List
       ((ws ∈ W)
       ∧ (∀b:{a:Id| (a ∈ A)} . ((b ∈ ws) 
⇒ (i ≤ Inning(s;b))))
       ∧ (∀ws':{a:Id| (a ∈ A)}  List. ((ws' ∈ W) 
⇒ (¬in state s, ws' blocks ws from archiving v in inning i)))))
BY
{ Assert ⌈(∃ws∈W. (∀b∈ws.i ≤ Inning(s;b)) ∧ (∀ws'∈W.¬in state s, ws' blocks ws from archiving v in inning i))
          
⇐⇒ ∃ws:{a:Id| (a ∈ A)}  List
               ((ws ∈ W)
               ∧ (∀b:{a:Id| (a ∈ A)} . ((b ∈ ws) 
⇒ (i ≤ Inning(s;b))))
               ∧ (∀ws':{a:Id| (a ∈ A)}  List. ((ws' ∈ W) 
⇒ (¬in state s, ws' blocks ws from archiving v in inning i))))\000C⌉
⋅ }
1
.....assertion..... 
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. ∃v,v':V. (¬(v = v' ∈ V))@i
4. A : Id List@i
5. W : {a:Id| (a ∈ A)}  List List@i
6. s : ConsensusState@i
7. i : ℤ@i
8. v : V@i
9. Dec((∃ws∈W. (∀b∈ws.i ≤ Inning(s;b)) ∧ (∀ws'∈W.¬in state s, ws' blocks ws from archiving v in inning i)))
⊢ (∃ws∈W. (∀b∈ws.i ≤ Inning(s;b)) ∧ (∀ws'∈W.¬in state s, ws' blocks ws from archiving v in inning i))
⇐⇒ ∃ws:{a:Id| (a ∈ A)}  List
     ((ws ∈ W)
     ∧ (∀b:{a:Id| (a ∈ A)} . ((b ∈ ws) 
⇒ (i ≤ Inning(s;b))))
     ∧ (∀ws':{a:Id| (a ∈ A)}  List. ((ws' ∈ W) 
⇒ (¬in state s, ws' blocks ws from archiving v in inning i))))
2
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. ∃v,v':V. (¬(v = v' ∈ V))@i
4. A : Id List@i
5. W : {a:Id| (a ∈ A)}  List List@i
6. s : ConsensusState@i
7. i : ℤ@i
8. v : V@i
9. Dec((∃ws∈W. (∀b∈ws.i ≤ Inning(s;b)) ∧ (∀ws'∈W.¬in state s, ws' blocks ws from archiving v in inning i)))
10. (∃ws∈W. (∀b∈ws.i ≤ Inning(s;b)) ∧ (∀ws'∈W.¬in state s, ws' blocks ws from archiving v in inning i))
⇐⇒ ∃ws:{a:Id| (a ∈ A)}  List
     ((ws ∈ W)
     ∧ (∀b:{a:Id| (a ∈ A)} . ((b ∈ ws) 
⇒ (i ≤ Inning(s;b))))
     ∧ (∀ws':{a:Id| (a ∈ A)}  List. ((ws' ∈ W) 
⇒ (¬in state s, ws' blocks ws from archiving v in inning i))))
⊢ Dec(∃ws:{a:Id| (a ∈ A)}  List
       ((ws ∈ W)
       ∧ (∀b:{a:Id| (a ∈ A)} . ((b ∈ ws) 
⇒ (i ≤ Inning(s;b))))
       ∧ (∀ws':{a:Id| (a ∈ A)}  List. ((ws' ∈ W) 
⇒ (¬in state s, ws' blocks ws from archiving v in inning i)))))
Latex:
1.  [V]  :  Type
2.  \mforall{}v1,v2:V.    Dec(v1  =  v2)@i
3.  \mexists{}v,v':V.  (\mneg{}(v  =  v'))@i
4.  A  :  Id  List@i
5.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
6.  s  :  ConsensusState@i
7.  i  :  \mBbbZ{}@i
8.  v  :  V@i
9.  Dec((\mexists{}ws\mmember{}W.  (\mforall{}b\mmember{}ws.i  \mleq{}  Inning(s;b))
\mwedge{}  (\mforall{}ws'\mmember{}W.\mneg{}in  state  s,  ws'  blocks  ws  from  archiving  v  in  inning  i)))
\mvdash{}  Dec(\mexists{}ws:\{a:Id|  (a  \mmember{}  A)\}    List
              ((ws  \mmember{}  W)
              \mwedge{}  (\mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  ((b  \mmember{}  ws)  {}\mRightarrow{}  (i  \mleq{}  Inning(s;b))))
              \mwedge{}  (\mforall{}ws':\{a:Id|  (a  \mmember{}  A)\}    List
                        ((ws'  \mmember{}  W)  {}\mRightarrow{}  (\mneg{}in  state  s,  ws'  blocks  ws  from  archiving  v  in  inning  i)))))
By
Assert  \mkleeneopen{}(\mexists{}ws\mmember{}W.  (\mforall{}b\mmember{}ws.i  \mleq{}  Inning(s;b))
                \mwedge{}  (\mforall{}ws'\mmember{}W.\mneg{}in  state  s,  ws'  blocks  ws  from  archiving  v  in  inning  i))
                \mLeftarrow{}{}\mRightarrow{}  \mexists{}ws:\{a:Id|  (a  \mmember{}  A)\}    List
                          ((ws  \mmember{}  W)
                          \mwedge{}  (\mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  ((b  \mmember{}  ws)  {}\mRightarrow{}  (i  \mleq{}  Inning(s;b))))
                          \mwedge{}  (\mforall{}ws':\{a:Id|  (a  \mmember{}  A)\}    List
                                    ((ws'  \mmember{}  W)  {}\mRightarrow{}  (\mneg{}in  state  s,  ws'  blocks  ws  from  archiving  v  in  inning  i))))\mkleeneclose{}\mcdot{}
Home
Index