Step
*
2
1
2
1
of Lemma
consensus-refinement4
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. v1 : V@i
4. v' : V@i
5. ¬(v1 = v' ∈ V)@i
6. A : Id List@i
7. W : {a:Id| (a ∈ A)}  List List@i
8. 1 < ||W||@i
9. two-intersection(A;W)@i
10. x1 : ConsensusState@i
11. x2 : Knowledge(ConsensusState)@i
12. y1 : ConsensusState@i
13. y2 : Knowledge(ConsensusState)@i
14. a : {a:Id| (a ∈ A)} @i
15. ∀b:{a:Id| (a ∈ A)} 
      ((¬(b = a ∈ Id))
      
⇒ ((Inning(y1;b) = Inning(x1;b) ∈ ℤ)
         ∧ (Estimate(y1;b) = Estimate(x1;b) ∈ i:ℤ fp-> V)
         ∧ (Knowledge(y2;b) = Knowledge(x2;b) ∈ b:Id fp-> ℤ × (ℤ × V + Top))))@i
16. Inning(y1;a) = Inning(x1;a) ∈ ℤ@i
17. Knowledge(y2;a) = Knowledge(x2;a) ∈ b:Id fp-> ℤ × (ℤ × V + Top)@i
18. ¬(Inning(x1;a) ∈ fpf-domain(Estimate(x1;a)))@i
19. v : V@i
20. ∃ws:{a:Id| (a ∈ A)}  List
     ((ws ∈ W)
     ∧ (∀b:{a:Id| (a ∈ A)} 
          ((b ∈ ws) 
⇒ ((↑b ∈ dom(Knowledge(x2;a))) ∧ (Inning(x1;a) = (fst(Knowledge(x2;a)(b))) ∈ ℤ))))
     ∧ (∀ws':{a:Id| (a ∈ A)}  List
          ((ws' ∈ W)
          
⇒ (∃b:{a:Id| (a ∈ A)} 
               ((b ∈ ws)
               ∧ (b ∈ ws')
               ∧ ((↑isl(snd(Knowledge(x2;a)(b)))) 
⇒ ((snd(outl(snd(Knowledge(x2;a)(b))))) = v ∈ V)))))))@i
21. Estimate(y1;a) = Estimate(x1;a) ⊕ Inning(x1;a) : v ∈ i:ℤ fp-> V@i
22. <x1, x2> ∈ ts-reachable(consensus-ts5(V;A;W))
23. <y1, y2> ∈ ts-reachable(consensus-ts5(V;A;W))
⊢ x1 ((λx,y. CR[x,y])^*) y1
BY
{ ((BLemma `rel_rel_star` THEN Auto) THEN RepUR ``consensus-rel`` 0 THEN InstConcl [⌈a⌉]⋅ THEN Auto) }
1
1. [V] : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. v1 : V@i
4. v' : V@i
5. ¬(v1 = v' ∈ V)@i
6. A : Id List@i
7. W : {a:Id| (a ∈ A)}  List List@i
8. 1 < ||W||@i
9. two-intersection(A;W)@i
10. x1 : ConsensusState@i
11. x2 : Knowledge(ConsensusState)@i
12. y1 : ConsensusState@i
13. y2 : Knowledge(ConsensusState)@i
14. a : {a:Id| (a ∈ A)} @i
15. ∀b:{a:Id| (a ∈ A)} 
      ((¬(b = a ∈ Id))
      
⇒ ((Inning(y1;b) = Inning(x1;b) ∈ ℤ)
         ∧ (Estimate(y1;b) = Estimate(x1;b) ∈ i:ℤ fp-> V)
         ∧ (Knowledge(y2;b) = Knowledge(x2;b) ∈ b:Id fp-> ℤ × (ℤ × V + Top))))@i
16. Inning(y1;a) = Inning(x1;a) ∈ ℤ@i
17. Knowledge(y2;a) = Knowledge(x2;a) ∈ b:Id fp-> ℤ × (ℤ × V + Top)@i
18. ¬(Inning(x1;a) ∈ fpf-domain(Estimate(x1;a)))@i
19. v : V@i
20. ∃ws:{a:Id| (a ∈ A)}  List
     ((ws ∈ W)
     ∧ (∀b:{a:Id| (a ∈ A)} 
          ((b ∈ ws) 
⇒ ((↑b ∈ dom(Knowledge(x2;a))) ∧ (Inning(x1;a) = (fst(Knowledge(x2;a)(b))) ∈ ℤ))))
     ∧ (∀ws':{a:Id| (a ∈ A)}  List
          ((ws' ∈ W)
          
⇒ (∃b:{a:Id| (a ∈ A)} 
               ((b ∈ ws)
               ∧ (b ∈ ws')
               ∧ ((↑isl(snd(Knowledge(x2;a)(b)))) 
⇒ ((snd(outl(snd(Knowledge(x2;a)(b))))) = v ∈ V)))))))@i
21. Estimate(y1;a) = Estimate(x1;a) ⊕ Inning(x1;a) : v ∈ i:ℤ fp-> V@i
22. <x1, x2> ∈ ts-reachable(consensus-ts5(V;A;W))
23. <y1, y2> ∈ ts-reachable(consensus-ts5(V;A;W))
24. ∀b:{a:Id| (a ∈ A)} 
      ((¬(b = a ∈ Id)) 
⇒ ((Inning(y1;b) = Inning(x1;b) ∈ ℤ) ∧ (Estimate(y1;b) = Estimate(x1;b) ∈ i:ℤ fp-> V)))
⊢ ((Inning(y1;a) = (Inning(x1;a) + 1) ∈ ℤ) ∧ (Estimate(y1;a) = Estimate(x1;a) ∈ i:ℤ fp-> V))
∨ ((Inning(y1;a) = Inning(x1;a) ∈ ℤ)
  ∧ (¬(Inning(x1;a) ∈ fpf-domain(Estimate(x1;a))))
  ∧ (∃v:V
      (state x1 may consider v in inning Inning(x1;a)
      ∧ (Estimate(y1;a) = Estimate(x1;a) ⊕ Inning(x1;a) : v ∈ i:ℤ fp-> V))))
Latex:
1.  [V]  :  Type
2.  \mforall{}v1,v2:V.    Dec(v1  =  v2)@i
3.  v1  :  V@i
4.  v'  :  V@i
5.  \mneg{}(v1  =  v')@i
6.  A  :  Id  List@i
7.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
8.  1  <  ||W||@i
9.  two-intersection(A;W)@i
10.  x1  :  ConsensusState@i
11.  x2  :  Knowledge(ConsensusState)@i
12.  y1  :  ConsensusState@i
13.  y2  :  Knowledge(ConsensusState)@i
14.  a  :  \{a:Id|  (a  \mmember{}  A)\}  @i
15.  \mforall{}b:\{a:Id|  (a  \mmember{}  A)\} 
            ((\mneg{}(b  =  a))
            {}\mRightarrow{}  ((Inning(y1;b)  =  Inning(x1;b))
                  \mwedge{}  (Estimate(y1;b)  =  Estimate(x1;b))
                  \mwedge{}  (Knowledge(y2;b)  =  Knowledge(x2;b))))@i
16.  Inning(y1;a)  =  Inning(x1;a)@i
17.  Knowledge(y2;a)  =  Knowledge(x2;a)@i
18.  \mneg{}(Inning(x1;a)  \mmember{}  fpf-domain(Estimate(x1;a)))@i
19.  v  :  V@i
20.  \mexists{}ws:\{a:Id|  (a  \mmember{}  A)\}    List
          ((ws  \mmember{}  W)
          \mwedge{}  (\mforall{}b:\{a:Id|  (a  \mmember{}  A)\} 
                    ((b  \mmember{}  ws)  {}\mRightarrow{}  ((\muparrow{}b  \mmember{}  dom(Knowledge(x2;a)))  \mwedge{}  (Inning(x1;a)  =  (fst(Knowledge(x2;a)(b)))))))
          \mwedge{}  (\mforall{}ws':\{a:Id|  (a  \mmember{}  A)\}    List
                    ((ws'  \mmember{}  W)
                    {}\mRightarrow{}  (\mexists{}b:\{a:Id|  (a  \mmember{}  A)\} 
                              ((b  \mmember{}  ws)
                              \mwedge{}  (b  \mmember{}  ws')
                              \mwedge{}  ((\muparrow{}isl(snd(Knowledge(x2;a)(b))))
                                  {}\mRightarrow{}  ((snd(outl(snd(Knowledge(x2;a)(b)))))  =  v)))))))@i
21.  Estimate(y1;a)  =  Estimate(x1;a)  \moplus{}  Inning(x1;a)  :  v@i
22.  <x1,  x2>  \mmember{}  ts-reachable(consensus-ts5(V;A;W))
23.  <y1,  y2>  \mmember{}  ts-reachable(consensus-ts5(V;A;W))
\mvdash{}  x1  rel\_star(ConsensusState;  \mlambda{}x,y.  CR[x,y])  y1
By
((BLemma  `rel\_rel\_star`  THEN  Auto)  THEN  RepUR  ``consensus-rel``  0  THEN  InstConcl  [\mkleeneopen{}a\mkleeneclose{}]\mcdot{}  THEN  Auto)
Home
Index