Nuprl Lemma : pv11_p1_inv_acc

Cmd:ValueAllType. ∀ldrs_uid:Id ─→ ℤ. ∀mf:pv11_p1_headers_type{i:l}(Cmd). ∀es:EO+(Message(mf)). ∀e1:E.
z:pv11_p1_Ballot_Num() × ((pv11_p1_Ballot_Num() × ℤ × Cmd) List).
  (z ∈ pv11_p1_AcceptorState(Cmd;ldrs_uid;mf)(e1)
   let ballot_num,accepted 
     in (∀bnum:pv11_p1_Ballot_Num(). ∀p:ℤ × Cmd.
           ((<bnum, p> ∈ accepted)  (↑(pv11_p1_leq_bnum(ldrs_uid) bnum ballot_num))))
        ∧ l-ordered(pv11_p1_Ballot_Num() × ℤ × Cmd;pv1,pv2.↑(pv11_p1_leq_bnum(ldrs_uid) (fst(pv1)) (fst(pv2)));accepted)
        ∧ no_repeats(pv11_p1_Ballot_Num() × ℤ × Cmd;accepted))


Proof




Definitions occuring in Statement :  pv11_p1_AcceptorState: pv11_p1_AcceptorState(Cmd;ldrs_uid;mf) 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-E: E Id: Id no_repeats: no_repeats(T;l) l_member: (x ∈ l) list: List vatype: ValueAllType assert: b pi1: fst(t) all: x:A. B[x] implies:  Q and: P ∧ Q apply: a function: x:A ─→ B[x] spread: spread def pair: <a, b> product: x:A × B[x] int: l-ordered: l-ordered(T;x,y.R[x; y];L)
Lemmas :  int_seg_wf length_wf name_wf pv11_p1_headers_wf l_all_iff l_member_wf equal_wf pv11_p1_headers_fun_wf cons_wf_listp nil_wf listp_wf cons_member cons_wf equal-wf-base iff_weakening_equal classrel_wf squash_wf true_wf es-E_wf event-ordering+_subtype event-ordering+_wf eclass_wf State2-state-class2 pv11_p1_init_acceptor_wf pv11_p1_on_p1a_wf pv11_p1_p1a'base_wf pv11_p1_on_p2a_wf pv11_p1_p2a'base_wf State-loc-comb-invariant-sv1 all_wf assert_wf pv11_p1_leq_bnum_wf l-ordered_wf no_repeats_wf single-bag_wf disjoint-union-tr_wf disjoint-union-comb_wf single-valued-bag-single disjoint-union-comb-single-val base-headers-msg-val-single-val subtype_rel_weakening ext-eq_weakening base-disjoint-classrel iff_transitivity not_wf name_eq_wf bnot_wf assert-name_eq iff_weakening_uiff assert_of_bnot sq_stable__encodes-msg-type l_all_fwd list_wf valueall-type_wf equal-wf-T-base bag-member-single nil_member l-ordered-nil no_repeats_nil bag-member_wf disj_un_tr_ap_inl_lemma bool_wf eqtt_to_assert assert_of_bor lt_int_wf eq_int_wf assert_of_eq_int le_int_wf assert_of_lt_int int_subtype_base le_wf assert_of_band assert_of_le_int less_than_wf or_wf es-first_wf2 bool_cases subtype_base_sq bool_subtype_base subtype_rel_sum unit_wf2 eqff_to_assert null_nil_lemma btrue_wf member-implies-null-eq-bfalse btrue_neq_bfalse bool_cases_sqequal assert-bnot bor_wf not_over_or not_over_and decidable__int_equal decidable__lt false_wf less-iff-le add_functionality_wrt_le add-associates add-commutes add-swap le-add-cancel not-equal-2 le_antisymmetry_iff disj_un_tr_ap_inr_lemma bl-exists_wf pv11_p1_same_pvalue_wf assert-bl-exists l_exists_iff assert_of_band2 pv11_p1_eq_bnums_wf pv11_p1_eq_bnums-assert pv11_p1_same_proposal_wf assert_elim and_wf bfalse_wf pv11_p1_Ballot_Num_wf union_subtype_base product_subtype_base atom2_subtype_base unit_subtype_base not_assert_elim l_exists_wf exists_wf member_append less_than_transitivity2 le_weakening2 less_than_irreflexivity less_than_transitivity1 le_weakening member_singleton pi1_wf_top subtype_rel_product top_wf outl_wf Id_wf isl_wf subtype_top pi2_wf le_transitivity decide_bfalse_lemma decidable__equal_int decide_wf pv11_p1_leq_bnum'_wf pv11_p1_add_if_new_wf l-ordered-append l-ordered-single uiff_transitivity no_repeats_append_iff l_disjoint_cons member_wf l_disjoint_nil2 no_repeats_singleton State-loc-comb_wf es-pred_wf es-le_wf pv11_p1_AcceptorState_wf Message_wf subtype_rel_dep_function vatype_wf pv11_p1_headers_type_wf set_wf

Latex:
\mforall{}Cmd:ValueAllType.  \mforall{}ldrs$_{uid}$:Id  {}\mrightarrow{}  \mBbbZ{}.  \mforall{}mf:pv11\_p1\_headers\_type\{i:l\}(Cmd).  \mforall{}e\000Cs:EO+(Message(mf)).
\mforall{}e1:E.  \mforall{}z:pv11\_p1\_Ballot\_Num()  \mtimes{}  ((pv11\_p1\_Ballot\_Num()  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd)  List).
    (z  \mmember{}  pv11\_p1\_AcceptorState(Cmd;ldrs$_{uid}$;mf)(e1)
    {}\mRightarrow{}  let  ballot$_{num}$,accepted  =  z 
          in  (\mforall{}bnum:pv11\_p1\_Ballot\_Num().  \mforall{}p:\mBbbZ{}  \mtimes{}  Cmd.
                      ((<bnum,  p>  \mmember{}  accepted)  {}\mRightarrow{}  (\muparrow{}(pv11\_p1\_leq\_bnum(ldrs$_{uid}$)  bnum  bal\000Clot$_{num}$))))
                \mwedge{}  l-ordered(pv11\_p1\_Ballot\_Num()  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd;pv1,pv2.\muparrow{}(pv11\_p1\_leq\_bnum(ldrs$_{uid\000C}$)  (fst(pv1)) 
                                                                                                                          (fst(pv2)));accepted)
                \mwedge{}  no\_repeats(pv11\_p1\_Ballot\_Num()  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd;accepted))



Date html generated: 2015_07_23-PM-04_13_02
Last ObjectModification: 2015_02_04-AM-08_18_34

Home Index