Step
*
of Lemma
pv11_p1_A3
∀Cmd:ValueAllType. ∀f:pv11_p1_headers_type{i:l}(Cmd). ∀es:EO+(Message(f)). ∀e1,e2:E. ∀ldrs_uid:Id ─→ ℤ.
∀bnum1,bnum2:pv11_p1_Ballot_Num(). ∀accepted1,accepted2:(pv11_p1_Ballot_Num() × ℤ × Cmd) List.
  ((e1 <loc e2)
  
⇒ <bnum1, accepted1> ∈ pv11_p1_AcceptorState(Cmd;ldrs_uid;f)(e1)
  
⇒ <bnum2, accepted2> ∈ pv11_p1_AcceptorState(Cmd;ldrs_uid;f)(e2)
  
⇒ (∀pv:pv11_p1_Ballot_Num() × ℤ × Cmd. ((pv ∈ accepted1) 
⇒ (pv ∈ accepted2))))
BY
{ StartEmlProof }
1
1. Cmd : {T:Type| valueall-type(T)} @i'
2. f : pv11_p1_headers_type{i:l}(Cmd)@i'
3. (f [decision]) = (ℤ × Cmd) ∈ Type
4. (f [propose]) = (ℤ × Cmd) ∈ Type
5. (f ``pv11_p1 adopted``) = (pv11_p1_Ballot_Num() × ((pv11_p1_Ballot_Num() × ℤ × Cmd) List)) ∈ Type
6. (f ``pv11_p1 preempted``) = pv11_p1_Ballot_Num() ∈ Type
7. (f ``pv11_p1 p2b``) = (Id × pv11_p1_Ballot_Num() × ℤ × pv11_p1_Ballot_Num()) ∈ Type
8. (f ``pv11_p1 p2a``) = (Id × pv11_p1_Ballot_Num() × ℤ × Cmd) ∈ Type
9. (f ``pv11_p1 p1b``)
= (Id × pv11_p1_Ballot_Num() × pv11_p1_Ballot_Num() × ((pv11_p1_Ballot_Num() × ℤ × Cmd) List))
∈ Type
10. (f ``pv11_p1 p1a``) = (Id × pv11_p1_Ballot_Num()) ∈ Type
11. f ∈ Name ─→ Type
12. es : EO+(Message(f))@i'
13. e1 : E@i
14. e2 : E@i
15. ldrs_uid : Id ─→ ℤ@i
16. bnum1 : pv11_p1_Ballot_Num()@i
17. bnum2 : pv11_p1_Ballot_Num()@i
18. accepted1 : (pv11_p1_Ballot_Num() × ℤ × Cmd) List@i
19. accepted2 : (pv11_p1_Ballot_Num() × ℤ × Cmd) List@i
20. (e1 <loc e2)@i
21. <bnum1, accepted1> ∈ pv11_p1_AcceptorState(Cmd;ldrs_uid;f)(e1)@i
22. <bnum2, accepted2> ∈ pv11_p1_AcceptorState(Cmd;ldrs_uid;f)(e2)@i
23. pv : pv11_p1_Ballot_Num() × ℤ × Cmd@i
24. (pv ∈ accepted1)@i
⊢ (pv ∈ accepted2)
Latex:
Latex:
\mforall{}Cmd:ValueAllType.  \mforall{}f:pv11\_p1\_headers\_type\{i:l\}(Cmd).  \mforall{}es:EO+(Message(f)).  \mforall{}e1,e2:E.
\mforall{}ldrs$_{uid}$:Id  {}\mrightarrow{}  \mBbbZ{}.  \mforall{}bnum1,bnum2:pv11\_p1\_Ballot\_Num().  \mforall{}accepted1,accepted2:(\000Cpv11\_p1\_Ballot\_Num()
                                                                                                                                                    \mtimes{}  \mBbbZ{}
                                                                                                                                                    \mtimes{}  Cmd)  List.
    ((e1  <loc  e2)
    {}\mRightarrow{}  <bnum1,  accepted1>  \mmember{}  pv11\_p1\_AcceptorState(Cmd;ldrs$_{uid}$;f)(e1)
    {}\mRightarrow{}  <bnum2,  accepted2>  \mmember{}  pv11\_p1\_AcceptorState(Cmd;ldrs$_{uid}$;f)(e2)
    {}\mRightarrow{}  (\mforall{}pv:pv11\_p1\_Ballot\_Num()  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd.  ((pv  \mmember{}  accepted1)  {}\mRightarrow{}  (pv  \mmember{}  accepted2))))
By
Latex:
StartEmlProof
Home
Index