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