Nuprl Lemma : pv11_p1_ldr_proposal3
∀Cmd:ValueAllType. ∀f:pv11_p1_headers_type{i:l}(Cmd). ∀es:EO+(Message(f)). ∀e:E. ∀ldrs_uid:Id ─→ ℤ.
∀v:pv11_p1_Ballot_Num() × 𝔹 × ((ℤ × Cmd) List). ∀s:ℤ. ∀c:Cmd.
(v ∈ pv11_p1_LeaderState(Cmd;ldrs_uid;f)(e)
⇒ (<s, c> ∈ snd(snd(v)))
⇒ (∃e':E
∃bnum:pv11_p1_Ballot_Num()
∃active:𝔹
∃proposals:(ℤ × Cmd) List
((e' <loc e)
∧ <bnum, active, proposals> ∈ pv11_p1_LeaderState(Cmd;ldrs_uid;f)(e')
∧ (∀e'':E. ∀x:pv11_p1_Ballot_Num() × 𝔹 × ((ℤ × Cmd) List).
((e' <loc e'')
⇒ e'' ≤loc e
⇒ x ∈ pv11_p1_LeaderState(Cmd;ldrs_uid;f)(e'')
⇒ (<s, c> ∈ snd(snd(x)))))
∧ ((<s, c> ∈ pv11_p1_propose'base(Cmd;f)(e') ∧ (¬↑(pv11_p1_in_domain(Cmd) s proposals)))
∨ (∃pvals:(pv11_p1_Ballot_Num() × ℤ × Cmd) List
∃b:pv11_p1_Ballot_Num()
(<bnum, pvals> ∈ pv11_p1_adopted'base(Cmd;f)(e')
∧ (<b, s, c> ∈ pvals)
∧ (∀b':pv11_p1_Ballot_Num(). ∀c':Cmd.
((<b', s, c'> ∈ pvals)
⇒ (↑(pv11_p1_leq_bnum(ldrs_uid) b' b))))))))))
Proof
Definitions occuring in Statement :
pv11_p1_LeaderState: pv11_p1_LeaderState(Cmd;ldrs_uid;mf)
,
pv11_p1_propose'base: pv11_p1_propose'base(Cmd;mf)
,
pv11_p1_adopted'base: pv11_p1_adopted'base(Cmd;mf)
,
pv11_p1_in_domain: pv11_p1_in_domain(Cmd)
,
pv11_p1_headers_type: pv11_p1_headers_type{i:l}(Cmd)
,
pv11_p1_leq_bnum: pv11_p1_leq_bnum(ldrs_uid)
,
pv11_p1_Ballot_Num: pv11_p1_Ballot_Num()
,
Message: Message(f)
,
classrel: v ∈ X(e)
,
event-ordering+: EO+(Info)
,
es-le: e ≤loc e'
,
es-locl: (e <loc e')
,
es-E: E
,
Id: Id
,
l_member: (x ∈ l)
,
list: T List
,
vatype: ValueAllType
,
assert: ↑b
,
bool: 𝔹
,
pi2: snd(t)
,
all: ∀x:A. B[x]
,
exists: ∃x:A. B[x]
,
not: ¬A
,
implies: P
⇒ Q
,
or: P ∨ Q
,
and: P ∧ Q
,
apply: f a
,
function: x:A ─→ B[x]
,
pair: <a, b>
,
product: x:A × B[x]
,
int: ℤ
Lemmas :
pv11_p1_ldr_state_eq2,
es-first_wf2,
event-ordering+_subtype,
Message_wf,
bool_cases,
subtype_base_sq,
bool_wf,
bool_subtype_base,
eqtt_to_assert,
eqff_to_assert,
assert_of_bnot,
pv11_p1_Ballot_Num_wf,
list_wf,
l_member_wf,
nil_member,
member-eclass_wf,
pv11_p1_propose'base_wf,
es-pred_wf,
pv11_p1_in_domain_wf,
es-pred-locl,
es-causl_weakening,
and_wf,
equal_wf,
es-locl_transitivity2,
es-le_weakening,
es-le-pred,
classrel_wf,
pv11_p1_LeaderState_wf,
pv11_p1_LeaderState-functional,
pi2_wf,
es-le_wf,
es-locl_wf,
es-E_wf,
all_wf,
or_wf,
not_wf,
assert_wf,
exists_wf,
pv11_p1_adopted'base_wf,
pv11_p1_leq_bnum_wf,
bl-exists_wf,
pv11_p1_same_proposal_wf,
bnot_wf,
l_exists_wf,
assert-bl-exists,
iff_transitivity,
iff_weakening_uiff,
squash_wf,
true_wf,
iff_weakening_equal,
member_append,
cons_wf,
nil_wf,
member_singleton,
event-ordering+_wf,
eclass_wf,
pi1_wf_top,
subtype_rel_product,
top_wf,
subtype_top,
assert_elim,
not_assert_elim,
btrue_neq_bfalse,
es-pred_property,
event-ordering+_cumulative2,
es-loc-pred,
es-le_weakening_eq,
es-locl_irreflexivity,
es-causl_transitivity2,
es-causle_weakening,
es-causl_irreflexivity,
pv11_p1_eq_bnums_wf,
pv11_p1_eq_bnums-assert,
pv11_p1_upd_desc_iff,
pv11_p1_pmax_wf,
pv11_p1_pmax_desc_iff,
union_subtype_base,
Id_wf,
unit_wf2,
product_subtype_base,
int_subtype_base,
atom2_subtype_base,
unit_subtype_base,
pv11_p1_preempted'base_wf,
pv11_p1_is_bnum_wf,
pv11_p1_lt_bnum_wf,
assert_of_band
Latex:
\mforall{}Cmd:ValueAllType. \mforall{}f:pv11\_p1\_headers\_type\{i:l\}(Cmd). \mforall{}es:EO+(Message(f)). \mforall{}e:E. \mforall{}ldrs$_\mbackslash{}ff7\000Cbuid}$:Id {}\mrightarrow{} \mBbbZ{}.
\mforall{}v:pv11\_p1\_Ballot\_Num() \mtimes{} \mBbbB{} \mtimes{} ((\mBbbZ{} \mtimes{} Cmd) List). \mforall{}s:\mBbbZ{}. \mforall{}c:Cmd.
(v \mmember{} pv11\_p1\_LeaderState(Cmd;ldrs$_{uid}$;f)(e)
{}\mRightarrow{} (<s, c> \mmember{} snd(snd(v)))
{}\mRightarrow{} (\mexists{}e':E
\mexists{}bnum:pv11\_p1\_Ballot\_Num()
\mexists{}active:\mBbbB{}
\mexists{}proposals:(\mBbbZ{} \mtimes{} Cmd) List
((e' <loc e)
\mwedge{} <bnum, active, proposals> \mmember{} pv11\_p1\_LeaderState(Cmd;ldrs$_{uid}$;f)(\000Ce')
\mwedge{} (\mforall{}e'':E. \mforall{}x:pv11\_p1\_Ballot\_Num() \mtimes{} \mBbbB{} \mtimes{} ((\mBbbZ{} \mtimes{} Cmd) List).
((e' <loc e'')
{}\mRightarrow{} e'' \mleq{}loc e
{}\mRightarrow{} x \mmember{} pv11\_p1\_LeaderState(Cmd;ldrs$_{uid}$;f)(e'')
{}\mRightarrow{} (<s, c> \mmember{} snd(snd(x)))))
\mwedge{} ((<s, c> \mmember{} pv11\_p1\_propose'base(Cmd;f)(e') \mwedge{} (\mneg{}\muparrow{}(pv11\_p1\_in\_domain(Cmd) s proposals)))
\mvee{} (\mexists{}pvals:(pv11\_p1\_Ballot\_Num() \mtimes{} \mBbbZ{} \mtimes{} Cmd) List
\mexists{}b:pv11\_p1\_Ballot\_Num()
(<bnum, pvals> \mmember{} pv11\_p1\_adopted'base(Cmd;f)(e')
\mwedge{} (<b, s, c> \mmember{} pvals)
\mwedge{} (\mforall{}b':pv11\_p1\_Ballot\_Num(). \mforall{}c':Cmd.
((<b', s, c'> \mmember{} pvals) {}\mRightarrow{} (\muparrow{}(pv11\_p1\_leq\_bnum(ldrs$_{uid}$\000C) b' b))))))))))
Date html generated:
2015_07_23-PM-04_47_29
Last ObjectModification:
2015_02_04-AM-08_29_36
Home
Index