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