Nuprl Lemma : new_23_sig_voter_start_unique
∀Cmd:ValueAllType. ∀propose,notify:Atom List. ∀slots:set-sig{i:l}(ℤ).
∀f:new_23_sig_headers_type{i:l}(Cmd;notify;propose). ∀es:EO+(Message(f)). ∀n:ℤ. ∀e1,e2:E. ∀c1,c2:Cmd.
  ((¬↑(set-sig-member(slots) n new_23_sig_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e1)))
  
⇒ <n, c1> ∈ new_23_sig_Proposal(Cmd;notify;propose;f)(e1)
  
⇒ (¬↑(set-sig-member(slots) n new_23_sig_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e2)))
  
⇒ <n, c2> ∈ new_23_sig_Proposal(Cmd;notify;propose;f)(e2)
  
⇒ (loc(e1) = loc(e2) ∈ Id)
  
⇒ (e1 = e2 ∈ E))
Proof
Definitions occuring in Statement : 
new_23_sig_ReplicaStateFun: new_23_sig_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e)
, 
new_23_sig_Proposal: new_23_sig_Proposal(Cmd;notify;propose;f)
, 
new_23_sig_headers_type: new_23_sig_headers_type{i:l}(Cmd;notify;propose)
, 
set-sig-member: set-sig-member(s)
, 
set-sig: set-sig{i:l}(Item)
, 
Message: Message(f)
, 
classrel: v ∈ X(e)
, 
event-ordering+: EO+(Info)
, 
es-loc: loc(e)
, 
es-E: E
, 
Id: Id
, 
list: T List
, 
vatype: ValueAllType
, 
assert: ↑b
, 
all: ∀x:A. B[x]
, 
not: ¬A
, 
implies: P 
⇒ Q
, 
apply: f a
, 
pair: <a, b>
, 
product: x:A × B[x]
, 
int: ℤ
, 
atom: Atom
, 
equal: s = t ∈ T
Definitions unfolded in proof : 
vatype: ValueAllType
, 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
member: t ∈ T
, 
subtype_rel: A ⊆r B
, 
iff: P 
⇐⇒ Q
, 
and: P ∧ Q
, 
rev_implies: P 
⇐ Q
, 
or: P ∨ Q
, 
not: ¬A
, 
false: False
, 
prop: ℙ
, 
uall: ∀[x:A]. B[x]
, 
new_23_sig_headers_type: new_23_sig_headers_type{i:l}(Cmd;notify;propose)
, 
so_lambda: λ2x.t[x]
, 
so_apply: x[s]
, 
uimplies: b supposing a
Latex:
\mforall{}Cmd:ValueAllType.  \mforall{}propose,notify:Atom  List.  \mforall{}slots:set-sig\{i:l\}(\mBbbZ{}).
\mforall{}f:new\_23\_sig\_headers\_type\{i:l\}(Cmd;notify;propose).  \mforall{}es:EO+(Message(f)).  \mforall{}n:\mBbbZ{}.  \mforall{}e1,e2:E.
\mforall{}c1,c2:Cmd.
    ((\mneg{}\muparrow{}(set-sig-member(slots)  n  new\_23\_sig\_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e1)))
    {}\mRightarrow{}  <n,  c1>  \mmember{}  new\_23\_sig\_Proposal(Cmd;notify;propose;f)(e1)
    {}\mRightarrow{}  (\mneg{}\muparrow{}(set-sig-member(slots)  n  new\_23\_sig\_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e2)))
    {}\mRightarrow{}  <n,  c2>  \mmember{}  new\_23\_sig\_Proposal(Cmd;notify;propose;f)(e2)
    {}\mRightarrow{}  (loc(e1)  =  loc(e2))
    {}\mRightarrow{}  (e1  =  e2))
Date html generated:
2016_05_17-PM-02_25_13
Last ObjectModification:
2015_12_29-PM-08_06_19
Theory : 2!3!consensus!with!signatures
Home
Index