Nuprl Lemma : three-cs-archive-condition
V:Type. 
A:Id List. 
t:
. 
f:V List 
 V. 
s:ts-type(three-consensus-ts(V;A;t;f)).
  ((ts-init(three-consensus-ts(V;A;t;f)) (ts-rel(three-consensus-ts(V;A;t;f))^*) s)
  
 (
v:V. 
a:{a:Id| (a 
 A)} . 
n:
. 
L:consensus-rcv(V;A) List.
        (L 
 s a
        
 archive-condition(V;A;t;f;n;v;L)
        
 (
as:{a:Id| (a 
 A)}  List
             (no_repeats({a:Id| (a 
 A)} as)
             
 (||as|| = ((2 * t) + 1))
             
 (
vs:V List
                 ((||vs|| = ||as||)
                 
 (v = (f vs))
                 
 (
i:
||as||
                      
L:consensus-rcv(V;A) List. (L 
 s as[i] 
 archive-condition(V;A;t;f;n - 1;vs[i];L))))))))))
Proof not projected
Definitions occuring in Statement : 
three-consensus-ts: three-consensus-ts(V;A;t;f), 
archive-condition: archive-condition(V;A;t;f;n;v;L), 
consensus-rcv: consensus-rcv(V;A), 
Id: Id, 
select: l[i], 
length: ||as||, 
int_seg: {i..j
}, 
nat_plus: 
, 
infix_ap: x f y, 
all:
x:A. B[x], 
exists:
x:A. B[x], 
implies: P 
 Q, 
and: P 
 Q, 
set: {x:A| B[x]} , 
apply: f a, 
function: x:A 
 B[x], 
list: type List, 
multiply: n * m, 
subtract: n - m, 
add: n + m, 
natural_number: $n, 
int:
, 
universe: Type, 
equal: s = t, 
no_repeats: no_repeats(T;l), 
iseg: l1 
 l2, 
l_member: (x 
 l), 
rel_star: R^*, 
ts-rel: ts-rel(ts), 
ts-init: ts-init(ts), 
ts-type: ts-type(ts)
Definitions : 
pi2: snd(t), 
false: False, 
le: A 
 B, 
cand: A c
 B, 
not:
A, 
pi1: fst(t), 
so_lambda: 
x.t[x], 
member: t 
 T, 
prop:
, 
and: P 
 Q, 
exists:
x:A. B[x], 
ts-init: ts-init(ts), 
ts-rel: ts-rel(ts), 
infix_ap: x f y, 
implies: P 
 Q, 
three-consensus-ts: three-consensus-ts(V;A;t;f), 
all:
x:A. B[x], 
Id: Id, 
no_repeats: no_repeats(T;l), 
nat_plus: 
, 
subtype: S 
 T, 
top: Top, 
true: True, 
squash:
T, 
values-for-distinct: values-for-distinct(eq;L), 
nat:
, 
guard: {T}, 
sq_type: SQType(T), 
rev_implies: P 
 Q, 
iff: P 

 Q, 
or: P 
 Q, 
ts-type: ts-type(ts), 
ifthenelse: if b then t else f fi , 
bfalse: ff, 
btrue: tt, 
null: null(as), 
assert:
b, 
lelt: i 
 j < k, 
uimplies: b supposing a, 
so_apply: x[s], 
ts-reachable: ts-reachable(ts), 
uall:
[x:A]. B[x], 
int_seg: {i..j
}, 
decidable: Dec(P), 
consensus-rcv: consensus-rcv(V;A), 
sq_stable: SqStable(P), 
cs-initial-rcv: Init[v], 
cs-rcv-vote: Vote[a;i;v]
Lemmas : 
ts-init_wf, 
ts-rel_wf, 
rel_star_wf, 
append_wf, 
not_wf, 
cs-rcv-vote_wf, 
equal_wf, 
nat_wf, 
archive-condition-nil, 
iseg_nil, 
ts-type_wf, 
ts-reachable_wf, 
select_wf, 
int_seg_wf, 
length_wf, 
no_repeats_wf, 
exists_wf, 
archive-condition_wf, 
iseg_wf, 
consensus-rcv_wf, 
nat_plus_wf, 
l_member_wf, 
Id_wf, 
all_wf, 
nat_plus_inc, 
three-consensus-ts_wf, 
ts-reachable-induction3, 
iseg_append, 
iseg_weakening, 
Id_sq, 
decidable__equal_Id, 
iseg-append-one, 
atom2_subtype_base, 
subtype_base_sq, 
member_wf, 
length_wf_nat, 
archive-condition-append-vote, 
archive-condition-append-init, 
int_sq, 
remove-repeats_property, 
votes-from-inning_wf, 
pi1_wf_top, 
map_wf, 
strong-subtype-self, 
strong-subtype-set3, 
strong-subtype-deq-subtype, 
id-deq_wf, 
remove-repeats_wf, 
consensus-rcv-crosses-size, 
decidable__l_member, 
sq_stable_from_decidable, 
values-for-distinct_wf, 
length-map, 
vote-crosses-threshold, 
int_subtype_base, 
le_wf, 
values-for-distinct-property, 
member-remove-repeats, 
property-from-l_member, 
member_singleton, 
or_functionality_wrt_iff, 
member_append, 
iff_transitivity, 
three-cs-vote-invariant
\mforall{}V:Type.  \mforall{}A:Id  List.  \mforall{}t:\mBbbN{}\msupplus{}.  \mforall{}f:V  List  {}\mrightarrow{}  V.  \mforall{}s:ts-type(three-consensus-ts(V;A;t;f)).
    ((ts-init(three-consensus-ts(V;A;t;f))  (ts-rel(three-consensus-ts(V;A;t;f))\^{}*)  s)
    {}\mRightarrow{}  (\mforall{}v:V.  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}n:\mBbbN{}\msupplus{}.  \mforall{}L:consensus-rcv(V;A)  List.
                (L  \mleq{}  s  a
                {}\mRightarrow{}  archive-condition(V;A;t;f;n;v;L)
                {}\mRightarrow{}  (\mexists{}as:\{a:Id|  (a  \mmember{}  A)\}    List
                          (no\_repeats(\{a:Id|  (a  \mmember{}  A)\}  ;as)
                          \mwedge{}  (||as||  =  ((2  *  t)  +  1))
                          \mwedge{}  (\mexists{}vs:V  List
                                  ((||vs||  =  ||as||)
                                  \mwedge{}  (v  =  (f  vs))
                                  \mwedge{}  (\mforall{}i:\mBbbN{}||as||
                                            \mexists{}L:consensus-rcv(V;A)  List
                                              (L  \mleq{}  s  as[i]  \mwedge{}  archive-condition(V;A;t;f;n  -  1;vs[i];L))))))))))
Date html generated:
2012_01_23-PM-12_07_43
Last ObjectModification:
2011_12_14-PM-09_20_33
Home
Index