Nuprl Lemma : new_23_sig_votes_consistent
∀[Cmd:ValueAllType]. ∀[cmdeq:EqDecider(Cmd)]. ∀[reps,clients:bag(Id)]. ∀[coeff,flrs:ℤ]. ∀[notify,propose:Atom List].
∀[slots:set-sig{i:l}(ℤ)]. ∀[f:new_23_sig_headers_type{i:l}(Cmd;notify;propose)]. ∀[es:EO+(Message(f))].
(new_23_sig_message-constraint{i:l}(Cmd;clients;cmdeq;coeff;flrs;notify;propose;reps;slots;f)
⇒ (∀e1,e2:E. ∀n,r:ℤ. ∀sender,l1,l2:Id. ∀c1,c2:Cmd. ∀d1,d2:ℤ.
(<d1, l1, make-Msg(``new_23_sig vote``;<<<n, r>, c1>, sender>)> ∈ new_23_sig_main()(e1)
⇒ <d2, l2, make-Msg(``new_23_sig vote``;<<<n, r>, c2>, sender>)> ∈ new_23_sig_main()(e2)
⇒ (c1 = c2 ∈ Cmd))))
Proof
Definitions occuring in Statement :
new_23_sig_message-constraint: new_23_sig_message-constraint{i:l}(Cmd;clients;cmdeq;coeff;flrs;notify;propose;reps;slots;f)
,
new_23_sig_main: new_23_sig_main()
,
new_23_sig_headers_type: new_23_sig_headers_type{i:l}(Cmd;notify;propose)
,
msg-interface: Interface
,
make-Msg: make-Msg(hdr;val)
,
Message: Message(f)
,
classrel: v ∈ X(e)
,
event-ordering+: EO+(Info)
,
es-E: E
,
Id: Id
,
deq: EqDecider(T)
,
cons: [a / b]
,
nil: []
,
list: T List
,
vatype: ValueAllType
,
uall: ∀[x:A]. B[x]
,
all: ∀x:A. B[x]
,
implies: P
⇒ Q
,
pair: <a, b>
,
int: ℤ
,
token: "$token"
,
atom: Atom
,
equal: s = t ∈ T
,
bag: bag(T)
,
set-sig: set-sig{i:l}(Item)
Lemmas :
sq_stable__and,
equal_wf,
vatype_wf,
cons_wf_listp,
cons_wf,
listp_wf,
sq_stable__equal,
squash_wf,
int_seg_wf,
length_wf,
name_wf,
new_23_sig_headers_wf,
l_all_iff,
l_member_wf,
new_23_sig_headers_fun_wf,
cons_member,
nil_wf,
equal-wf-base,
list_subtype_base,
atom_subtype_base,
iff_weakening_equal,
name_eq_wf,
bool_wf,
eqtt_to_assert,
assert-name_eq,
sq_stable__no_repeats,
true_wf,
eqff_to_assert,
bool_cases_sqequal,
subtype_base_sq,
bool_subtype_base,
assert-bnot,
classrel_wf,
msg-interface_wf,
new_23_sig_main_wf,
make-msg-interface_wf,
make-Msg_wf,
subtype_rel_weakening,
ext-eq_weakening,
es-E_wf,
event-ordering+_subtype,
new_23_sig_message-constraint_wf,
event-ordering+_wf,
Message_wf,
subtype_rel_dep_function,
new_23_sig_headers_type_wf,
set-sig_wf,
list_wf,
bag_wf,
Id_wf,
deq_wf,
set_wf,
valueall-type_wf,
new_23_sig-vote,
bfalse_wf,
new_23_sig_voter_start_unique,
parallel-classrel,
new_23_sig_propose'base_wf,
eclass0_wf,
new_23_sig_vote'base_wf,
new_23_sig_vote2prop_wf,
es-le-loc,
base-noloc-classrel,
eclass0-classrel,
es-info-body_wf,
pair-eta,
subtype_rel_product,
top_wf,
subtype_top,
bag-member-single,
bag-member_wf,
es-loc_wf,
and_wf,
pi2_wf,
es-header_wf,
length_of_cons_lemma,
length_of_nil_lemma,
false_wf,
le_wf,
not_wf,
less_than_wf,
nat_wf,
pi1_wf_top,
new_23_sig_rounds_pos_fun,
eo-forward_wf,
member-eo-forward-E,
less_than_transitivity1,
new_23_sig_NewRoundsStateFun_wf,
le_weakening,
less_than_irreflexivity,
es-locl-trichotomy,
new_23_sig_rounds_mem_fun,
es-le_transitivity,
es-le_weakening_eq,
eo-forward-locl,
new_23_sig_retry'base_wf,
new_23_sig_vote2retry_wf,
eo-forward-base-classrel,
event-ordering+_cumulative,
base-classrel-equal,
pair_eta_rw,
es-info-type_wf,
subtype_rel_transitivity
Latex:
\mforall{}[Cmd:ValueAllType]. \mforall{}[cmdeq:EqDecider(Cmd)]. \mforall{}[reps,clients:bag(Id)]. \mforall{}[coeff,flrs:\mBbbZ{}].
\mforall{}[notify,propose: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))].
(new\_23\_sig\_message-constraint\{i:l\}(Cmd;clients;cmdeq;coeff;flrs;notify;propose;reps;slots;f)
{}\mRightarrow{} (\mforall{}e1,e2:E. \mforall{}n,r:\mBbbZ{}. \mforall{}sender,l1,l2:Id. \mforall{}c1,c2:Cmd. \mforall{}d1,d2:\mBbbZ{}.
(<d1, l1, make-Msg(``new\_23\_sig vote``;<<<n, r>, c1>, sender>)> \mmember{} new\_23\_sig\_main()(e1)
{}\mRightarrow{} <d2, l2, make-Msg(``new\_23\_sig vote``;<<<n, r>, c2>, sender>)> \mmember{} new\_23\_sig\_main()(e2)
{}\mRightarrow{} (c1 = c2))))
Date html generated:
2015_07_23-PM-03_57_42
Last ObjectModification:
2015_02_04-PM-01_30_58
Home
Index