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. i:{i:||L||| (uid L[i]) = imax-list(map(uid;L))} .
        (epoch  ler_Choose()(e)
         loc(e)  nodes
         (i:||L||. (L[i] = (succ^i loc(e))))
         (e':E. <epoch, L[i]>  ler_Leader()(e')))))


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: ler_Leader(),  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 :  nat: ,  so_lambda: x.t[x],  prop: ,  false: False,  le: A  B,  gt: i > j,  true: True,  cand: A c B,  subtype: S  T,  member: t  T,  squash: T,  not: A,  or: P  Q,  exists: x:A. B[x],  and: P  Q,  implies: P  Q,  all: x:A. B[x],  Id: Id,  es-p-local-pred: es-p-local-pred(es;P),  lelt: i  j < k,  ler_send_leader: ler_send_leader(),  int_seg: {i..j},  es-locl: (e <loc e'),  top: Top,  btrue: tt,  eq_int: (i = j),  ycomb: Y,  primrec: primrec(n;b;c),  fun_exp: f^n,  msg-has-type: msg-has-type(m;T),  mData: mData,  pMsg: pMsg(P.M[P]),  ifthenelse: if b then t else f fi ,  make-Msg: make-Msg(hdr;typ;val),  msg-body: msg-body(msg),  msg-type: msg-type(msg),  assert: b,  es-header: es-header(es;e),  name: Name,  ler_Leader: ler_Leader(),  pi2: snd(t),  pi1: fst(t),  Message: Message,  ler_send_propose: ler_send_propose(),  bag-member: x  bs,  suptype: suptype(S; T),  l_exists: (xL. P[x]),  ler_Propose: ler_Propose(),  uimplies: b supposing a,  so_apply: x[s],  uall: [x:A]. B[x],  messages-delivered: messages-delivered{i:l}(es;X),  guard: {T},  sq_type: SQType(T),  ler_leader_ring_messages-delivered: ler_leader_ring_messages-delivered{i:l}(client;nodes;uid),  iff: P  Q,  rev_implies: P  Q,  uiff: uiff(P;Q),  rev_uimplies: rev_uimplies(P;Q),  ler_non_dummy_configuration+: ler_non_dummy_configuration+(es;nodes),  let: let,  ler_Nbr: ler_Nbr(),  inject: Inj(A;B;f),  no_repeats: no_repeats(T;l)
Lemmas :  event-ordering+_wf,  es-causl_wf,  ler_Config_wf,  squash_wf,  not_wf,  ler_Propose_wf,  or_wf,  es-locl_wf,  exists_wf,  ma-ring_wf,  no_repeats_wf,  bag_qinc,  bag_wf,  inject_wf,  ler_non_dummy_configuration+_wf,  ler_consistent_configuration_wf,  ler_non_decreasing_configuration_wf,  ler_leader_ring_messages-delivered_wf,  es-E_wf,  length_wf_nat,  map_length,  non_neg_length,  map_wf,  imax-list_wf,  ler_Choose_wf,  classrel_wf,  bag-member_wf,  le_wf,  l_member_wf,  fun_exp_wf,  select_wf,  int_seg_wf,  all_wf,  Id_wf,  length_wf,  int_seg_properties,  ler_propose_all_max,  Message_wf,  event-ordering+_inc,  es-loc_wf,  id_in_bag_in_list,  ler_send_leader_wf,  atom2_subtype_base,  int_subtype_base,  subtype_base_sq,  ler_Leader_ilf,  primed-class_wf,  es-causle_weakening,  es-causl_transitivity2,  ler_Nbr_wf,  prior-classrel-p-local-pred,  ler_Config_to_Nbr,  concat-lifting-loc-2_wf,  rec-combined-loc-class-opt-1_wf,  ler_dumEpoch_wf,  primed-class-opt_wf,  single-bag_wf,  lt_int_wf,  ifthenelse_wf,  simple-loc-comb-2-concat-classrel,  rec-combined-loc-class-opt-1-classrel,  equal_wf,  and_wf,  lelt_wf,  ler_Leader_wf,  msg-body_wf2,  type-valueall-type,  eq_term_wf,  assert_wf,  name_wf,  base-noloc-classrel,  ler_send_propose_wf,  es-causle_wf,  es-causle_weakening_eq,  select_member,  ler_Propose_ilf,  fun_exp_add1-sq,  list-subtype,  imax_wf,  base-headers-msg-val_wf,  nat_wf,  member_map,  top_wf,  imax-list-ub,  imax-left,  es-causl_transitivity1

\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.  \mforall{}i:\{i:\mBbbN{}||L|||  (uid  L[i])  =  imax-list(map(uid;L))\}  .
                (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,  L[i]>  \mmember{}  ler\_Leader()(e')))))


Date html generated: 2012_02_20-PM-06_10_12
Last ObjectModification: 2012_02_02-PM-02_40_50

Home Index