Step
*
1
2
1
1
of Lemma
consensus-refinement3
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. {∃v,v':V. (¬(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. ||W|| ≥ 1 
8. two-intersection(A;W)@i
9. f : ConsensusState ─→ (consensus-state3(V) List)@i
10. cs-ref-map-constraints(V;A;W;f)@i
11. x : ts-reachable(consensus-ts4(V;A;W))@i
12. y : ts-reachable(consensus-ts4(V;A;W))@i
13. x ts-rel(consensus-ts4(V;A;W)) y@i
14. x ∈ ConsensusState
15. y ∈ ConsensusState
16. CR[x,y]
⊢ (f x) (ts-rel(consensus-ts3(V))^*) (f y)
BY
{ ((InstLemma `cs-ref-map-unchanged` [⌈V⌉;⌈A⌉;⌈W⌉;⌈f⌉;⌈x⌉;⌈y⌉]⋅ THENA Auto)
   THEN (InstLemma `cs-ref-map-changed` [⌈V⌉;⌈A⌉;⌈W⌉;⌈f⌉;⌈x⌉;⌈y⌉]⋅ THENA Auto)
   ) }
1
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. {∃v,v':V. (¬(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. ||W|| ≥ 1 
8. two-intersection(A;W)@i
9. f : ConsensusState ─→ (consensus-state3(V) List)@i
10. cs-ref-map-constraints(V;A;W;f)@i
11. x : ts-reachable(consensus-ts4(V;A;W))@i
12. y : ts-reachable(consensus-ts4(V;A;W))@i
13. x ts-rel(consensus-ts4(V;A;W)) y@i
14. x ∈ ConsensusState
15. y ∈ ConsensusState
16. CR[x,y]
17. ∀i:ℕ
      ((∀v:V. (in state x, inning i could commit v  
⇒ in state y, inning i could commit v ))
         
⇒ ((f y[i] = f x[i] ∈ consensus-state3(V))
            ∨ (∃v:V
                ((f y[i] = COMMITED[v] ∈ consensus-state3(V))
                ∧ (f x[i] = CONSIDERING[v] ∈ consensus-state3(V)))))) supposing 
         (i < ||f y|| and 
         i < ||f x||)
18. ∀i:ℕ
      (∀v:V
         ((in state x, inning i could commit v  ∧ (¬in state y, inning i could commit v ))
         
⇒ ((f y[i] = WITHDRAWN ∈ consensus-state3(V))
            ∨ ((f x[i] = INITIAL ∈ consensus-state3(V))
              ∧ ((f y[i] = INITIAL ∈ consensus-state3(V))
                ∨ (∃v':V
                    ((∀j:ℕi. (¬(f x[j] = INITIAL ∈ consensus-state3(V))))
                    ∧ ((f y[i] = CONSIDERING[v'] ∈ consensus-state3(V)) ∨ (f y[i] = COMMITED[v'] ∈ consensus-state3(V)))
                    ∧ (∀j:ℕi. ∀v'':V.
                         (((f x[j] = CONSIDERING[v''] ∈ consensus-state3(V))
                         ∨ (f x[j] = COMMITED[v''] ∈ consensus-state3(V)))
                         
⇒ (v'' = v' ∈ V)))))))))) supposing 
         (i < ||f y|| and 
         i < ||f x||)
⊢ (f x) (ts-rel(consensus-ts3(V))^*) (f y)
Latex:
1.  [V]  :  Type
2.  \mforall{}v1,v2:V.    Dec(v1  =  v2)@i
3.  \{\mexists{}v,v':V.  (\mneg{}(v  =  v'))\}@i
4.  \mforall{}L:V  List.  Dec(\mexists{}v:V.  (\mneg{}(v  \mmember{}  L)))@i
5.  A  :  Id  List@i
6.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
7.  ||W||  \mgeq{}  1 
8.  two-intersection(A;W)@i
9.  f  :  ConsensusState  {}\mrightarrow{}  (consensus-state3(V)  List)@i
10.  cs-ref-map-constraints(V;A;W;f)@i
11.  x  :  ts-reachable(consensus-ts4(V;A;W))@i
12.  y  :  ts-reachable(consensus-ts4(V;A;W))@i
13.  x  ts-rel(consensus-ts4(V;A;W))  y@i
14.  x  \mmember{}  ConsensusState
15.  y  \mmember{}  ConsensusState
16.  CR[x,y]
\mvdash{}  (f  x)  rel\_star(ts-type(consensus-ts3(V));  ts-rel(consensus-ts3(V)))  (f  y)
By
((InstLemma  `cs-ref-map-unchanged`  [\mkleeneopen{}V\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}W\mkleeneclose{};\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{};\mkleeneopen{}y\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (InstLemma  `cs-ref-map-changed`  [\mkleeneopen{}V\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}W\mkleeneclose{};\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{};\mkleeneopen{}y\mkleeneclose{}]\mcdot{}  THENA  Auto)
  )
Home
Index