{ 
[V:Type]
    ((
v1,v2:V.  Dec(v1 = v2))
    
 (
A:Id List. 
W:{a:Id| (a 
 A)}  List List.
          (two-intersection(A;W)
          
 (
f:ConsensusState 
 (consensus-state3(V) List)
                (cs-ref-map-constraints(V;A;W;f)
                
 (
x,y:ts-reachable(consensus-ts4(V;A;W)).
                      ((x ts-rel(consensus-ts4(V;A;W)) y)
                      
 (
i:
                            ((
v:V
                                (in state x, inning i could commit v 
                                
 in state y, inning i could commit v ))
                               
 ((f y[i] = f x[i])
                                  
 (
v:V
                                      ((f y[i] = COMMITED[v])
                                      
 (f x[i] = CONSIDERING[v]))))) supposing 
                               ((i < ||f y||) and 
                               (i < ||f x||)))))))))) }
{ Proof }
Definitions occuring in Statement : 
cs-ref-map-constraints: cs-ref-map-constraints(V;A;W;f), 
two-intersection: two-intersection(A;W), 
cs-inning-committable: in state s, inning i could commit v , 
consensus-ts4: consensus-ts4(V;A;W), 
consensus-state4: ConsensusState, 
cs-commited: COMMITED[v], 
cs-considering: CONSIDERING[v], 
consensus-state3: consensus-state3(T), 
Id: Id, 
select: l[i], 
length: ||as||, 
nat:
, 
decidable: Dec(P), 
uimplies: b supposing a, 
uall:
[x:A]. B[x], 
infix_ap: x f y, 
all:
x:A. B[x], 
exists:
x:A. B[x], 
implies: P 
 Q, 
or: P 
 Q, 
and: P 
 Q, 
less_than: a < b, 
set: {x:A| B[x]} , 
apply: f a, 
function: x:A 
 B[x], 
list: type List, 
universe: Type, 
equal: s = t, 
l_member: (x 
 l), 
ts-reachable: ts-reachable(ts), 
ts-rel: ts-rel(ts)
Definitions : 
uall:
[x:A]. B[x], 
implies: P 
 Q, 
all:
x:A. B[x], 
infix_ap: x f y, 
uimplies: b supposing a, 
and: P 
 Q, 
member: t 
 T, 
le: A 
 B, 
not:
A, 
false: False, 
prop:
, 
exists:
x:A. B[x], 
cand: A c
 B, 
or: P 
 Q, 
guard: {T}, 
cs-ref-map-constraints: cs-ref-map-constraints(V;A;W;f), 
ts-reachable: ts-reachable(ts), 
consensus-ts4: consensus-ts4(V;A;W), 
nat:
, 
ts-type: ts-type(ts), 
pi1: fst(t), 
iff: P 

 Q, 
rev_implies: P 
 Q, 
decidable: Dec(P), 
ts-stable: ts-stable(ts;x.P[x])
Lemmas : 
consensus-state3-cases, 
select_wf, 
cs-inning-committable_wf, 
length_wf1, 
consensus-state3_wf, 
nat_wf, 
ts-rel_wf, 
ts-reachable_wf, 
consensus-ts4_wf, 
ts-type_wf, 
cs-ref-map-constraints_wf, 
consensus-state4_wf, 
two-intersection_wf, 
l_member_wf, 
Id_wf, 
decidable_wf, 
not_wf, 
cs-commited_wf, 
cs-considering_wf, 
cs-inning-committable-step, 
decidable__cs-inning-committed, 
cs-inning-committed_wf, 
consensus-ts4-inning-committed-stable
\mforall{}[V:Type]
    ((\mforall{}v1,v2:V.    Dec(v1  =  v2))
    {}\mRightarrow{}  (\mforall{}A:Id  List.  \mforall{}W:\{a:Id|  (a  \mmember{}  A)\}    List  List.
                (two-intersection(A;W)
                {}\mRightarrow{}  (\mforall{}f:ConsensusState  {}\mrightarrow{}  (consensus-state3(V)  List)
                            (cs-ref-map-constraints(V;A;W;f)
                            {}\mRightarrow{}  (\mforall{}x,y:ts-reachable(consensus-ts4(V;A;W)).
                                        ((x  ts-rel(consensus-ts4(V;A;W))  y)
                                        {}\mRightarrow{}  (\mforall{}i:\mBbbN{}
                                                    ((\mforall{}v:V
                                                            (in  state  x,  inning  i  could  commit  v 
                                                            {}\mRightarrow{}  in  state  y,  inning  i  could  commit  v  ))
                                                          {}\mRightarrow{}  ((f  y[i]  =  f  x[i])
                                                                \mvee{}  (\mexists{}v:V
                                                                        ((f  y[i]  =  COMMITED[v])
                                                                        \mwedge{}  (f  x[i]  =  CONSIDERING[v])))))  supposing 
                                                          ((i  <  ||f  y||)  and 
                                                          (i  <  ||f  x||))))))))))
Date html generated:
2011_08_16-AM-10_04_52
Last ObjectModification:
2011_06_18-AM-09_01_03
Home
Index