{ 
V:Type
    ((
v1,v2:V.  Dec(v1 = v2))
    
 {
v,v':V. (
(v = v'))}
    
 (
L:V List. Dec(
v:V. (
(v 
 L))))
    
 (
A:Id List. 
W:{a:Id| (a 
 A)}  List List.
          ((||W|| 
 1 )
          
 two-intersection(A;W)
          
 (
s1,s2:ts-reachable(consensus-ts4(V;A;W)).
                ((s1 (ts-rel(consensus-ts4(V;A;W))^*) s2)
                
 (
v1,v2:V.
                      ((
i:
. in state s1, inning i has committed v1)
                      
 (
j:
. in state s2, inning j has committed v2)
                      
 (v1 = v2)))))))) }
{ Proof }
Definitions occuring in Statement : 
two-intersection: two-intersection(A;W), 
cs-inning-committed: in state s, inning i has committed v, 
consensus-ts4: consensus-ts4(V;A;W), 
Id: Id, 
length: ||as||, 
nat:
, 
decidable: Dec(P), 
guard: {T}, 
infix_ap: x f y, 
ge: i 
 j , 
all:
x:A. B[x], 
exists:
x:A. B[x], 
not:
A, 
implies: P 
 Q, 
set: {x:A| B[x]} , 
list: type List, 
natural_number: $n, 
universe: Type, 
equal: s = t, 
l_member: (x 
 l), 
rel_star: R^*, 
ts-reachable: ts-reachable(ts), 
ts-rel: ts-rel(ts), 
ts-type: ts-type(ts)
Definitions : 
prop:
, 
member: t 
 T, 
exists:
x:A. B[x], 
pi1: fst(t), 
suptype: suptype(S; T), 
subtype: S 
 T, 
ts-type: ts-type(ts), 
consensus-ts1: consensus-ts1(T), 
consensus-ts4: consensus-ts4(V;A;W), 
all:
x:A. B[x], 
infix_ap: x f y, 
and: P 
 Q, 
implies: P 
 Q, 
true: True, 
ifthenelse: if b then t else f fi , 
btrue: tt, 
isl: isl(x), 
assert:
b, 
outl: outl(x), 
rev_implies: P 
 Q, 
iff: P 

 Q, 
ts-reachable: ts-reachable(ts), 
pi2: snd(t), 
ts-rel: ts-rel(ts), 
rel_star: R^*, 
guard: {T}, 
sq_type: SQType(T), 
bfalse: ff, 
or: P 
 Q, 
ycomb: Y, 
rel_exp: R^n, 
nat:
, 
cs-decided: Decided[v], 
consensus-state1: consensus-state1(V)
Lemmas : 
cs-inning-committed_wf, 
ts-type_wf, 
consensus-state1_wf, 
consensus-state4_wf, 
consensus-ts4_wf, 
consensus-ts1_wf, 
ts-refinement-reachable2, 
ts-rel_wf, 
rel_star_wf, 
cs-decided_wf, 
cs-undecided_wf, 
not_functionality_wrt_iff, 
assert_of_bnot, 
eqff_to_assert, 
assert_of_eq_int, 
eqtt_to_assert, 
iff_transitivity, 
bool_sq, 
bool_cases, 
not_wf, 
bnot_wf, 
assert_wf, 
bool_wf, 
eq_int_wf, 
isl_wf, 
outl_wf, 
top_wf
\mforall{}V:Type
    ((\mforall{}v1,v2:V.    Dec(v1  =  v2))
    {}\mRightarrow{}  \{\mexists{}v,v':V.  (\mneg{}(v  =  v'))\}
    {}\mRightarrow{}  (\mforall{}L:V  List.  Dec(\mexists{}v:V.  (\mneg{}(v  \mmember{}  L))))
    {}\mRightarrow{}  (\mforall{}A:Id  List.  \mforall{}W:\{a:Id|  (a  \mmember{}  A)\}    List  List.
                ((||W||  \mgeq{}  1  )
                {}\mRightarrow{}  two-intersection(A;W)
                {}\mRightarrow{}  (\mforall{}s1,s2:ts-reachable(consensus-ts4(V;A;W)).
                            ((s1  rel\_star(ts-type(consensus-ts4(V;A;W));  ts-rel(consensus-ts4(V;A;W)))  s2)
                            {}\mRightarrow{}  (\mforall{}v1,v2:V.
                                        ((\mexists{}i:\mBbbN{}.  in  state  s1,  inning  i  has  committed  v1)
                                        {}\mRightarrow{}  (\mexists{}j:\mBbbN{}.  in  state  s2,  inning  j  has  committed  v2)
                                        {}\mRightarrow{}  (v1  =  v2))))))))
Date html generated:
2011_08_16-AM-10_06_50
Last ObjectModification:
2011_01_03-PM-03_08_24
Home
Index