Step * of Lemma new_23_sig_quorum_state_eq1-forward

Cmd:ValueAllType. ∀notify,propose:Atom List. ∀f:new_23_sig_headers_type{i:l}(Cmd;notify;propose). ∀es:EO+(Message(f)).
e,start:E. ∀n,r:ℤ.
  (start ≤loc 
   (new_23_sig_QuorumStateFun(Cmd;notify;propose;f;<n, r>;es.start;e)
     = <rev(mapfilter(λe.(snd(fst(msgval(e))));
                      λe.new_23_sig_vote_with_ballot_first(Cmd;notify;propose;f;es.start;e;n;r);
                      [start;e)))
       rev(mapfilter(λe.(snd(msgval(e)));
                       λe.new_23_sig_vote_with_ballot_first(Cmd;notify;propose;f;es.start;e;n;r);
                       [start;e)))
       >
     ∈ (Cmd List × (Id List))))
BY
StartEmlProof }

1
1. Cmd {T:Type| valueall-type(T)} @i'
2. notify Atom List@i
3. propose Atom List@i
4. new_23_sig_headers_type{i:l}(Cmd;notify;propose)@i'
5. (f propose) (ℤ × Cmd) ∈ Type
6. (f notify) (ℤ × Cmd) ∈ Type
7. (f ``new_23_sig decided``) (ℤ × Cmd) ∈ Type
8. (f ``new_23_sig retry``) (ℤ × ℤ × Cmd) ∈ Type
9. (f ``new_23_sig vote``) (ℤ × ℤ × Cmd × Id) ∈ Type
10. f ∈ Name ─→ Type
11. es EO+(Message(f))@i'
12. E@i
13. start E@i
14. : ℤ@i
15. : ℤ@i
16. start ≤loc @i
⊢ new_23_sig_QuorumStateFun(Cmd;notify;propose;f;<n, r>;es.start;e)
= <rev(mapfilter(λe.(snd(fst(msgval(e))));
                 λe.new_23_sig_vote_with_ballot_first(Cmd;notify;propose;f;es.start;e;n;r);
                 [start;e)))
  rev(mapfilter(λe.(snd(msgval(e)));
                  λe.new_23_sig_vote_with_ballot_first(Cmd;notify;propose;f;es.start;e;n;r);
                  [start;e)))
  >
∈ (Cmd List × (Id List))


Latex:



Latex:
\mforall{}Cmd:ValueAllType.  \mforall{}notify,propose:Atom  List.  \mforall{}f:new\_23\_sig\_headers\_type\{i:l\}(Cmd;notify;propose).
\mforall{}es:EO+(Message(f)).  \mforall{}e,start:E.  \mforall{}n,r:\mBbbZ{}.
    (start  \mleq{}loc  e 
    {}\mRightarrow{}  (new\_23\_sig\_QuorumStateFun(Cmd;notify;propose;f;<n,  r>es.start;e)
          =  <rev(mapfilter(\mlambda{}e.(snd(fst(msgval(e))));
                                            \mlambda{}e.new\_23\_sig\_vote\_with\_ballot\_first(Cmd;notify;propose;f;es.start;e;n;r);
                                            [start;e)))
              ,  rev(mapfilter(\mlambda{}e.(snd(msgval(e)));
                                              \mlambda{}e.new\_23\_sig\_vote\_with\_ballot\_first(Cmd;notify;propose;f;es.start;e;n;r);
                                              [start;e)))
              >))


By


Latex:
StartEmlProof




Home Index