Step * 1 3 1 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. 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. n1 : ℤ
14. n2 Cmd
15. has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
16. header(e) ``new_23_sig vote`` ∈ Name
17. n1 (fst(fst(fst(msgval(e))))) ∈ ℤ
18. n2 (snd(fst(msgval(e)))) ∈ Cmd
19. header(e) propose ∈ Name
20. header(e) propose ∈ Name
21. has-es-info-type(es;e;f;ℤ × Cmd)
22. msgval(e) ∈ ℤ × Cmd
⊢ <n1, n2> msgval(e) ∈ (ℤ × Cmd)
BY
(HypSubst' (-7) (-3) THEN DiffHeaders) }


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.  n1  :  \mBbbZ{}
14.  n2  :  Cmd
15.  has-es-info-type(es;e;f;\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id)
16.  header(e)  =  ``new\_23\_sig  vote``
17.  n1  =  (fst(fst(fst(msgval(e)))))
18.  n2  =  (snd(fst(msgval(e))))
19.  header(e)  =  propose
20.  header(e)  =  propose
21.  has-es-info-type(es;e;f;\mBbbZ{}  \mtimes{}  Cmd)
22.  msgval(e)  \mmember{}  \mBbbZ{}  \mtimes{}  Cmd
\mvdash{}  <n1,  n2>  =  msgval(e)


By


Latex:
(HypSubst'  (-7)  (-3)  THEN  DiffHeaders)




Home Index