Step
*
1
3
1
2
of Lemma
consensus-refinement3
1. V : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. {∃v,v':V. (¬(v = v' ∈ V))}@i
4. ∀L:V List. Dec(∃v:V. (¬(v ∈ L)))@i
5. A : Id List@i
6. a : Id
7. (a ∈ A)
8. W : {a:Id| (a ∈ A)}  List List@i
9. ||W|| ≥ 1 
10. two-intersection(A;W)@i
11. f : ConsensusState ─→ (consensus-state3(V) List)@i
12. cs-ref-map-constraints(V;A;W;f)@i
13. ∀x,y:ts-reachable(consensus-ts4(V;A;W)).
      ((x ts-rel(consensus-ts4(V;A;W)) y) 
⇒ ((f x) (ts-rel(consensus-ts3(V))^*) (f y)))
14. x : ts-reachable(consensus-ts3(V))@i
15. v : V@i
16. x = [COMMITED[v]] ∈ (consensus-state3(V) List)@i
17. ts-final(consensus-ts4(V;A;W)) (λa.<0, 0 : v>)
⊢ (f (λa.<0, 0 : v>)) = x ∈ ts-type(consensus-ts3(V))
BY
{ ((Assert λa.<0, 0 : v> ∈ ConsensusState BY
          (Unfold `consensus-state4` 0 THEN Auto))
   THEN RepUR ``ts-type consensus-ts3`` 0
   ) }
1
1. V : Type
2. ∀v1,v2:V.  Dec(v1 = v2 ∈ V)@i
3. {∃v,v':V. (¬(v = v' ∈ V))}@i
4. ∀L:V List. Dec(∃v:V. (¬(v ∈ L)))@i
5. A : Id List@i
6. a : Id
7. (a ∈ A)
8. W : {a:Id| (a ∈ A)}  List List@i
9. ||W|| ≥ 1 
10. two-intersection(A;W)@i
11. f : ConsensusState ─→ (consensus-state3(V) List)@i
12. cs-ref-map-constraints(V;A;W;f)@i
13. ∀x,y:ts-reachable(consensus-ts4(V;A;W)).
      ((x ts-rel(consensus-ts4(V;A;W)) y) 
⇒ ((f x) (ts-rel(consensus-ts3(V))^*) (f y)))
14. x : ts-reachable(consensus-ts3(V))@i
15. v : V@i
16. x = [COMMITED[v]] ∈ (consensus-state3(V) List)@i
17. ts-final(consensus-ts4(V;A;W)) (λa.<0, 0 : v>)
18. λa.<0, 0 : v> ∈ ConsensusState
⊢ (f (λa.<0, 0 : v>)) = x ∈ (consensus-state3(V) List)
Latex:
1.  V  :  Type
2.  \mforall{}v1,v2:V.    Dec(v1  =  v2)@i
3.  \{\mexists{}v,v':V.  (\mneg{}(v  =  v'))\}@i
4.  \mforall{}L:V  List.  Dec(\mexists{}v:V.  (\mneg{}(v  \mmember{}  L)))@i
5.  A  :  Id  List@i
6.  a  :  Id
7.  (a  \mmember{}  A)
8.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
9.  ||W||  \mgeq{}  1 
10.  two-intersection(A;W)@i
11.  f  :  ConsensusState  {}\mrightarrow{}  (consensus-state3(V)  List)@i
12.  cs-ref-map-constraints(V;A;W;f)@i
13.  \mforall{}x,y:ts-reachable(consensus-ts4(V;A;W)).
            ((x  ts-rel(consensus-ts4(V;A;W))  y)  {}\mRightarrow{}  ((f  x)  (ts-rel(consensus-ts3(V))\^{}*)  (f  y)))
14.  x  :  ts-reachable(consensus-ts3(V))@i
15.  v  :  V@i
16.  x  =  [COMMITED[v]]@i
17.  ts-final(consensus-ts4(V;A;W))  (\mlambda{}a.ɘ,  0  :  v>)
\mvdash{}  (f  (\mlambda{}a.ɘ,  0  :  v>))  =  x
By
((Assert  \mlambda{}a.ɘ,  0  :  v>  \mmember{}  ConsensusState  BY
                (Unfold  `consensus-state4`  0  THEN  Auto))
  THEN  RepUR  ``ts-type  consensus-ts3``  0
  )
Home
Index