Nuprl Lemma : rsc5_quorum_progress

es:EO'. e1,e2:E. Cmd:ValueAllType. cmdeq:EqDecider(Cmd). ni:  . zh,z:  Cmd?  (Id List).
  ((zi:    Cmd  Id
     z:  Cmd?  (Id List)
      e:E
       (e1 loc e 
        (e <loc e2)
        zi  rsc5_vote'base(Cmd)(e)
        z  rsc5_QuorumState(Cmd;cmdeq) ni(e)
        let zj,sndr = zi 
         in let ni',c = zj 
            in let pmaj,z = z 
               in (eqof(product-deq(;;IntDeq;IntDeq)) ni ni')))
   (e1 <loc e2)
   zh  rsc5_QuorumState(Cmd;cmdeq) ni(e1)
   z  rsc5_QuorumState(Cmd;cmdeq) ni(e2)
   let pmaj1,locs1 = zh 
     in let pmaj2,locs2 = z 
        in isl(pmaj2))


Proof not projected




Definitions occuring in Statement :  rsc5_QuorumState: rsc5_QuorumState(Cmd;cmdeq),  rsc5_vote'base: rsc5_vote'base(Cmd),  Message: Message,  classrel: v  X(e),  event-ordering+: EO+(Info),  es-le: e loc e' ,  es-locl: (e <loc e'),  es-E: E,  Id: Id,  isl: isl(x),  assert: b,  all: x:A. B[x],  exists: x:A. B[x],  implies: P  Q,  and: P  Q,  unit: Unit,  apply: f a,  spread: spread def,  product: x:A  B[x],  union: left + right,  list: type List,  int: ,  product-deq: product-deq(A;B;a;b),  int-deq: IntDeq,  eqof: eqof(d),  deq: EqDecider(T),  vatype: ValueAllType
Definitions :  name: Name,  rev_implies: P  Q,  guard: {T},  iff: P  Q,  rsc5_addvote: rsc5_addvote(Cmd;cmdeq),  rsc5_newvote: rsc5_newvote(Cmd),  cand: A c B,  bfalse: ff,  btrue: tt,  true: True,  ifthenelse: if b then t else f fi ,  so_lambda: x.t[x],  member: t  T,  not: A,  trans: Trans(T;x,y.E[x; y]),  prop: ,  rsc5_init: rsc5_init(),  rsc5_add_to_quorum: rsc5_add_to_quorum(Cmd;cmdeq),  isl: isl(x),  assert: b,  rsc5_vote'base: rsc5_vote'base(Cmd),  and: P  Q,  exists: x:A. B[x],  implies: P  Q,  Id: Id,  vatype: ValueAllType,  all: x:A. B[x],  sq_type: SQType(T),  so_apply: x[s],  or: P  Q,  uiff: uiff(P;Q),  uimplies: b supposing a,  false: False,  bool: ,  so_apply: x[s1;s2],  decidable: Dec(P),  uall: [x:A]. B[x],  rsc5_QuorumState: rsc5_QuorumState(Cmd;cmdeq),  unit: Unit,  subtype: S  T,  it:
Lemmas :  event-ordering+_wf,  valueall-type_wf,  deq_wf,  es-E_wf,  rsc5_QuorumState_wf,  exists_wf,  single-valued-bag-single,  single-valued-classrel-base,  es-le_wf,  Message_wf,  event-ordering+_inc,  es-locl_wf,  Memory-class_wf,  classrel_wf,  or_functionality_wrt_iff,  assert_of_bor,  bnot_thru_band,  assert_functionality_wrt_uiff,  or_wf,  bor_wf,  implies_functionality_wrt_iff,  not_functionality_wrt_uiff,  nil_member,  false_wf,  atom2_subtype_base,  list_subtype_base,  assert_of_null,  decidable__assert,  rsc5_quorum_inv,  int_subtype_base,  product_subtype_base,  subtype_base_sq,  decidable__equal_product,  not_over_and,  assert-deq-member,  and_functionality_wrt_iff,  assert_of_band,  iff_weakening_uiff,  iff_transitivity,  l_member_wf,  and_wf,  not_functionality_wrt_iff,  assert_of_bnot,  eqff_to_assert,  not_wf,  equal_wf,  uiff_transitivity,  eqtt_to_assert,  id-deq_wf,  deq-member_wf,  bnot_wf,  band_wf,  safe-assert-deq,  sq_stable__assert,  unit_wf2,  decidable__false,  decidable__equal_int,  bool_wf,  rsc5_vote'base_wf,  it_wf,  bag_wf,  Id_wf,  rsc5_init_wf,  rsc5_add_to_quorum_wf,  int-deq_wf,  product-deq_wf,  eqof_wf,  isl_wf,  assert_wf,  Memory-class-progress

\mforall{}es:EO'.  \mforall{}e1,e2:E.  \mforall{}Cmd:ValueAllType.  \mforall{}cmdeq:EqDecider(Cmd).  \mforall{}ni:\mBbbZ{}  \mtimes{}  \mBbbZ{}.  \mforall{}zh,z:\mBbbZ{}  \mtimes{}  Cmd?  \mtimes{}  (Id  List).
    ((\mexists{}zi:\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id
          \mexists{}z:\mBbbZ{}  \mtimes{}  Cmd?  \mtimes{}  (Id  List)
            \mexists{}e:E
              (e1  \mleq{}loc  e 
              \mwedge{}  (e  <loc  e2)
              \mwedge{}  zi  \mmember{}  rsc5\_vote'base(Cmd)(e)
              \mwedge{}  z  \mmember{}  rsc5\_QuorumState(Cmd;cmdeq)  ni(e)
              \mwedge{}  let  zj,sndr  =  zi 
                  in  let  ni',c  =  zj 
                        in  let  pmaj,z  =  z 
                              in  \muparrow{}(eqof(product-deq(\mBbbZ{};\mBbbZ{};IntDeq;IntDeq))  ni  ni')))
    {}\mRightarrow{}  (e1  <loc  e2)
    {}\mRightarrow{}  zh  \mmember{}  rsc5\_QuorumState(Cmd;cmdeq)  ni(e1)
    {}\mRightarrow{}  z  \mmember{}  rsc5\_QuorumState(Cmd;cmdeq)  ni(e2)
    {}\mRightarrow{}  let  pmaj1,locs1  =  zh 
          in  let  pmaj2,locs2  =  z 
                in  \muparrow{}isl(pmaj2))


Date html generated: 2012_02_20-PM-05_06_32
Last ObjectModification: 2012_02_02-PM-02_18_27

Home Index