Nuprl Lemma : SpLeaderRing-ilf

([es:EO']. [e:E]. [v:  Id].
   {v  ler_Nbr()(e)
    v  zb,za.
            let epoch,succ = za 
            in z.let epoch',succ' = z 
                  in if epoch' <z epoch
                     then {<epoch, succ>}
                     else {<epoch', succ'>}
                     fi @Loc|Loc, ler_Config(), Prior(self)?l.{<ler_dumEpoch(), l>}|(e)})
 ([client:Id]. [nodes:bag(Id)]. [uid:Id  ]. [es:EO']. [e:E]. [i:Id]. [m:Message].
     {<i, m>  ler_leader_ring_main(client;nodes;uid)(e)
      loc(e)  nodes
          ((a:
              a1:Id
               (<a, a1>  Prior(ler_Nbr())(e)
                (b1:
                   (<a, b1>  Base([propose];  )(e)
                    (((b1 = (uid loc(e)))  (i = client)  (m = make-Msg([leader];  Id;<a, loc(e)>)))
                      (((b1 = (uid loc(e))))
                        (i = a1)
                        (m = make-Msg([propose];  ;<a, imax(b1;uid loc(e))>))))))))
            (a:
                (a  Base([choose];)(e)
                 (m = make-Msg([propose];  ;<a, uid loc(e)>))
                 <a, i>  Prior(ler_Nbr())(e))))})


Proof not projected




Definitions occuring in Statement :  ler_leader_ring_main: ler_leader_ring_main(client;nodes;uid),  ler_Nbr: ler_Nbr(),  ler_dumEpoch: ler_dumEpoch(),  ler_Config: ler_Config(),  concat-lifting-loc-2: f@Loc,  make-Msg: make-Msg(hdr;typ;val),  base-headers-msg-val: Base(hdr;typ),  Message: Message,  rec-combined-loc-class-opt-1: F|Loc, X, Prior(self)?init|,  primed-class: Prior(X),  classrel: v  X(e),  event-ordering+: EO+(Info),  es-loc: loc(e),  es-E: E,  Id: Id,  imax: imax(a;b),  lt_int: i <z j,  ifthenelse: if b then t else f fi ,  sq_or: a  b,  uall: [x:A]. B[x],  guard: {T},  exists: x:A. B[x],  iff: P  Q,  not: A,  or: P  Q,  and: P  Q,  apply: f a,  lambda: x.A[x],  function: x:A  B[x],  spread: spread def,  pair: <a, b>,  product: x:A  B[x],  cons: [car / cdr],  nil: [],  int: ,  token: "$token",  equal: s = t,  bag-member: x  bs,  single-bag: {x},  bag: bag(T)
Definitions :  not: A,  cand: A c B,  top: Top,  bfalse: ff,  subtype: S  T,  btrue: tt,  false: False,  ler_Choose: ler_Choose(),  ler_Propose: ler_Propose(),  ler_send_propose: ler_send_propose(),  ler_send_leader: ler_send_leader(),  ifthenelse: if b then t else f fi ,  ler_ChooseReply: ler_ChooseReply(uid),  ler_ProposeReply: ler_ProposeReply(client;uid),  ler_leader_ring_main: ler_leader_ring_main(client;nodes;uid),  Id: Id,  so_lambda: x.t[x],  name: Name,  all: x:A. B[x],  prop: ,  or: P  Q,  exists: x:A. B[x],  sq_or: a  b,  let: let,  ler_Nbr: ler_Nbr(),  true: True,  squash: T,  bag-member: x  bs,  rev_implies: P  Q,  implies: P  Q,  member: t  T,  classrel: v  X(e),  iff: P  Q,  guard: {T},  uall: [x:A]. B[x],  and: P  Q,  pi2: snd(t),  pi1: fst(t),  sq_type: SQType(T),  unit: Unit,  bool: ,  uimplies: b supposing a,  uiff: uiff(P;Q),  so_apply: x[s],  it:
Lemmas :  or_functionality_wrt_iff,  atom2_subtype_base,  Error :pi2_wf,  pi1_wf_top,  int_subtype_base,  subtype_base_sq,  iff_weakening_uiff,  not_functionality_wrt_uiff,  assert_of_bnot,  eqff_to_assert,  bnot_wf,  assert_of_eq_int,  eqtt_to_assert,  assert_wf,  uiff_transitivity,  bool_wf,  bag-member-single-weak,  bag-member-empty-weak,  ifthenelse_functionality_wrt_iff,  bag-member-ifthenelse,  and_functionality_wrt_uiff2,  exists_functionality_wrt_iff,  sq_or_squash,  and_functionality_wrt_uiff3,  simple-loc-comb-2-concat-classrel-weak,  sq_or_functionality_wrt_iff,  parallel-classrel-weak,  and_functionality_wrt_iff,  classrel-at,  iff_transitivity,  false_wf,  squash_wf,  ler_Choose_wf,  ler_Propose_wf,  empty-bag_wf,  ler_send_propose_wf,  ler_send_leader_wf,  eq_int_wf,  simple-loc-comb-2_wf,  ler_ChooseReply_wf,  ler_ProposeReply_wf,  parallel-class_wf,  class-at_wf,  imax_wf,  not_wf,  valueall-type_wf,  Id-valueall-type,  int-valueall-type,  product-valueall-type,  make-Msg_wf,  base-headers-msg-val_wf,  primed-class_wf,  sq_or_wf,  es-loc_wf,  bag-member_wf,  ler_leader_ring_main_wf,  event-ordering+_wf,  event-ordering+_inc,  es-E_wf,  ler_dumEpoch_wf,  ler_Config_wf,  single-bag_wf,  bag_wf,  lt_int_wf,  ifthenelse_wf,  concat-lifting-loc-2_wf,  rec-combined-loc-class-opt-1_wf,  ler_Nbr_wf,  Id_wf,  Message_wf,  classrel_wf

(\mforall{}[es:EO'].  \mforall{}[e:E].  \mforall{}[v:\mBbbZ{}  \mtimes{}  Id].
      \{v  \mmember{}  ler\_Nbr()(e)
      \mLeftarrow{}{}\mRightarrow{}  v  \mmember{}  \mlambda{}zb,za.
                        let  epoch,succ  =  za 
                        in  \mlambda{}z.let  epoch',succ'  =  z 
                                    in  if  epoch'  <z  epoch
                                          then  \{<epoch,  succ>\}
                                          else  \{<epoch',  succ'>\}
                                          fi  @Loc|Loc,  ler\_Config(),  Prior(self)?\mlambda{}l.\{<ler\_dumEpoch(),  l>\}|(e)\})
\mwedge{}  (\mforall{}[client:Id].  \mforall{}[nodes:bag(Id)].  \mforall{}[uid:Id  {}\mrightarrow{}  \mBbbZ{}].  \mforall{}[es:EO'].  \mforall{}[e:E].  \mforall{}[i:Id].  \mforall{}[m:Message].
          \{<i,  m>  \mmember{}  ler\_leader\_ring\_main(client;nodes;uid)(e)
          \mLeftarrow{}{}\mRightarrow{}  loc(e)  \mdownarrow{}\mmember{}  nodes
                  \mwedge{}  ((\mexists{}a:\mBbbZ{}
                            \mexists{}a1:Id
                              (<a,  a1>  \mmember{}  Prior(ler\_Nbr())(e)
                              \mwedge{}  (\mexists{}b1:\mBbbZ{}
                                      (<a,  b1>  \mmember{}  Base([propose];\mBbbZ{}  \mtimes{}  \mBbbZ{})(e)
                                      \mwedge{}  (((b1  =  (uid  loc(e)))
                                          \mwedge{}  (i  =  client)
                                          \mwedge{}  (m  =  make-Msg([leader];\mBbbZ{}  \mtimes{}  Id;<a,  loc(e)>)))
                                          \mvee{}  ((\mneg{}(b1  =  (uid  loc(e))))
                                              \mwedge{}  (i  =  a1)
                                              \mwedge{}  (m  =  make-Msg([propose];\mBbbZ{}  \mtimes{}  \mBbbZ{};<a,  imax(b1;uid  loc(e))>))))))))
                      \mdownarrow{}\mvee{}  (\mexists{}a:\mBbbZ{}
                                (a  \mmember{}  Base([choose];\mBbbZ{})(e)
                                \mwedge{}  (m  =  make-Msg([propose];\mBbbZ{}  \mtimes{}  \mBbbZ{};<a,  uid  loc(e)>))
                                \mwedge{}  <a,  i>  \mmember{}  Prior(ler\_Nbr())(e))))\})


Date html generated: 2012_02_20-PM-06_02_47
Last ObjectModification: 2012_02_02-PM-02_38_38

Home Index