Nuprl Lemma : ler_propose_all_max
es:EO'. 
nodes:bag(Id). 
client:Id. 
uid:Id 
 
. 
L:Id List. 
succ:{i:Id| (i 
 L)}  
 {i:Id| (i 
 L)} . 
epoch:
.
  (((ler_leader_ring_messages-delivered{i:l}(client;nodes;uid) es)
  
 ler_non_decreasing_configuration(es)
  
 ler_consistent_configuration(es)
  
 ler_non_dummy_configuration+(es;nodes)
  
 Inj(Id;
;uid)
  
 (L = nodes)
  
 no_repeats(Id;L)
  
 ma-ring(L;succ)
  
 (
i:{i:Id| (i 
 L)} 
       
e':E
        ((
e1,e2:E. 
u:
.
            ((e' <loc e1)
            
 (e1 <loc e2)
            
 (<epoch, u> 
 ler_Propose()(e2) 
 epoch 
 ler_Choose()(e2))
            
 (

w:
 
 Id. w 
 ler_Config()(e1))))
        
 <epoch, succ i> 
 ler_Config()(e')
        
 (loc(e') = i)
        
 (
e:E. (epoch 
 ler_Choose()(e) 
 (e' < e))))))
  
 (
e:E
        (epoch 
 ler_Choose()(e)
        
 loc(e) 
 nodes
        
 (
i:
||L||. (L[i] = (succ^i loc(e))))
        
 (
e':E. (<epoch, imax-list(map(uid;L))> 
 ler_Propose()(e') 
 (e < e') 
 (loc(e') = L[0]))))))
Proof not projected
Definitions occuring in Statement : 
ler_non_decreasing_configuration: ler_non_decreasing_configuration(es), 
ler_consistent_configuration: ler_consistent_configuration(es), 
ler_non_dummy_configuration+: ler_non_dummy_configuration+(es;nodes), 
ler_leader_ring_messages-delivered: ler_leader_ring_messages-delivered{i:l}(client;nodes;uid), 
ler_Propose: ler_Propose(), 
ler_Choose: ler_Choose(), 
ler_Config: ler_Config(), 
ma-ring: ma-ring(R;s), 
Message: Message, 
classrel: v 
 X(e), 
event-ordering+: EO+(Info), 
es-locl: (e <loc e'), 
es-causl: (e < e'), 
es-loc: loc(e), 
es-E: E, 
Id: Id, 
select: l[i], 
map: map(f;as), 
length: ||as||, 
inject: Inj(A;B;f), 
int_seg: {i..j
}, 
all:
x:A. B[x], 
exists:
x:A. B[x], 
not:
A, 
squash:
T, 
implies: P 
 Q, 
or: P 
 Q, 
and: P 
 Q, 
set: {x:A| B[x]} , 
apply: f a, 
function: x:A 
 B[x], 
pair: <a, b>, 
product: x:A 
 B[x], 
list: type List, 
natural_number: $n, 
int:
, 
equal: s = t, 
no_repeats: no_repeats(T;l), 
l_member: (x 
 l), 
fun_exp: f^n, 
bag-member: x 
 bs, 
bag: bag(T), 
imax-list: imax-list(L)
Definitions : 
all:
x:A. B[x], 
implies: P 
 Q, 
and: P 
 Q, 
exists:
x:A. B[x], 
or: P 
 Q, 
not:
A, 
squash:
T, 
member: t 
 T, 
ler_non_dummy_configuration: ler_non_dummy_configuration(es;nodes), 
gt: i > j, 
prop:
, 
le: A 
 B, 
false: False, 
true: True, 
nat:
, 
Id: Id, 
int_seg: {i..j
}, 
top: Top, 
subtype: S 
 T, 
lelt: i 
 j < k, 
bag-member: x 
 bs, 
ler_send_propose: ler_send_propose(), 
es-locl: (e <loc e'), 
es-p-local-pred: es-p-local-pred(es;P), 
cand: A c
 B, 
fun_exp: f^n, 
primrec: primrec(n;b;c), 
ycomb: Y, 
ifthenelse: if b then t else f fi , 
eq_int: (i =
 j), 
btrue: tt, 
length: ||as||, 
ge: i 
 j , 
iff: P 

 Q, 
rev_implies: P 
 Q, 
listp: A List
, 
name: Name, 
label: ...$L... t, 
pi1: fst(t), 
pi2: snd(t), 
ler_Propose: ler_Propose(), 
es-header: es-header(es;e), 
assert:
b, 
msg-type: msg-type(msg), 
msg-body: msg-body(msg), 
suptype: suptype(S; T), 
make-Msg: make-Msg(hdr;typ;val), 
msg-has-type: msg-has-type(m;T), 
ler_non_dummy_configuration+: ler_non_dummy_configuration+(es;nodes), 
uall:
[x:A]. B[x], 
uiff: uiff(P;Q), 
uimplies: b supposing a, 
sq_type: SQType(T), 
guard: {T}, 
ler_leader_ring_messages-delivered: ler_leader_ring_messages-delivered{i:l}(client;nodes;uid), 
messages-delivered: messages-delivered{i:l}(es;X), 
rev_uimplies: rev_uimplies(P;Q), 
ler_Nbr: ler_Nbr(), 
let: let, 
no_repeats: no_repeats(T;l), 
inject: Inj(A;B;f), 
Message: Message, 
pMsg: pMsg(P.M[P])
Lemmas : 
id_in_bag_in_list, 
ler_propose_all_nodes, 
classrel_wf, 
Message_wf, 
ler_Config_wf, 
es-E_wf, 
event-ordering+_inc, 
pos_length3, 
member_null, 
int_seg_wf, 
length_wf, 
Id_wf, 
select_wf, 
fun_exp_wf, 
l_member_wf, 
le_wf, 
bag-member_wf, 
es-loc_wf, 
ler_Choose_wf, 
ler_leader_ring_messages-delivered_wf, 
ler_non_decreasing_configuration_wf, 
ler_consistent_configuration_wf, 
ler_non_dummy_configuration+_wf, 
inject_wf, 
bag_wf, 
bag_qinc, 
no_repeats_wf, 
ma-ring_wf, 
es-locl_wf, 
ler_Propose_wf, 
not_wf, 
squash_wf, 
es-causl_wf, 
event-ordering+_wf, 
list_decomp, 
length_zero, 
tl_wf, 
non_neg_length, 
length_wf_nat, 
top_wf, 
length_cons, 
hd_wf, 
subtype_base_sq, 
list_subtype_base, 
atom2_subtype_base, 
pos_length2, 
select0, 
cons_member, 
nil_member, 
ler_send_propose_wf, 
imax-list_wf, 
listify_wf, 
listify_length, 
ler_Propose_ilf, 
select_member, 
prior-classrel-p-local-pred, 
ler_Nbr_wf, 
es-causl_transitivity2, 
es-causle_weakening, 
ler_Config_to_Nbr, 
fun_exp_add1-sq, 
int_subtype_base, 
ma-ring-id-or-diff2, 
rec-combined-loc-class-opt-1-classrel, 
simple-loc-comb-2-concat-classrel, 
ifthenelse_wf, 
lt_int_wf, 
single-bag_wf, 
primed-class-opt_wf, 
ler_dumEpoch_wf, 
rec-combined-loc-class-opt-1_wf, 
concat-lifting-loc-2_wf, 
imax-list-eq-implies, 
member-listify, 
ge_wf, 
int_seg_properties, 
nat_wf, 
imax-imax-list-left, 
assert_of_lt_int, 
assert_wf, 
listify-append-last, 
base-headers-msg-val_wf, 
imax_wf, 
length_nil, 
append_wf, 
length_append, 
true_wf, 
base-noloc-classrel, 
map_wf, 
map_length, 
list_extensionality, 
select-map, 
select_listify_id, 
nat_properties, 
name_wf, 
pi1_wf_top, 
eq_term_wf, 
msg-type_wf, 
type-valueall-type, 
msg-body_wf2, 
length-map
\mforall{}es:EO'.  \mforall{}nodes:bag(Id).  \mforall{}client:Id.  \mforall{}uid:Id  {}\mrightarrow{}  \mBbbZ{}.  \mforall{}L:Id  List.  \mforall{}succ:\{i:Id|  (i  \mmember{}  L)\}    {}\mrightarrow{}  \{i:Id| 
                                                                                                                                                                                  (i  \mmember{}  L)\}  .
\mforall{}epoch:\mBbbZ{}.
    (((ler\_leader\_ring\_messages-delivered\{i:l\}(client;nodes;uid)  es)
    \mwedge{}  ler\_non\_decreasing\_configuration(es)
    \mwedge{}  ler\_consistent\_configuration(es)
    \mwedge{}  ler\_non\_dummy\_configuration+(es;nodes)
    \mwedge{}  Inj(Id;\mBbbZ{};uid)
    \mwedge{}  (L  =  nodes)
    \mwedge{}  no\_repeats(Id;L)
    \mwedge{}  ma-ring(L;succ)
    \mwedge{}  (\mforall{}i:\{i:Id|  (i  \mmember{}  L)\} 
              \mexists{}e':E
                ((\mforall{}e1,e2:E.  \mforall{}u:\mBbbZ{}.
                        ((e'  <loc  e1)
                        {}\mRightarrow{}  (e1  <loc  e2)
                        {}\mRightarrow{}  (<epoch,  u>  \mmember{}  ler\_Propose()(e2)  \mvee{}  epoch  \mmember{}  ler\_Choose()(e2))
                        {}\mRightarrow{}  (\mneg{}\mdownarrow{}\mexists{}w:\mBbbZ{}  \mtimes{}  Id.  w  \mmember{}  ler\_Config()(e1))))
                \mwedge{}  <epoch,  succ  i>  \mmember{}  ler\_Config()(e')
                \mwedge{}  (loc(e')  =  i)
                \mwedge{}  (\mforall{}e:E.  (epoch  \mmember{}  ler\_Choose()(e)  {}\mRightarrow{}  (e'  <  e))))))
    {}\mRightarrow{}  (\mforall{}e:E
                (epoch  \mmember{}  ler\_Choose()(e)
                {}\mRightarrow{}  loc(e)  \mdownarrow{}\mmember{}  nodes
                {}\mRightarrow{}  (\mforall{}i:\mBbbN{}||L||.  (L[i]  =  (succ\^{}i  loc(e))))
                {}\mRightarrow{}  (\mdownarrow{}\mexists{}e':E
                            (<epoch,  imax-list(map(uid;L))>  \mmember{}  ler\_Propose()(e')  \mwedge{}  (e  <  e')  \mwedge{}  (loc(e')  =  L[0]))))))
Date html generated:
2012_02_20-PM-06_09_22
Last ObjectModification:
2012_02_02-PM-02_40_42
Home
Index