Nuprl Lemma : pv11_p1-p2b
∀[Cmd:{T:Type| valueall-type(T)} ]. ∀[accpts,ldrs:bag(Id)]. ∀[ldrs_uid:Id ─→ ℤ]. ∀[reps:bag(Id)].
∀[mf:pv11_p1_headers_type{i:l}(Cmd)]. ∀[es:EO+(Message(mf))]. ∀[e:E]. ∀[d:ℤ]. ∀[i:Id]. ∀[auth:𝔹]. ∀[i1:Id].
∀[p:pv11_p1_Ballot_Num()]. ∀[k:ℤ]. ∀[p1:pv11_p1_Ballot_Num()].
(<d, i, mk-msg(auth;``pv11_p1 p2b``;<i1, p, k, p1>)> ∈ pv11_p1_main(Cmd;accpts;ldrs;ldrs_uid;reps;mf)(e)
⇐⇒ loc(e) ↓∈ accpts
∧ ((header(e) = ``pv11_p1 p2a`` ∈ Name) ∧ has-es-info-type(es;e;mf;Id × pv11_p1_Ballot_Num() × ℤ × Cmd))
∧ (d = 0 ∈ ℤ)
∧ (i = (fst(msgval(e))) ∈ Id)
∧ auth = pv11_p1_init_active()
∧ (i1 = loc(e) ∈ Id)
∧ (p = (fst(snd(msgval(e)))) ∈ pv11_p1_Ballot_Num())
∧ (k = (fst(snd(snd(msgval(e))))) ∈ ℤ)
∧ (p1 = (fst(pv11_p1_AcceptorStateFun(Cmd;ldrs_uid;mf;es;e))) ∈ pv11_p1_Ballot_Num()))
Proof
Definitions occuring in Statement :
pv11_p1_main: pv11_p1_main(Cmd;accpts;ldrs;ldrs_uid;reps;mf)
,
pv11_p1_AcceptorStateFun: pv11_p1_AcceptorStateFun(Cmd;ldrs_uid;mf;es;e)
,
pv11_p1_init_active: pv11_p1_init_active()
,
pv11_p1_headers_type: pv11_p1_headers_type{i:l}(Cmd)
,
pv11_p1_Ballot_Num: pv11_p1_Ballot_Num()
,
msg-interface: Interface
,
mk-msg: mk-msg(auth;hdr;val)
,
es-info-body: msgval(e)
,
has-es-info-type: has-es-info-type(es;e;f;T)
,
es-header: header(e)
,
Message: Message(f)
,
classrel: v ∈ X(e)
,
event-ordering+: EO+(Info)
,
es-loc: loc(e)
,
es-E: E
,
Id: Id
,
name: Name
,
cons: [a / b]
,
nil: []
,
valueall-type: valueall-type(T)
,
bool: 𝔹
,
uall: ∀[x:A]. B[x]
,
pi1: fst(t)
,
pi2: snd(t)
,
iff: P
⇐⇒ Q
,
and: P ∧ Q
,
set: {x:A| B[x]}
,
function: x:A ─→ B[x]
,
pair: <a, b>
,
product: x:A × B[x]
,
natural_number: $n
,
int: ℤ
,
token: "$token"
,
universe: Type
,
equal: s = t ∈ T
,
bag-member: x ↓∈ bs
,
bag: bag(T)
Lemmas :
sq_stable__and,
equal_wf,
cons_wf_listp,
nil_wf,
listp_wf,
vatype_wf,
cons_wf,
list_wf,
equal-wf-T-base,
sq_stable__equal,
squash_wf,
int_seg_wf,
length_wf,
name_wf,
pv11_p1_headers_wf,
l_all_iff,
l_member_wf,
pv11_p1_headers_fun_wf,
cons_member,
equal-wf-base,
iff_weakening_equal,
classrel_wf,
msg-interface_wf,
pv11_p1_main_wf,
make-msg-interface_wf,
mk-msg_wf,
subtype_rel_weakening,
ext-eq_weakening,
bag-member_wf,
es-loc_wf,
event-ordering+_subtype,
es-header_wf,
has-es-info-type_wf,
int_subtype_base,
es-info-body_wf,
bool_wf,
equal-wf-base-T,
pv11_p1_AcceptorStateFun_wf,
pv11_p1_Ballot_Num_wf,
es-E_wf,
event-ordering+_wf,
Message_wf,
subtype_rel_dep_function,
pv11_p1_headers_type_wf,
bag_wf,
Id_wf,
set_wf,
valueall-type_wf,
pv11_p1-ilf,
eo-forward_wf,
pv11_p1_init_ballot_num_wf,
or_wf,
less_than_wf,
bag-size_wf,
pv11_p1_ScoutStateFun_wf,
nat_wf,
pv11_p1_threshold_wf,
make-Msg_wf,
not_wf,
member-eo-forward-E,
eo-forward-header,
eo-forward-has-es-info-type,
pv11_p1_CommanderStateFun_wf,
assert_wf,
pv11_p1_LeaderStateFun_wf,
pv11_p1_in_domain_wf,
list-subtype-bag,
exists_wf,
pv11_p1_pmax_wf,
pv11_p1_lt_bnum_wf,
no-classrel-in-interval_wf,
eclass2_wf,
eclass1_wf,
pv11_p1_p2b'base_wf,
pv11_p1_commander_output_wf,
pv11_p1_CommanderState_wf,
es-first_wf2,
no-prior-classrel_wf,
pv11_p1_p1b'base_wf,
pv11_p1_scout_output_wf,
pv11_p1_ScoutState_wf,
es-le_wf,
pv11_p1_upd_bnum_wf,
pv11_p1_is_bnum_wf,
msg-header_wf,
hdrmkmsg_lemma,
hdrmakeMsg_lemma,
sq_stable__no_repeats,
true_wf,
false_wf,
and_wf,
null_nil_lemma,
btrue_wf,
reduce_tl_cons_lemma,
tl_wf,
null_wf3,
subtype_rel_list,
top_wf,
null_cons_lemma,
bfalse_wf,
btrue_neq_bfalse,
make-Msg-as-mk-msg,
mk-msg-equal,
equal_functionality_wrt_subtype_rel2,
sq_stable__bag-member,
sq_stable__has-es-info-type,
pi1_wf_top,
es-info-type_wf,
subtype_rel_product,
subtype_top,
subtype_rel_transitivity,
eo-forward-info-body,
assert-name_eq
Latex:
\mforall{}[Cmd:\{T:Type| valueall-type(T)\} ]. \mforall{}[accpts,ldrs:bag(Id)]. \mforall{}[ldrs$_{uid}$:Id {}\mrightarrow{}\000C \mBbbZ{}]. \mforall{}[reps:bag(Id)].
\mforall{}[mf:pv11\_p1\_headers\_type\{i:l\}(Cmd)]. \mforall{}[es:EO+(Message(mf))]. \mforall{}[e:E]. \mforall{}[d:\mBbbZ{}]. \mforall{}[i:Id]. \mforall{}[auth:\mBbbB{}].
\mforall{}[i1:Id]. \mforall{}[p:pv11\_p1\_Ballot\_Num()]. \mforall{}[k:\mBbbZ{}]. \mforall{}[p1:pv11\_p1\_Ballot\_Num()].
(<d, i, mk-msg(auth;``pv11\_p1 p2b``;<i1, p, k, p1>)> \mmember{} pv11\_p1\_main(Cmd;accpts;ldrs;ldrs$_\000C{uid}$;reps;mf)(e)
\mLeftarrow{}{}\mRightarrow{} loc(e) \mdownarrow{}\mmember{} accpts
\mwedge{} ((header(e) = ``pv11\_p1 p2a``)
\mwedge{} has-es-info-type(es;e;mf;Id \mtimes{} pv11\_p1\_Ballot\_Num() \mtimes{} \mBbbZ{} \mtimes{} Cmd))
\mwedge{} (d = 0)
\mwedge{} (i = (fst(msgval(e))))
\mwedge{} auth = pv11\_p1\_init\_active()
\mwedge{} (i1 = loc(e))
\mwedge{} (p = (fst(snd(msgval(e)))))
\mwedge{} (k = (fst(snd(snd(msgval(e))))))
\mwedge{} (p1 = (fst(pv11\_p1\_AcceptorStateFun(Cmd;ldrs$_{uid}$;mf;es;e)))))
Date html generated:
2015_07_23-PM-04_42_26
Last ObjectModification:
2015_02_04-PM-02_18_42
Home
Index