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