Step
*
1
1
of Lemma
new_23_sig_vote_with_ballot_first-not2
1. Cmd : {T:Type| valueall-type(T)} @i'
2. propose : Atom List@i
3. notify : Atom List@i
4. f : 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 : E@i
13. n : ℤ@i
14. r : ℤ@i
15. i : Id@i
16. ↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e;n;r;i)
17. ∃e':E
     ((e' ∈ [es-init(es;e);e))
     ∧ (¬↑¬bnew_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e';n;r;snd(msgval(e)))))
18. has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
⊢ ∃e':E
   ((e' ∈ [es-init(es;e);e))
   ∧ (↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e';n;r;i))
   ∧ (↑new_23_sig_vote_with_ballot_first(Cmd;notify;propose;f;es;e';n;r)))
BY
{ (ExRepD
   THEN (RWO "assert_of_bnot" (-2) THENA Auto)
   THEN (RWO "not-not-assert" (-2) THENA Auto)
   THEN (InstLemma `can-find-first` [⌈E⌉;⌈λe'.new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e';n;r;i)⌉;
         ⌈[es-init(es;e);e)⌉]⋅
         THENA Auto
         )
   THEN D (-1)) }
1
1. Cmd : {T:Type| valueall-type(T)} @i'
2. propose : Atom List@i
3. notify : Atom List@i
4. f : 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 : E@i
13. n : ℤ@i
14. r : ℤ@i
15. i : Id@i
16. ↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e;n;r;i)
17. e' : E
18. (e' ∈ [es-init(es;e);e))
19. ↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e';n;r;snd(msgval(e)))
20. has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
21. ∃x:{E| first-member(E;x;[es-init(es;e);e);λe'.new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e';n;r;i))}
⊢ ∃e':E
   ((e' ∈ [es-init(es;e);e))
   ∧ (↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e';n;r;i))
   ∧ (↑new_23_sig_vote_with_ballot_first(Cmd;notify;propose;f;es;e';n;r)))
2
1. Cmd : {T:Type| valueall-type(T)} @i'
2. propose : Atom List@i
3. notify : Atom List@i
4. f : 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 : E@i
13. n : ℤ@i
14. r : ℤ@i
15. i : Id@i
16. ↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e;n;r;i)
17. e' : E
18. (e' ∈ [es-init(es;e);e))
19. ↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e';n;r;snd(msgval(e)))
20. has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
21. (∀x∈[es-init(es;e);e).¬↑((λe'.new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e';n;r;i)) x))
⊢ ∃e':E
   ((e' ∈ [es-init(es;e);e))
   ∧ (↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e';n;r;i))
   ∧ (↑new_23_sig_vote_with_ballot_first(Cmd;notify;propose;f;es;e';n;r)))
Latex:
Latex:
1.  Cmd  :  \{T:Type|  valueall-type(T)\}  @i'
2.  propose  :  Atom  List@i
3.  notify  :  Atom  List@i
4.  f  :  new\_23\_sig\_headers\_type\{i:l\}(Cmd;notify;propose)@i'
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.  n  :  \mBbbZ{}@i
14.  r  :  \mBbbZ{}@i
15.  i  :  Id@i
16.  \muparrow{}new\_23\_sig\_vote\_with\_ballot\_and\_id(Cmd;notify;propose;f;es;e;n;r;i)
17.  \mexists{}e':E
          ((e'  \mmember{}  [es-init(es;e);e))
          \mwedge{}  (\mneg{}\muparrow{}\mneg{}\msubb{}new\_23\_sig\_vote\_with\_ballot\_and\_id(Cmd;notify;propose;f;es;e';n;r;snd(msgval(e)))))
18.  has-es-info-type(es;e;f;\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id)
\mvdash{}  \mexists{}e':E
      ((e'  \mmember{}  [es-init(es;e);e))
      \mwedge{}  (\muparrow{}new\_23\_sig\_vote\_with\_ballot\_and\_id(Cmd;notify;propose;f;es;e';n;r;i))
      \mwedge{}  (\muparrow{}new\_23\_sig\_vote\_with\_ballot\_first(Cmd;notify;propose;f;es;e';n;r)))
By
Latex:
(ExRepD
  THEN  (RWO  "assert\_of\_bnot"  (-2)  THENA  Auto)
  THEN  (RWO  "not-not-assert"  (-2)  THENA  Auto)
  THEN  (InstLemma  `can-find-first`  [\mkleeneopen{}E\mkleeneclose{};
              \mkleeneopen{}\mlambda{}e'.new\_23\_sig\_vote\_with\_ballot\_and\_id(Cmd;notify;propose;f;es;e';n;r;i)\mkleeneclose{};
              \mkleeneopen{}[es-init(es;e);e)\mkleeneclose{}]\mcdot{}
              THENA  Auto
              )
  THEN  D  (-1))
Home
Index