Step
*
1
2
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. 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. fst(fst(fst(msgval(e)))) ≠ n
15. r : ℤ
16. i : 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
BY
{ (BoolCase ⌈(snd(fst(fst(msgval(e)))) =z r)⌉⋅
   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. 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. fst(fst(fst(msgval(e)))) ≠ n
15. r : ℤ
16. i : 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
25. (snd(fst(fst(msgval(e))))) = r ∈ ℤ
⊢ λx.x ∈ False 
⇒ False
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. n : ℤ
14. fst(fst(fst(msgval(e)))) ≠ n
15. r : ℤ
16. snd(fst(fst(msgval(e)))) ≠ r
17. i : Id
18. v5 : ℤ
19. v6 : ℤ
20. v4 : Cmd
21. v2 : Id
22. header(e) = ``new_23_sig vote`` ∈ Name
23. has-es-info-type(es;e;f;ℤ × ℤ × Cmd × Id)
24. <<<v5, v6>, v4>, v2> = msgval(e) ∈ (ℤ × ℤ × Cmd × Id)
25. 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.  fst(fst(fst(msgval(e))))  \mneq{}  n
15.  r  :  \mBbbZ{}
16.  i  :  Id
17.  v5  :  \mBbbZ{}
18.  v6  :  \mBbbZ{}
19.  v4  :  Cmd
20.  v2  :  Id
21.  header(e)  =  ``new\_23\_sig  vote``
22.  has-es-info-type(es;e;f;\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id)
23.  <<<v5,  v6>,  v4>,  v2>  =  msgval(e)
24.  msgval(e)  \mmember{}  \mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id
\mvdash{}  \mlambda{}x.x  \mmember{}  False  {}\mRightarrow{}  False
By
Latex:
(BoolCase  \mkleeneopen{}(snd(fst(fst(msgval(e))))  =\msubz{}  r)\mkleeneclose{}\mcdot{}
  THENA  (Auto
                THEN  (DoSubsume  THEN  Auto)
                THEN  Repeat  ((BLemma  `subtype\_rel\_simple\_product`  THENA  Auto))
                THEN  Auto)
  )
Home
Index