Step * 1 of Lemma new_23_sig_proposal_classrel2


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. [nc] : ℤ × Cmd
⊢ uiff(nc ∈ new_23_sig_Proposal(Cmd;notify;propose;f)(e);((header(e) propose ∈ Name) ∧ nc body(e))
∨ (has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
  ∧ (header(e) ``new_23_sig vote`` ∈ Name)
  ∧ ((fst(nc)) (fst(fst(fst(msgval(e))))) ∈ ℤ)
  ∧ ((snd(nc)) (snd(fst(msgval(e)))) ∈ Cmd)))
BY
(RWO "new_23_sig_proposal_classrel" THEN Auto 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@i
13. [nc] : ℤ × Cmd
14. [%] nc ∈ new_23_sig_propose'base(Cmd;notify;propose;f)(e)
∨ nc ∈ (new_23_sig_vote2prop(Cmd) new_23_sig_vote'base(Cmd;notify;propose;f))(e)
15. header(e) propose ∈ Name
⊢ ((header(e) propose ∈ Name) ∧ nc body(e))
∨ (has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
  ∧ (header(e) ``new_23_sig vote`` ∈ Name)
  ∧ ((fst(nc)) (fst(fst(fst(msgval(e))))) ∈ ℤ)
  ∧ ((snd(nc)) (snd(fst(msgval(e)))) ∈ Cmd))

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@i
13. [nc] : ℤ × Cmd
14. [%] nc ∈ new_23_sig_propose'base(Cmd;notify;propose;f)(e)
∨ nc ∈ (new_23_sig_vote2prop(Cmd) new_23_sig_vote'base(Cmd;notify;propose;f))(e)
15. ¬(header(e) propose ∈ Name)
⊢ ((header(e) propose ∈ Name) ∧ nc body(e))
∨ (has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
  ∧ (header(e) ``new_23_sig vote`` ∈ Name)
  ∧ ((fst(nc)) (fst(fst(fst(msgval(e))))) ∈ ℤ)
  ∧ ((snd(nc)) (snd(fst(msgval(e)))) ∈ Cmd))

3
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. [nc] : ℤ × Cmd
14. [%] ((header(e) propose ∈ Name) ∧ nc body(e))
∨ (has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
  ∧ (header(e) ``new_23_sig vote`` ∈ Name)
  ∧ ((fst(nc)) (fst(fst(fst(msgval(e))))) ∈ ℤ)
  ∧ ((snd(nc)) (snd(fst(msgval(e)))) ∈ Cmd))
15. header(e) propose ∈ Name
⊢ nc ∈ new_23_sig_propose'base(Cmd;notify;propose;f)(e)
∨ nc ∈ (new_23_sig_vote2prop(Cmd) new_23_sig_vote'base(Cmd;notify;propose;f))(e)

4
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. [nc] : ℤ × Cmd
14. [%] ((header(e) propose ∈ Name) ∧ nc body(e))
∨ (has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
  ∧ (header(e) ``new_23_sig vote`` ∈ Name)
  ∧ ((fst(nc)) (fst(fst(fst(msgval(e))))) ∈ ℤ)
  ∧ ((snd(nc)) (snd(fst(msgval(e)))) ∈ Cmd))
15. ¬(header(e) propose ∈ Name)
⊢ nc ∈ new_23_sig_propose'base(Cmd;notify;propose;f)(e)
∨ nc ∈ (new_23_sig_vote2prop(Cmd) new_23_sig_vote'base(Cmd;notify;propose;f))(e)


Latex:



Latex:

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)  =  (\mBbbZ{}  \mtimes{}  Cmd)
6.  (f  notify)  =  (\mBbbZ{}  \mtimes{}  Cmd)
7.  (f  ``new\_23\_sig  decided``)  =  (\mBbbZ{}  \mtimes{}  Cmd)
8.  (f  ``new\_23\_sig  retry``)  =  (\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd)
9.  (f  ``new\_23\_sig  vote``)  =  (\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id)
10.  f  \mmember{}  Name  {}\mrightarrow{}  Type
11.  es  :  EO+(Message(f))@i'
12.  e  :  E@i
13.  [nc]  :  \mBbbZ{}  \mtimes{}  Cmd
\mvdash{}  uiff(nc  \mmember{}  new\_23\_sig\_Proposal(Cmd;notify;propose;f)(e);((header(e)  =  propose)  \mwedge{}  nc  =  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(nc))  =  (fst(fst(fst(msgval(e))))))
    \mwedge{}  ((snd(nc))  =  (snd(fst(msgval(e)))))))


By


Latex:
(RWO  "new\_23\_sig\_proposal\_classrel"  0  THEN  Auto  THEN  (Decide  \mkleeneopen{}header(e)  =  propose\mkleeneclose{}\mcdot{}  THENA  Auto))




Home Index