Step * 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. Id List@i
6. ∃a:Id. (a ∈ A)
7. {a:Id| (a ∈ A)}  List List@i
8. ||W|| ≥ 
9. two-intersection(A;W)@i
10. ConsensusState ─→ (consensus-state3(V) List)@i
11. cs-ref-map-constraints(V;A;W;f)@i
12. ts-reachable(consensus-ts4(V;A;W))@i
13. ts-reachable(consensus-ts4(V;A;W))@i
14. ts-rel(consensus-ts4(V;A;W)) y@i
⊢ (f x) (ts-rel(consensus-ts3(V))^*) (f y)
BY
(Thin 6
   THEN (Assert x ∈ ConsensusState BY
               (DVar `x' THEN All (\i. RepUR ``ts-type consensus-ts4`` THEN Try Trivial)))
   THEN (Assert y ∈ ConsensusState BY
               (DVar `y' THEN All (\i. RepUR ``ts-type consensus-ts4`` THEN Try Trivial)))) }

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. Id List@i
6. {a:Id| (a ∈ A)}  List List@i
7. ||W|| ≥ 
8. two-intersection(A;W)@i
9. ConsensusState ─→ (consensus-state3(V) List)@i
10. cs-ref-map-constraints(V;A;W;f)@i
11. ts-reachable(consensus-ts4(V;A;W))@i
12. ts-reachable(consensus-ts4(V;A;W))@i
13. ts-rel(consensus-ts4(V;A;W)) y@i
14. x ∈ ConsensusState
15. y ∈ ConsensusState
⊢ (f x) (ts-rel(consensus-ts3(V))^*) (f y)


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.  \mexists{}a:Id.  (a  \mmember{}  A)
7.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
8.  ||W||  \mgeq{}  1 
9.  two-intersection(A;W)@i
10.  f  :  ConsensusState  {}\mrightarrow{}  (consensus-state3(V)  List)@i
11.  cs-ref-map-constraints(V;A;W;f)@i
12.  x  :  ts-reachable(consensus-ts4(V;A;W))@i
13.  y  :  ts-reachable(consensus-ts4(V;A;W))@i
14.  x  ts-rel(consensus-ts4(V;A;W))  y@i
\mvdash{}  (f  x)  rel\_star(ts-type(consensus-ts3(V));  ts-rel(consensus-ts3(V)))  (f  y)


By

(Thin  6
  THEN  (Assert  x  \mmember{}  ConsensusState  BY
                          (DVar  `x'  THEN  All  (\mbackslash{}i.  RepUR  ``ts-type  consensus-ts4``  i  THEN  Try  Trivial)))
  THEN  (Assert  y  \mmember{}  ConsensusState  BY
                          (DVar  `y'  THEN  All  (\mbackslash{}i.  RepUR  ``ts-type  consensus-ts4``  i  THEN  Try  Trivial))))




Home Index