Nuprl Lemma : ler_Propose_from_Propose_or_Choose
es:EO'. 
nodes:bag(Id). 
client:Id. 
uid:Id 
 
.
  ((ler_leader_ring_message-constraint{i:l}(client;nodes;uid) es)
  
 (
e:E. 
epoch,i:
.
        (<epoch, i> 
 ler_Propose()(e)
        
 (
e':E
              (loc(e') 
 nodes
              
 (e' < e)
              
 <epoch, loc(e)> 
 Prior(ler_Nbr())(e')
              
 <loc(e), info(e)> 
 ler_leader_ring_main(client;nodes;uid)(e')
              
 ((
j:
. (<epoch, j> 
 ler_Propose()(e') 
 (
(j = (uid loc(e')))) 
 (i = imax(j;uid loc(e')))))
                
 (epoch 
 ler_Choose()(e') 
 (i = (uid loc(e'))))))))))
Proof not projected
Definitions occuring in Statement : 
ler_leader_ring_message-constraint: ler_leader_ring_message-constraint{i:l}(client;nodes;uid), 
ler_leader_ring_main: ler_leader_ring_main(client;nodes;uid), 
ler_Nbr: ler_Nbr(), 
ler_Propose: ler_Propose(), 
ler_Choose: ler_Choose(), 
Message: Message, 
primed-class: Prior(X), 
classrel: v 
 X(e), 
es-info: info(e), 
event-ordering+: EO+(Info), 
es-causl: (e < e'), 
es-loc: loc(e), 
es-E: E, 
Id: Id, 
imax: imax(a;b), 
all:
x:A. B[x], 
exists:
x:A. B[x], 
not:
A, 
squash:
T, 
implies: P 
 Q, 
or: P 
 Q, 
and: P 
 Q, 
apply: f a, 
function: x:A 
 B[x], 
pair: <a, b>, 
product: x:A 
 B[x], 
int:
, 
equal: s = t, 
bag-member: x 
 bs, 
bag: bag(T)
Definitions : 
guard: {T}, 
iff: P 

 Q, 
rev_implies: P 
 Q, 
true: True, 
cand: A c
 B, 
prop:
, 
so_lambda: 
x.t[x], 
member: t 
 T, 
name: Name, 
es-header: es-header(es;e), 
ler_leader_ring_headers_no_inputs: ler_leader_ring_headers_no_inputs(), 
ler_Choose: ler_Choose(), 
or: P 
 Q, 
and: P 
 Q, 
exists:
x:A. B[x], 
squash:
T, 
ler_Propose: ler_Propose(), 
implies: P 
 Q, 
all:
x:A. B[x], 
so_apply: x[s], 
uall:
[x:A]. B[x], 
uiff: uiff(P;Q), 
uimplies: b supposing a, 
message-constraint: message-constraint{i:l}(es;X;hdrs), 
ler_leader_ring_message-constraint: ler_leader_ring_message-constraint{i:l}(client;nodes;uid), 
subtype: S 
 T, 
msg-header: msg-header(m)
Lemmas : 
and_assoc, 
exists_functionality_wrt_iff, 
or_functionality_wrt_iff, 
base-headers-msg-val_wf, 
event-ordering+_wf, 
bag_wf, 
ler_leader_ring_message-constraint_wf, 
ler_Propose_wf, 
ler_Choose_wf, 
imax_wf, 
not_wf, 
ler_Nbr_wf, 
primed-class_wf, 
bag-member_wf, 
ler_Propose_ilf, 
es-loc_wf, 
ler_leader_ring_main_wf, 
Id_wf, 
classrel_wf, 
es-causl_wf, 
Message_wf, 
event-ordering+_inc, 
es-E_wf, 
squash_wf, 
ler_leader_ring_headers_no_inputs_wf, 
msg-header_wf, 
l_member_wf, 
name_wf, 
cons_member, 
valueall-type_wf, 
int-valueall-type, 
product-valueall-type, 
base-noloc-classrel-make-Msg
\mforall{}es:EO'.  \mforall{}nodes:bag(Id).  \mforall{}client:Id.  \mforall{}uid:Id  {}\mrightarrow{}  \mBbbZ{}.
    ((ler\_leader\_ring\_message-constraint\{i:l\}(client;nodes;uid)  es)
    {}\mRightarrow{}  (\mforall{}e:E.  \mforall{}epoch,i:\mBbbZ{}.
                (<epoch,  i>  \mmember{}  ler\_Propose()(e)
                {}\mRightarrow{}  (\mdownarrow{}\mexists{}e':E
                            (loc(e')  \mdownarrow{}\mmember{}  nodes
                            \mwedge{}  (e'  <  e)
                            \mwedge{}  <epoch,  loc(e)>  \mmember{}  Prior(ler\_Nbr())(e')
                            \mwedge{}  <loc(e),  info(e)>  \mmember{}  ler\_leader\_ring\_main(client;nodes;uid)(e')
                            \mwedge{}  ((\mexists{}j:\mBbbZ{}
                                      (<epoch,  j>  \mmember{}  ler\_Propose()(e')
                                      \mwedge{}  (\mneg{}(j  =  (uid  loc(e'))))
                                      \mwedge{}  (i  =  imax(j;uid  loc(e')))))
                                \mvee{}  (epoch  \mmember{}  ler\_Choose()(e')  \mwedge{}  (i  =  (uid  loc(e'))))))))))
Date html generated:
2012_02_20-PM-06_03_47
Last ObjectModification:
2012_02_02-PM-02_38_58
Home
Index