Step * 1 of Lemma new_23_sig_vote_with_ballot_and_id-implies


1. Cmd {T:Type| valueall-type(T)} 
2. propose Atom List
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))
12. E
13. : ℤ
14. : ℤ
15. Id
16. ↑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))
 (↑((fst(fst(fst(msgval(e)))) =z n) ∧b (snd(fst(fst(msgval(e)))) =z r)))
BY
(UseWitness ⌈λx.x⌉⋅
   THEN (RWO "assert-member-eclass" (-1) THENA Auto)
   THEN SquashExRepD
   THEN MaUseClassRel (-1)
   THEN (Assert ⌈msgval(e) ∈ ℤ × ℤ × Cmd × Id⌉⋅ THENA Auto)
   THEN (BoolCase ⌈(fst(fst(fst(msgval(e)))) =z n)⌉⋅
         THENA (Auto
                THEN (DoSubsume THEN Auto)
                THEN Repeat ((BLemma `subtype_rel_simple_product` THENA Auto))
                THEN Auto)
         )) }

1
1. Cmd {T:Type| valueall-type(T)} 
2. propose Atom List
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))
12. E
13. : ℤ
14. : ℤ
15. Id
16. v5 : ℤ
17. v6 : ℤ
18. v4 Cmd
19. v2 Id
20. header(e) ``new_23_sig vote`` ∈ Name
21. has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
22. <<<v5, v6>v4>v2> msgval(e) ∈ (ℤ × ℤ × Cmd × Id)
23. msgval(e) ∈ ℤ × ℤ × Cmd × Id
24. (fst(fst(fst(msgval(e))))) n ∈ ℤ
⊢ λx.x ∈ (↑((snd(fst(fst(msgval(e)))) =z r) ∧b snd(msgval(e)) i))  (↑(snd(fst(fst(msgval(e)))) =z r))

2
1. Cmd {T:Type| valueall-type(T)} 
2. propose Atom List
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))
12. E
13. : ℤ
14. fst(fst(fst(msgval(e)))) ≠ n
15. : ℤ
16. Id
17. v5 : ℤ
18. v6 : ℤ
19. v4 Cmd
20. v2 Id
21. header(e) ``new_23_sig vote`` ∈ Name
22. has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
23. <<<v5, v6>v4>v2> msgval(e) ∈ (ℤ × ℤ × Cmd × Id)
24. msgval(e) ∈ ℤ × ℤ × Cmd × Id
⊢ λx.x ∈ False  False


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{}e  \mmember{}\msubb{}  new\_23\_sig\_vote'base(Cmd;notify;propose;f)
\mvdash{}  (\muparrow{}((fst(fst(fst(msgval(e))))  =\msubz{}  n)  \mwedge{}\msubb{}  (snd(fst(fst(msgval(e))))  =\msubz{}  r)  \mwedge{}\msubb{}  snd(msgval(e))  =  i))
{}\mRightarrow{}  (\muparrow{}((fst(fst(fst(msgval(e))))  =\msubz{}  n)  \mwedge{}\msubb{}  (snd(fst(fst(msgval(e))))  =\msubz{}  r)))


By


Latex:
(UseWitness  \mkleeneopen{}\mlambda{}x.x\mkleeneclose{}\mcdot{}
  THEN  (RWO  "assert-member-eclass"  (-1)  THENA  Auto)
  THEN  SquashExRepD
  THEN  MaUseClassRel  (-1)
  THEN  (Assert  \mkleeneopen{}msgval(e)  \mmember{}  \mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  (BoolCase  \mkleeneopen{}(fst(fst(fst(msgval(e))))  =\msubz{}  n)\mkleeneclose{}\mcdot{}
              THENA  (Auto
                            THEN  (DoSubsume  THEN  Auto)
                            THEN  Repeat  ((BLemma  `subtype\_rel\_simple\_product`  THENA  Auto))
                            THEN  Auto)
              ))




Home Index