Step
*
1
1
of Lemma
new_23_sig_vote_with_ballot_and_id-assert-classrel
1. Cmd : {T:Type| valueall-type(T)} 
2. propose : Atom List
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))
12. e : E
13. n : ℤ
14. r : ℤ
15. i : Id
16. ↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e;n;r;i)
17. has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
⊢ <<<n, r>, snd(fst(msgval(e)))>, i> ∈ new_23_sig_vote'base(Cmd;notify;propose;f)(e)
BY
{ (MoveToConcl (-2)
   THEN UnfoldAtAddr [1;1] 0
   THEN (BoolCase ⌈e ∈b new_23_sig_vote'base(Cmd;notify;propose;f)⌉⋅ THENA Auto)) }
1
1. Cmd : {T:Type| valueall-type(T)} 
2. propose : Atom List
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))
12. e : E
13. n : ℤ
14. r : ℤ
15. i : Id
16. has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
17. ↑e ∈b new_23_sig_vote'base(Cmd;notify;propose;f)
⊢ (↑((fst(fst(fst(msgval(e)))) =z n) ∧b (snd(fst(fst(msgval(e)))) =z r) ∧b snd(msgval(e)) = i))
⇒ <<<n, r>, snd(fst(msgval(e)))>, i> ∈ new_23_sig_vote'base(Cmd;notify;propose;f)(e)
2
1. Cmd : {T:Type| valueall-type(T)} 
2. propose : Atom List
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))
12. e : E
13. ¬↑e ∈b new_23_sig_vote'base(Cmd;notify;propose;f)
14. n : ℤ
15. r : ℤ
16. i : Id
17. has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
⊢ False 
⇒ <<<n, r>, snd(fst(msgval(e)))>, i> ∈ new_23_sig_vote'base(Cmd;notify;propose;f)(e)
Latex:
Latex:
1.  Cmd  :  \{T:Type|  valueall-type(T)\} 
2.  propose  :  Atom  List
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))
12.  e  :  E
13.  n  :  \mBbbZ{}
14.  r  :  \mBbbZ{}
15.  i  :  Id
16.  \muparrow{}new\_23\_sig\_vote\_with\_ballot\_and\_id(Cmd;notify;propose;f;es;e;n;r;i)
17.  has-es-info-type(es;e;f;\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id)
\mvdash{}  <<<n,  r>,  snd(fst(msgval(e)))>,  i>  \mmember{}  new\_23\_sig\_vote'base(Cmd;notify;propose;f)(e)
By
Latex:
(MoveToConcl  (-2)
  THEN  UnfoldAtAddr  [1;1]  0
  THEN  (BoolCase  \mkleeneopen{}e  \mmember{}\msubb{}  new\_23\_sig\_vote'base(Cmd;notify;propose;f)\mkleeneclose{}\mcdot{}  THENA  Auto))
Home
Index