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