Nuprl Lemma : ler_propose_all_max2

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_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')
         (e'':{e'':E| (e'' <loc e')} . epoch':. j:Id.  (<epoch', j ler_Config()(e'')  (epoch'  epoch)))
         (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_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} le: 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 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 or: P  Q not: A squash: T le: A  B member: t  T ler_non_dummy_configuration: ler_non_dummy_configuration(es;nodes) gt: i > j prop: false: False true: True so_lambda: x.t[x] nat: lelt: i  j < k subtype: S  T top: Top int_seg: {i..j} Id: Id ler_send_propose: ler_send_propose() bag-member: x  bs exists: x:A. B[x] cand: A c B es-p-local-pred: es-p-local-pred(es;P) es-locl: (e <loc e') btrue: tt eq_int: (i = j) ifthenelse: if b then t else f fi  ycomb: Y primrec: primrec(n;b;c) fun_exp: f^n label: ...$L... t name: Name listp: A List rev_implies: P  Q iff: P  Q ge: i  j  length: ||as|| msg-has-type: msg-has-type(m;T) mData: mData pMsg: pMsg(P.M[P]) 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) ler_Propose: ler_Propose() pi2: snd(t) pi1: fst(t) Message: Message ler_non_dummy_configuration+: ler_non_dummy_configuration+(es;nodes) uall: [x:A]. B[x] uiff: uiff(P;Q) uimplies: b supposing a so_apply: x[s] guard: {T} sq_type: SQType(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) let: let ler_Nbr: ler_Nbr() inject: Inj(A;B;f) no_repeats: no_repeats(T;l)
Lemmas :  id_in_bag_in_list ler_propose_all_nodes2 classrel_wf Message_wf ler_Config_wf es-E_wf event-ordering+_inc l_member_wf pos_length3 member_null all_wf int_seg_wf length_wf Id_wf equal_wf select_wf fun_exp_wf le_wf bag-member_wf es-loc_wf ler_Choose_wf and_wf ler_leader_ring_messages-delivered_wf ler_consistent_configuration_wf ler_non_dummy_configuration+_wf inject_wf bag_wf bag_qinc no_repeats_wf ma-ring_wf exists_wf es-locl_wf or_wf ler_Propose_wf not_wf squash_wf es-causl_wf event-ordering+_wf nil_member cons_member select0 pos_length2 atom2_subtype_base list_subtype_base subtype_base_sq hd_wf length_cons top_wf length_wf_nat non_neg_length tl_wf length_zero list_decomp lelt_wf ler_send_propose_wf imax-list_wf listify_wf listify_length select_member ler_Propose_ilf es-causle_weakening es-causl_transitivity2 ler_Nbr_wf prior-classrel-p-local-pred ma-ring-id-or-diff2 int_subtype_base fun_exp_add1-sq ler_Config_to_Nbr2 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 true_wf length_append append_wf length_nil imax_wf base-headers-msg-val_wf listify-append-last assert_wf assert_of_lt_int imax-imax-list-left nat_wf int_seg_properties ge_wf member-listify imax-list-eq-implies length-map msg-body_wf2 type-valueall-type eq_term_wf name_wf less_than_wf select_listify_id select-map list_extensionality map_length map_wf base-noloc-classrel

\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\_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{}  (\mforall{}e'':\{e'':E|  (e''  <loc  e')\}  .  \mforall{}epoch':\mBbbZ{}.  \mforall{}j:Id.
                          (<epoch',  j>  \mmember{}  ler\_Config()(e'')  {}\mRightarrow{}  (epoch'  \mleq{}  epoch)))
                \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_38
Last ObjectModification: 2012_02_02-PM-02_40_45

Home Index