Nuprl Lemma : consensus-safety1
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)
        
 (
f:ConsensusState 
 consensus-state1(V)
             ((
v:V. 
s:ts-reachable(consensus-ts4(V;A;W)).
                 ((f s) = Decided[v] 

 
i:
. in state s, inning i has committed v))
             
 ts-refinement(consensus-ts1(V);consensus-ts4(V;A;W);f))))))
Proof not projected
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), 
consensus-state4: ConsensusState, 
consensus-ts1: consensus-ts1(T), 
cs-decided: Decided[v], 
consensus-state1: consensus-state1(V), 
Id: Id, 
length: ||as||, 
nat:
, 
decidable: Dec(P), 
guard: {T}, 
ge: i 
 j , 
all:
x:A. B[x], 
exists:
x:A. B[x], 
iff: P 

 Q, 
not:
A, 
implies: P 
 Q, 
and: P 
 Q, 
set: {x:A| B[x]} , 
apply: f a, 
function: x:A 
 B[x], 
list: type List, 
natural_number: $n, 
universe: Type, 
equal: s = t, 
l_member: (x 
 l), 
ts-refinement: ts-refinement(ts1;ts2;f), 
ts-reachable: ts-reachable(ts)
Definitions : 
all:
x:A. B[x], 
implies: P 
 Q, 
exists:
x:A. B[x], 
ge: i 
 j , 
member: t 
 T, 
prop:
, 
so_lambda: 
x.t[x], 
consensus-ts3: consensus-ts3(T), 
consensus-ts2: consensus-ts2(T), 
consensus-ts1: consensus-ts1(T), 
cs-is-decided: cs-is-decided(x), 
cs-undecided: UNDECIDED, 
consensus-state1: consensus-state1(V), 
ts-type: ts-type(ts), 
pi1: fst(t), 
consensus-state2: consensus-state2(T), 
top: Top, 
subtype: S 
 T, 
consensus-ts4: consensus-ts4(V;A;W), 
bfalse: ff, 
btrue: tt, 
ifthenelse: if b then t else f fi , 
and: P 
 Q, 
compose: f o g, 
suptype: suptype(S; T), 
rev_implies: P 
 Q, 
squash:
T, 
iff: P 

 Q, 
true: True, 
false: False, 
cand: A c
 B, 
le: A 
 B, 
l_member: (x 
 l), 
not:
A, 
cs-decided: Decided[v], 
isl: isl(x), 
assert:
b, 
uall:
[x:A]. B[x], 
uimplies: b supposing a, 
so_apply: x[s], 
guard: {T}, 
unit: Unit, 
bool:
, 
ts-reachable: ts-reachable(ts), 
uiff: uiff(P;Q), 
or: P 
 Q, 
cs-ambivalent: AMBIVALENT, 
cs-predecided: PREDECIDED[v], 
nat:
, 
cs-ref-map-constraints: cs-ref-map-constraints(V;A;W;f), 
cs-archived: by state s, a archived v in inning i, 
l_all: (
x
L.P[x]), 
one-intersection: one-intersection(A;W), 
cs-inning-committed: in state s, inning i has committed v, 
it:
Lemmas : 
consensus-refinement3, 
consensus-ts4-ref-map, 
consensus-refinement2, 
consensus-refinement1, 
two-intersection_wf, 
ge_wf, 
length_wf, 
Id_wf, 
l_member_wf, 
all_wf, 
decidable_wf, 
exists_wf, 
not_wf, 
guard_wf, 
equal_wf, 
ts-refinement-composition, 
consensus-ts1_wf, 
consensus-ts2_wf, 
consensus-ts3_wf, 
cs-ref-map3_wf, 
consensus-state3_wf, 
ifthenelse_wf, 
isl_wf, 
top_wf, 
consensus-ts4_wf, 
compose_wf, 
assert_of_bnot, 
eqff_to_assert, 
bnot_wf, 
assert_wf, 
iff_transitivity, 
eqtt_to_assert, 
bool_wf, 
ts-reachable_wf, 
ts-type_wf, 
ts-refinement-reachable, 
consensus-state4_wf, 
cs-is-decided_wf, 
uiff_transitivity, 
consensus-state2-cases, 
cs-decided_wf2, 
consensus-state2_wf, 
true_wf, 
squash_wf, 
cs-inning-committed_wf, 
nat_wf, 
cs-decided_wf, 
consensus-state1_wf, 
cs-ref-map3-decided, 
cs-inning_wf, 
le_wf, 
consensus-ts4-estimate-domain, 
two-intersection-one-intersection, 
select_wf, 
cs-commited_wf, 
cs-undecided_wf, 
ts-refinement_wf, 
iff_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{}  (\mexists{}f:ConsensusState  {}\mrightarrow{}  consensus-state1(V)
                          ((\mforall{}v:V.  \mforall{}s:ts-reachable(consensus-ts4(V;A;W)).
                                  ((f  s)  =  Decided[v]  \mLeftarrow{}{}\mRightarrow{}  \mexists{}i:\mBbbN{}.  in  state  s,  inning  i  has  committed  v))
                          \mwedge{}  ts-refinement(consensus-ts1(V);consensus-ts4(V;A;W);f))))))
Date html generated:
2012_01_23-PM-12_05_37
Last ObjectModification:
2011_12_31-AM-11_10_21
Home
Index