Nuprl Lemma : rsc4_replica_state_mem

es:EO'. e1,e2:E. Cmd:ValueAllType. z1,z2:  ( List). v:  Cmd.
  ((e1 <loc e2)
   v  rsc4_Proposal(Cmd)(e1)
   z1  rsc4_ReplicaState(Cmd)(e1)
   z2  rsc4_ReplicaState(Cmd)(e2)
   let num,c = v 
     in let max1,missing1 = z1 
        in let max2,missing2 = z2 
           in (num  max2)
               (int-list-member(num;missing2))
               (max1 z max2)
               (x:. ((int-list-member(x;missing2))  ((int-list-member(x;missing1))  (max1 <z x)))))


Proof




Definitions occuring in Statement :  rsc4_ReplicaState: rsc4_ReplicaState(Cmd) rsc4_Proposal: rsc4_Proposal(Cmd) Message: Message classrel: v  X(e) event-ordering+: EO+(Info) es-locl: (e <loc e') es-E: E le_int: i z j lt_int: i <z j assert: b le: A  B all: x:A. B[x] not: A implies: P  Q or: P  Q and: P  Q spread: spread def product: x:A  B[x] list: type List int: int-list-member: int-list-member(i;xs) vatype: ValueAllType
Definitions :  eq_atom: x =a y atom-deq: AtomDeq list-deq: list-deq(eq) name-deq: NameDeq name_eq: name_eq(x;y) name: Name rsc4_vote'base: rsc4_vote'base(Cmd) rsc4_vote2prop: rsc4_vote2prop(Cmd) rsc4_propose'base: rsc4_propose'base(Cmd) true: True squash: T band: p  q bfalse: ff subtype: S  T false: False cand: A c B guard: {T} uiff: uiff(P;Q) btrue: tt rsc4_onnewpropose: rsc4_onnewpropose(Cmd) ifthenelse: if b then t else f fi  so_lambda: x.t[x] member: t  T prop: rsc4_init: rsc4_init() rsc4_update_replica: rsc4_update_replica(Cmd) or: P  Q assert: b not: A le: A  B and: P  Q rsc4_Proposal: rsc4_Proposal(Cmd) implies: P  Q vatype: ValueAllType all: x:A. B[x] sq_type: SQType(T) rev_uimplies: rev_uimplies(P;Q) decidable: Dec(P) uimplies: b supposing a rev_implies: P  Q iff: P  Q unit: Unit so_apply: x[s] bool: so_apply: x[s1;s2;s3] uall: [x:A]. B[x] rsc4_ReplicaState: rsc4_ReplicaState(Cmd) it:
Lemmas :  assert_elim event-ordering+_wf valueall-type_wf rsc4_ReplicaState_wf es-E_wf classrel_wf single-valued-bag-single single-valued-classrel-base simple-loc-comb-1-concat-single-val name_wf assert-name_eq base-disjoint-classrel simple-loc-comb-1-concat-disjoint-classrel disjoint-classrel-symm rsc4_vote'base_wf rsc4_vote2prop_wf concat-lifting-loc-1_wf simple-loc-comb-1_wf rsc4_propose'base_wf parallel-class-single-val decidable__or sq_stable__all sq_stable__assert sq_stable__not decidable__le sq_stable_from_decidable sq_stable__and imax_wf imax-right es-le_wf Message_wf event-ordering+_inc es-locl_wf bool_subtype_base subtype_base_sq assert_of_bnot and_functionality_wrt_iff assert_of_band true_wf squash_wf bnot_thru_bor band_wf list-diff_wf cons_member member-list-diff bnot_of_lt_int assert_functionality_wrt_uiff eqff_to_assert bnot_wf decidable__assert from-upto_wf append_wf from-upto-member assert_of_le_int and_functionality_wrt_uiff implies_functionality_wrt_iff all_functionality_wrt_iff decidable__false rsc4_pos_max_missing member_append assert-int-list-member not_functionality_wrt_iff uiff_transitivity assert-deq-member assert_of_lt_int or_functionality_wrt_iff assert_of_bor eqtt_to_assert iff_weakening_uiff l_member_wf less_than_wf equal_wf iff_transitivity bool_wf int-deq_wf deq-member_wf bor_wf rsc4_Proposal_wf bag_wf Id_wf rsc4_init_wf rsc4_update_replica_wf lt_int_wf or_wf all_wf le_int_wf int-list-member_wf assert_wf not_wf le_wf and_wf Memory-class-mem

\mforall{}es:EO'.  \mforall{}e1,e2:E.  \mforall{}Cmd:ValueAllType.  \mforall{}z1,z2:\mBbbZ{}  \mtimes{}  (\mBbbZ{}  List).  \mforall{}v:\mBbbZ{}  \mtimes{}  Cmd.
    ((e1  <loc  e2)
    {}\mRightarrow{}  v  \mmember{}  rsc4\_Proposal(Cmd)(e1)
    {}\mRightarrow{}  z1  \mmember{}  rsc4\_ReplicaState(Cmd)(e1)
    {}\mRightarrow{}  z2  \mmember{}  rsc4\_ReplicaState(Cmd)(e2)
    {}\mRightarrow{}  let  num,c  =  v 
          in  let  max1,missing1  =  z1 
                in  let  max2,missing2  =  z2 
                      in  (num  \mleq{}  max2)
                            \mwedge{}  (\mneg{}\muparrow{}int-list-member(num;missing2))
                            \mwedge{}  (\muparrow{}max1  \mleq{}z  max2)
                            \mwedge{}  (\mforall{}x:\mBbbZ{}
                                      ((\muparrow{}int-list-member(x;missing2))
                                      {}\mRightarrow{}  ((\muparrow{}int-list-member(x;missing1))  \mvee{}  (\muparrow{}max1  <z  x)))))


Date html generated: 2012_02_20-PM-04_58_40
Last ObjectModification: 2012_02_02-PM-02_16_35

Home Index