Step
*
of Lemma
new_23_sig_voter_start
∀[Cmd:ValueAllType]. ∀[propose,notify:Atom List]. ∀[slots:set-sig{i:l}(ℤ)].
∀[f:new_23_sig_headers_type{i:l}(Cmd;notify;propose)]. ∀[es:EO+(Message(f))]. ∀[e:E]. ∀[n:ℤ]. ∀[c:Cmd].
  (<n, c> ∈ new_23_sig_Proposal(Cmd;notify;propose;f)(e)
  
⇒ (↓∃e':E
        ∃c':Cmd
         (e' ≤loc e 
         ∧ <n, c'> ∈ new_23_sig_Proposal(Cmd;notify;propose;f)(e')
         ∧ (¬↑(set-sig-member(slots) n new_23_sig_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e'))))))
BY
{ StartEmlProof }
1
1. Cmd : {T:Type| valueall-type(T)} 
2. propose : Atom List
3. notify : Atom List
4. slots : set-sig{i:l}(ℤ)
5. f : new_23_sig_headers_type{i:l}(Cmd;notify;propose)
6. (f propose) = (ℤ × Cmd) ∈ Type
7. (f notify) = (ℤ × Cmd) ∈ Type
8. (f ``new_23_sig decided``) = (ℤ × Cmd) ∈ Type
9. (f ``new_23_sig retry``) = (ℤ × ℤ × Cmd) ∈ Type
10. (f ``new_23_sig vote``) = (ℤ × ℤ × Cmd × Id) ∈ Type
11. f ∈ Name ─→ Type
12. es : EO+(Message(f))
13. e : E
14. n : ℤ
15. c : Cmd
16. <n, c> ∈ new_23_sig_Proposal(Cmd;notify;propose;f)(e)@i
⊢ ↓∃e':E
    ∃c':Cmd
     (e' ≤loc e 
     ∧ <n, c'> ∈ new_23_sig_Proposal(Cmd;notify;propose;f)(e')
     ∧ (¬↑(set-sig-member(slots) n new_23_sig_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e'))))
Latex:
Latex:
\mforall{}[Cmd:ValueAllType].  \mforall{}[propose,notify:Atom  List].  \mforall{}[slots:set-sig\{i:l\}(\mBbbZ{})].
\mforall{}[f:new\_23\_sig\_headers\_type\{i:l\}(Cmd;notify;propose)].  \mforall{}[es:EO+(Message(f))].  \mforall{}[e:E].  \mforall{}[n:\mBbbZ{}].
\mforall{}[c:Cmd].
    (<n,  c>  \mmember{}  new\_23\_sig\_Proposal(Cmd;notify;propose;f)(e)
    {}\mRightarrow{}  (\mdownarrow{}\mexists{}e':E
                \mexists{}c':Cmd
                  (e'  \mleq{}loc  e 
                  \mwedge{}  <n,  c'>  \mmember{}  new\_23\_sig\_Proposal(Cmd;notify;propose;f)(e')
                  \mwedge{}  (\mneg{}\muparrow{}(set-sig-member(slots)  n 
                              new\_23\_sig\_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e'))))))
By
Latex:
StartEmlProof
Home
Index