Step
*
1
of Lemma
new_23_sig_decided_with_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. es : EO+(Message(f))
6. e : E
7. n : ℤ
8. ↑new_23_sig_decided_with_id(Cmd;notify;propose;f;es;e;n)
9. ((f propose) = (ℤ × Cmd) ∈ Type)
∧ ((f notify) = (ℤ × Cmd) ∈ Type)
∧ ((f ``new_23_sig decided``) = (ℤ × Cmd) ∈ Type)
∧ ((f ``new_23_sig retry``) = (ℤ × ℤ × Cmd) ∈ Type)
∧ ((f ``new_23_sig vote``) = (ℤ × ℤ × Cmd × Id) ∈ Type)
10. f ∈ Name ─→ Type
⊢ <n, snd(msgval(e))> ∈ new_23_sig_decided'base(Cmd;notify;propose;f)(e)
BY
{ (RepD
   THEN (FLemma `new_23_sig_decided_with_id-assert-type` [-7] THENA Auto)
   THEN MoveToConcl (-8)
   THEN UnfoldAtAddr [1;1] 0
   THEN BoolCase ⌈e ∈b new_23_sig_decided'base(Cmd;notify;propose;f)⌉⋅
   THEN Auto
   THEN (RW assert_pushdownC (-2) THENA Auto)
   THEN (RWO "assert-member-eclass" (-3) THENA Auto)
   THEN TrySquashExRepD (-3)) }
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. es : EO+(Message(f))
6. e : E
7. n : ℤ
8. (f propose) = (ℤ × Cmd) ∈ Type
9. (f notify) = (ℤ × Cmd) ∈ Type
10. (f ``new_23_sig decided``) = (ℤ × Cmd) ∈ Type
11. (f ``new_23_sig retry``) = (ℤ × ℤ × Cmd) ∈ Type
12. (f ``new_23_sig vote``) = (ℤ × ℤ × Cmd × Id) ∈ Type
13. f ∈ Name ─→ Type
14. has-es-info-type(es;e;f;ℤ × Cmd)
15. v : ℤ × Cmd
16. v ∈ new_23_sig_decided'base(Cmd;notify;propose;f)(e)
17. (fst(msgval(e))) = n ∈ ℤ
18. msgval(e) ∈ ℤ × Cmd
⊢ <n, snd(msgval(e))> ∈ new_23_sig_decided'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.  es  :  EO+(Message(f))
6.  e  :  E
7.  n  :  \mBbbZ{}
8.  \muparrow{}new\_23\_sig\_decided\_with\_id(Cmd;notify;propose;f;es;e;n)
9.  ((f  propose)  =  (\mBbbZ{}  \mtimes{}  Cmd))
\mwedge{}  ((f  notify)  =  (\mBbbZ{}  \mtimes{}  Cmd))
\mwedge{}  ((f  ``new\_23\_sig  decided``)  =  (\mBbbZ{}  \mtimes{}  Cmd))
\mwedge{}  ((f  ``new\_23\_sig  retry``)  =  (\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd))
\mwedge{}  ((f  ``new\_23\_sig  vote``)  =  (\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id))
10.  f  \mmember{}  Name  {}\mrightarrow{}  Type
\mvdash{}  <n,  snd(msgval(e))>  \mmember{}  new\_23\_sig\_decided'base(Cmd;notify;propose;f)(e)
By
Latex:
(RepD
  THEN  (FLemma  `new\_23\_sig\_decided\_with\_id-assert-type`  [-7]  THENA  Auto)
  THEN  MoveToConcl  (-8)
  THEN  UnfoldAtAddr  [1;1]  0
  THEN  BoolCase  \mkleeneopen{}e  \mmember{}\msubb{}  new\_23\_sig\_decided'base(Cmd;notify;propose;f)\mkleeneclose{}\mcdot{}
  THEN  Auto
  THEN  (RW  assert\_pushdownC  (-2)  THENA  Auto)
  THEN  (RWO  "assert-member-eclass"  (-3)  THENA  Auto)
  THEN  TrySquashExRepD  (-3))
Home
Index