Nuprl Lemma : new_23_sig_progress-step4
∀[Cmd:ValueAllType]. ∀[eq:EqDecider(Cmd)]. ∀[reps,clients:bag(Id)]. ∀[coeff:{2...}]. ∀[flrs:ℕ].
∀[propose,notify:Atom List]. ∀[slots:set-sig{i:l}(ℤ)]. ∀[f:new_23_sig_headers_type{i:l}(Cmd;notify;propose)].
∀[es:EO+(Message(f))]. ∀[e:E]. ∀[n:ℤ]. ∀[c:Cmd]. ∀[faulty:bag(Id)].
(msgs-interface-delivered-with-omissions(f;es;new_23_sig_main();faulty;flrs;reps)
⇒ bag-no-repeats(Id;reps)
⇒ (#(reps) = ((coeff * flrs) + flrs + 1) ∈ ℤ)
⇒ loc(e) ↓∈ reps
⇒ (¬loc(e) ↓∈ faulty)
⇒ <n, c> ∈ new_23_sig_Proposal(Cmd;notify;propose;f)(e)
⇒ (¬↑(set-sig-member(slots) n new_23_sig_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e)))
⇒ b_all(Id;[x∈reps|¬bbag-deq-member(IdDeq;x;faulty)];i.↓∃e':E
∃c':Cmd
((loc(e') = loc(e) ∈ Id)
∧ <<<n, 0>, c'>, i> ∈
new_23_sig_vote'base(Cmd;notify;propose;f)(e'))))
Proof
Definitions occuring in Statement :
new_23_sig_main: new_23_sig_main()
,
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_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)
,
msgs-interface-delivered-with-omissions: msgs-interface-delivered-with-omissions(f;es;X;faulty;failures;ids)
,
Message: Message(f)
,
classrel: v ∈ X(e)
,
event-ordering+: EO+(Info)
,
es-loc: loc(e)
,
es-E: E
,
id-deq: IdDeq
,
Id: Id
,
deq: EqDecider(T)
,
list: T List
,
int_upper: {i...}
,
nat: ℕ
,
vatype: ValueAllType
,
bnot: ¬bb
,
assert: ↑b
,
uall: ∀[x:A]. B[x]
,
exists: ∃x:A. B[x]
,
not: ¬A
,
squash: ↓T
,
implies: P
⇒ Q
,
and: P ∧ Q
,
apply: f a
,
pair: <a, b>
,
product: x:A × B[x]
,
multiply: n * m
,
add: n + m
,
natural_number: $n
,
int: ℤ
,
atom: Atom
,
equal: s = t ∈ T
,
bag-deq-member: bag-deq-member(eq;x;b)
,
b_all: b_all(T;b;x.P[x])
,
bag-member: x ↓∈ bs
,
bag-no-repeats: bag-no-repeats(T;bs)
,
bag-size: #(bs)
,
bag-filter: [x∈b|p[x]]
,
bag: bag(T)
,
set-sig-member: set-sig-member(s)
,
set-sig: set-sig{i:l}(Item)
Lemmas :
new_23_sig_progress-step3,
bag-member-filter,
bnot_wf,
bag-deq-member_wf,
id-deq_wf,
bag-member_wf,
bag-filter_wf,
subtype_rel_bag,
Id_wf,
assert_wf,
not_wf,
mk-msg-interface_wf,
es-loc_wf,
event-ordering+_subtype,
Message_wf,
make-Msg_wf,
cons_wf_listp,
cons_wf,
nil_wf,
listp_wf,
subtype_rel_weakening,
ext-eq_weakening,
squash_wf,
true_wf,
bag_wf,
iff_weakening_equal,
make-msg-interface-equal,
es-info_wf,
base-noloc-classrel-make-Msg2,
classrel_wf,
new_23_sig_vote'base_wf,
exists_wf,
iff_transitivity,
iff_weakening_uiff,
assert_of_bnot,
assert-bag-deq-member,
subtype_base_sq,
bool_wf,
bool_subtype_base,
bfalse_wf,
equal-wf-T-base,
msg-authentic_wf
Latex:
\mforall{}[Cmd:ValueAllType]. \mforall{}[eq:EqDecider(Cmd)]. \mforall{}[reps,clients:bag(Id)]. \mforall{}[coeff:\{2...\}]. \mforall{}[flrs:\mBbbN{}].
\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{}[e:E]. \mforall{}[n:\mBbbZ{}].
\mforall{}[c:Cmd]. \mforall{}[faulty:bag(Id)].
(msgs-interface-delivered-with-omissions(f;es;new\_23\_sig\_main();faulty;flrs;reps)
{}\mRightarrow{} bag-no-repeats(Id;reps)
{}\mRightarrow{} (\#(reps) = ((coeff * flrs) + flrs + 1))
{}\mRightarrow{} loc(e) \mdownarrow{}\mmember{} reps
{}\mRightarrow{} (\mneg{}loc(e) \mdownarrow{}\mmember{} faulty)
{}\mRightarrow{} <n, c> \mmember{} new\_23\_sig\_Proposal(Cmd;notify;propose;f)(e)
{}\mRightarrow{} (\mneg{}\muparrow{}(set-sig-member(slots) n new\_23\_sig\_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e)))
{}\mRightarrow{} b\_all(Id;[x\mmember{}reps|
\mneg{}\msubb{}bag-deq-member(IdDeq;x;faulty)];i.\mdownarrow{}\mexists{}e':E
\mexists{}c':Cmd
((loc(e') = loc(e))
\mwedge{} <<<n, 0>, c'>, i> \mmember{}
new\_23\_sig\_vote'base(Cmd;notify;propose;f)(
e'))))
Date html generated:
2015_07_23-PM-04_03_47
Last ObjectModification:
2015_02_04-PM-03_52_55
Home
Index