Nuprl Lemma : new_23_sig_quorum_mem

∀Cmd:ValueAllType. ∀notify,propose:Atom List. ∀f:new_23_sig_headers_type{i:l}(Cmd;notify;propose). ∀es:EO+(Message(f)).
∀e1,e2:E. ∀ni:ℤ × ℤ. ∀s1,s2:Cmd List × (Id List). ∀v:ℤ × ℤ × Cmd × Id.
  ((e1 <loc e2)
  ⇒ v ∈ new_23_sig_vote'base(Cmd;notify;propose;f)(e1)
  ⇒ s1 ∈ new_23_sig_QuorumState(Cmd;notify;propose;f) ni(e1)
  ⇒ s2 ∈ new_23_sig_QuorumState(Cmd;notify;propose;f) ni(e2)
  ⇒ let cmds1,locs1 = s1 
     in let cmds2,locs2 = s2 
        in let x,i = v 
           in let ni',c = x 
              in (ni = ni' ∈ (ℤ × ℤ)) ⇒ ((i ∈ locs2) ∧ ((¬(i ∈ locs1)) ⇒ (c ∈ cmds2))))


Proof




Definitions occuring in Statement :  new_23_sig_QuorumState: new_23_sig_QuorumState(Cmd;notify;propose;f),  new_23_sig_vote'base: new_23_sig_vote'base(Cmd;notify;propose;f),  new_23_sig_headers_type: new_23_sig_headers_type{i:l}(Cmd;notify;propose),  Message: Message(f),  classrel: v ∈ X(e),  event-ordering+: EO+(Info),  es-locl: (e <loc e'),  es-E: E,  Id: Id,  l_member: (x ∈ l),  list: T List,  vatype: ValueAllType,  all: ∀x:A. B[x],  not: ¬A,  implies: P ⇒ Q,  and: P ∧ Q,  apply: f a,  spread: spread def,  product: x:A × B[x],  int: ℤ,  atom: Atom,  equal: s = t ∈ T
Lemmas :  new_23_sig_newvote_wf,  bool_wf,  eqtt_to_assert,  cons_member,  l_member_wf,  Id_wf,  not_wf,  equal-wf-base,  int_subtype_base,  eqff_to_assert,  equal_wf,  bool_cases_sqequal,  subtype_base_sq,  bool_subtype_base,  assert-bnot,  productdeq_reduce_lemma,  intdeq_reduce_lemma,  iff_transitivity,  assert_wf,  eq_int_wf,  assert_of_eq_int,  bnot_wf,  deq-member_wf,  id-deq_wf,  iff_weakening_uiff,  assert_of_band,  assert_of_bnot,  assert-deq-member,  not_over_and,  decidable__cand,  decidable__equal_int,  decidable__int_equal,  or_wf,  decidable__l_member,  decidable__equal_Id,  neg_assert_of_eq_int,  base-headers-msg-val-single-val,  cons_wf_listp,  cons_wf,  nil_wf,  listp_wf,  subtype_rel_weakening,  ext-eq_weakening,  single-valued-bag-single,  list_wf

Latex:
\mforall{}Cmd:ValueAllType.  \mforall{}notify,propose:Atom  List.  \mforall{}f:new\_23\_sig\_headers\_type\{i:l\}(Cmd;notify;propose).
\mforall{}es:EO+(Message(f)).  \mforall{}e1,e2:E.  \mforall{}ni:\mBbbZ{}  \mtimes{}  \mBbbZ{}.  \mforall{}s1,s2:Cmd  List  \mtimes{}  (Id  List).  \mforall{}v:\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd  \mtimes{}  Id.
    ((e1  <loc  e2)
    {}\mRightarrow{}  v  \mmember{}  new\_23\_sig\_vote'base(Cmd;notify;propose;f)(e1)
    {}\mRightarrow{}  s1  \mmember{}  new\_23\_sig\_QuorumState(Cmd;notify;propose;f)  ni(e1)
    {}\mRightarrow{}  s2  \mmember{}  new\_23\_sig\_QuorumState(Cmd;notify;propose;f)  ni(e2)
    {}\mRightarrow{}  let  cmds1,locs1  =  s1 
          in  let  cmds2,locs2  =  s2 
                in  let  x,i  =  v 
                      in  let  ni',c  =  x 
                            in  (ni  =  ni')  {}\mRightarrow{}  ((i  \mmember{}  locs2)  \mwedge{}  ((\mneg{}(i  \mmember{}  locs1))  {}\mRightarrow{}  (c  \mmember{}  cmds2))))



Date html generated: 2015_07_23-PM-03_57_10
Last ObjectModification: 2015_01_29-AM-08_52_58

Home Index