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