Step * of Lemma new_23_sig_round_info_classrel2

[Cmd:ValueAllType]
  ∀propose:Atom List
    ∀[notify:Atom List]. ∀[f:new_23_sig_headers_type{i:l}(Cmd;notify;propose)].
      ∀es:EO+(Message(f)). ∀e:E.
        ∀[nrc:ℤ × ℤ × Cmd]
          uiff(nrc ∈ new_23_sig_RoundInfo(Cmd;notify;propose;f)(e);((header(e) ``new_23_sig retry`` ∈ Name)
          ∧ nrc body(e))
          ∨ (has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
            ∧ (header(e) ``new_23_sig vote`` ∈ Name)
            ∧ ((fst(fst(nrc))) (fst(fst(fst(msgval(e))))) ∈ ℤ)
            ∧ ((snd(fst(nrc))) (snd(fst(fst(msgval(e))))) ∈ ℤ)
            ∧ ((snd(nrc)) (snd(fst(msgval(e)))) ∈ Cmd)))
BY
StartEmlProof }

1
1. [Cmd] {T:Type| valueall-type(T)} 
2. propose Atom List@i
3. [notify] Atom List
4. [f] new_23_sig_headers_type{i:l}(Cmd;notify;propose)
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. [nrc] : ℤ × ℤ × Cmd
⊢ uiff(nrc ∈ new_23_sig_RoundInfo(Cmd;notify;propose;f)(e);((header(e) ``new_23_sig retry`` ∈ Name) ∧ nrc body(e))
∨ (has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
  ∧ (header(e) ``new_23_sig vote`` ∈ Name)
  ∧ ((fst(fst(nrc))) (fst(fst(fst(msgval(e))))) ∈ ℤ)
  ∧ ((snd(fst(nrc))) (snd(fst(fst(msgval(e))))) ∈ ℤ)
  ∧ ((snd(nrc)) (snd(fst(msgval(e)))) ∈ Cmd)))


Latex:


Latex:
\mforall{}[Cmd:ValueAllType]
    \mforall{}propose:Atom  List
        \mforall{}[notify:Atom  List].  \mforall{}[f:new\_23\_sig\_headers\_type\{i:l\}(Cmd;notify;propose)].
            \mforall{}es:EO+(Message(f)).  \mforall{}e:E.
                \mforall{}[nrc:\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd]
                    uiff(nrc  \mmember{}  new\_23\_sig\_RoundInfo(Cmd;notify;propose;f)(e);((header(e)
                    =  ``new\_23\_sig  retry``)
                    \mwedge{}  nrc  =  body(e))
                    \mvee{}  (has-es-info-type(es;e;f;\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id)
                        \mwedge{}  (header(e)  =  ``new\_23\_sig  vote``)
                        \mwedge{}  ((fst(fst(nrc)))  =  (fst(fst(fst(msgval(e))))))
                        \mwedge{}  ((snd(fst(nrc)))  =  (snd(fst(fst(msgval(e))))))
                        \mwedge{}  ((snd(nrc))  =  (snd(fst(msgval(e)))))))


By


Latex:
StartEmlProof




Home Index