Step
*
of Lemma
new_23_sig_proposal_classrel
∀[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.
        ∀[nc:ℤ × Cmd]
          uiff(nc ∈ new_23_sig_Proposal(Cmd;notify;propose;f)(e);nc ∈ new_23_sig_propose'base(Cmd;notify;propose;f)(e)
          ∨ nc ∈ (new_23_sig_vote2prop(Cmd) o new_23_sig_vote'base(Cmd;notify;propose;f))(e))
BY
{ (Unfold `vatype` 0
   THEN Auto
   THEN AddMessageHeaderTypes
   THEN RepeatFor 2 (MoveToHeaderType (-1))
   THEN Try (Complete (Auto))
   THEN Try (Complete ((MaUseClassRel 0 THEN D 0 THEN Auto)))
   THEN MaUseClassRel (-1)
   THEN (Decide ⌈header(e) = propose ∈ Name⌉⋅ THENA Auto)) }
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 : E@i
13. [nc] : ℤ × Cmd
14. nc ∈ new_23_sig_propose'base(Cmd;notify;propose;f)(e)
↓∨ nc ∈ (new_23_sig_vote2prop(Cmd) o new_23_sig_vote'base(Cmd;notify;propose;f))(e)
15. header(e) = propose ∈ Name
⊢ nc ∈ new_23_sig_propose'base(Cmd;notify;propose;f)(e)
∨ nc ∈ (new_23_sig_vote2prop(Cmd) o new_23_sig_vote'base(Cmd;notify;propose;f))(e)
2
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 : E@i
13. [nc] : ℤ × Cmd
14. nc ∈ new_23_sig_propose'base(Cmd;notify;propose;f)(e)
↓∨ nc ∈ (new_23_sig_vote2prop(Cmd) o new_23_sig_vote'base(Cmd;notify;propose;f))(e)
15. ¬(header(e) = propose ∈ Name)
⊢ nc ∈ new_23_sig_propose'base(Cmd;notify;propose;f)(e)
∨ nc ∈ (new_23_sig_vote2prop(Cmd) o new_23_sig_vote'base(Cmd;notify;propose;f))(e)
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{}[nc:\mBbbZ{}  \mtimes{}  Cmd]
                    uiff(nc  \mmember{}  new\_23\_sig\_Proposal(Cmd;notify;propose;f)(
                                        e);nc  \mmember{}  new\_23\_sig\_propose'base(Cmd;notify;propose;f)(e)
                    \mvee{}  nc  \mmember{}  (new\_23\_sig\_vote2prop(Cmd)  o  new\_23\_sig\_vote'base(Cmd;notify;propose;f))(e))
By
Latex:
(Unfold  `vatype`  0
  THEN  Auto
  THEN  AddMessageHeaderTypes
  THEN  RepeatFor  2  (MoveToHeaderType  (-1))
  THEN  Try  (Complete  (Auto))
  THEN  Try  (Complete  ((MaUseClassRel  0  THEN  D  0  THEN  Auto)))
  THEN  MaUseClassRel  (-1)
  THEN  (Decide  \mkleeneopen{}header(e)  =  propose\mkleeneclose{}\mcdot{}  THENA  Auto))
Home
Index