Step * of Lemma pv11_p1_ldr_active2

Cmd:ValueAllType. ∀f:pv11_p1_headers_type{i:l}(Cmd). ∀es:EO+(Message(f)). ∀e:E. ∀ldrs_uid:Id ─→ ℤ.
v:pv11_p1_Ballot_Num() × 𝔹 × ((ℤ × Cmd) List).
  (v ∈ pv11_p1_LeaderState(Cmd;ldrs_uid;f)(e)
   let bnum,active,proposals1 in 
     (↑active)
      (↓∃e':E
           ∃pvals:(pv11_p1_Ballot_Num() × ℤ × Cmd) List
            ∃proposals:(ℤ × Cmd) List
             ∃b:𝔹
              ((e' <loc e)
              ∧ <bnum, pvals> ∈ pv11_p1_adopted'base(Cmd;f)(e')
              ∧ <bnum, b, proposals> ∈ pv11_p1_LeaderState(Cmd;ldrs_uid;f)(e'))))
BY
MemoryInvariant' }

1
1. Cmd {T:Type| valueall-type(T)} @i'
2. 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. E@i
14. ldrs_uid Id ─→ ℤ@i
15. v1 pv11_p1_Ballot_Num()@i
16. v3 : 𝔹@i
17. v4 (ℤ × Cmd) List@i
18. <v1, v3, v4> ∈
     Memory-loc-class(pv11_p1_on_propose(Cmd) pv11_p1_when_adopted(Cmd;ldrs_uid) ...;λloc.{pv11_p1_init_leader(Cmd) 
                                                                                               loc};... (+) ...)(e)
19. x1 pv11_p1_Ballot_Num()@i'
20. x2 (pv11_p1_Ballot_Num() × ℤ × Cmd) List@i'
21. e' E@i'
22. s1 pv11_p1_Ballot_Num()@i'
23. s3 : 𝔹@i'
24. s4 (ℤ × Cmd) List@i'
25. (e' <loc e)@i'
26. inr (inl <x1, x2>)  ∈ pv11_p1_propose'base(Cmd;f) (+) pv11_p1_adopted'base(Cmd;f) (+) pv11_p1_preempted'base(Cmd;f)(\000Ce')@i'
27. <s1, s3, s4> ∈
     Memory-loc-class(pv11_p1_on_propose(Cmd) pv11_p1_when_adopted(Cmd;ldrs_uid) ...;λloc.{pv11_p1_init_leader(Cmd) 
                                                                                               loc};... (+) ...)(e')@i'
28. (↑s3)
 (↓∃e':E
      ∃pvals:(pv11_p1_Ballot_Num() × ℤ × Cmd) List
       ∃proposals:(ℤ × Cmd) List
        ∃b:𝔹
         ((e' <loc e)
         ∧ <s1, pvals> ∈ pv11_p1_adopted'base(Cmd;f)(e')
         ∧ <s1, b, proposals> ∈ pv11_p1_LeaderState(Cmd;ldrs_uid;f)(e')))@i'
29. x1 s1 ∈ pv11_p1_Ballot_Num()
⊢ ↓∃e':E
    ∃pvals:(pv11_p1_Ballot_Num() × ℤ × Cmd) List
     ∃proposals:(ℤ × Cmd) List
      ∃b:𝔹
       ((e' <loc e)
       ∧ <s1, pvals> ∈ pv11_p1_adopted'base(Cmd;f)(e')
       ∧ <s1, b, proposals> ∈ pv11_p1_LeaderState(Cmd;ldrs_uid;f)(e'))


Latex:



Latex:
\mforall{}Cmd:ValueAllType.  \mforall{}f:pv11\_p1\_headers\_type\{i:l\}(Cmd).  \mforall{}es:EO+(Message(f)).  \mforall{}e:E.  \mforall{}ldrs$_\mbackslash{}ff7\000Cbuid}$:Id  {}\mrightarrow{}  \mBbbZ{}.
\mforall{}v:pv11\_p1\_Ballot\_Num()  \mtimes{}  \mBbbB{}  \mtimes{}  ((\mBbbZ{}  \mtimes{}  Cmd)  List).
    (v  \mmember{}  pv11\_p1\_LeaderState(Cmd;ldrs$_{uid}$;f)(e)
    {}\mRightarrow{}  let  bnum,active,proposals1  =  v  in 
          (\muparrow{}active)
          {}\mRightarrow{}  (\mdownarrow{}\mexists{}e':E
                      \mexists{}pvals:(pv11\_p1\_Ballot\_Num()  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd)  List
                        \mexists{}proposals:(\mBbbZ{}  \mtimes{}  Cmd)  List
                          \mexists{}b:\mBbbB{}
                            ((e'  <loc  e)
                            \mwedge{}  <bnum,  pvals>  \mmember{}  pv11\_p1\_adopted'base(Cmd;f)(e')
                            \mwedge{}  <bnum,  b,  proposals>  \mmember{}  pv11\_p1\_LeaderState(Cmd;ldrs$_{uid}$;f)(e\000C'))))


By


Latex:
MemoryInvariant'




Home Index