Nuprl Lemma : new_23_sig_quorum_inv_vote

Cmd:ValueAllType. ∀notify,propose:Atom List. ∀f:new_23_sig_headers_type{i:l}(Cmd;notify;propose). ∀es:EO+(Message(f)).
e:E. ∀ni:ℤ × ℤ. ∀p:Cmd List × (Id List).
  (p ∈ new_23_sig_QuorumState(Cmd;notify;propose;f) ni(e)
   let cmds,locs 
     in no_repeats(Id;locs)
        ∧ (||locs|| ||cmds|| ∈ ℤ)
        ∧ (∀i:ℕ||locs||
             (↓∃e':E. ((e' <loc e) ∧ <<ni, cmds[i]>locs[i]> ∈ new_23_sig_vote'base(Cmd;notify;propose;f)(e')))))


Proof




Definitions occuring in Statement :  new_23_sig_QuorumState: new_23_sig_QuorumState(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) Message: Message(f) classrel: v ∈ X(e) event-ordering+: EO+(Info) es-locl: (e <loc e') es-E: E Id: Id no_repeats: no_repeats(T;l) select: L[n] length: ||as|| list: List int_seg: {i..j-} vatype: ValueAllType all: x:A. B[x] exists: x:A. B[x] squash: T implies:  Q and: P ∧ Q apply: a spread: spread def pair: <a, b> product: x:A × B[x] natural_number: $n int: atom: Atom equal: t ∈ T
Lemmas :  int_seg_wf length_wf name_wf new_23_sig_headers_wf l_all_iff l_member_wf equal_wf new_23_sig_headers_fun_wf cons_member cons_wf cons_wf_listp listp_wf 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 squash_wf true_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot classrel_wf es-E_wf event-ordering+_subtype event-ordering+_wf eclass_wf list_wf Id_wf Memory1-memory-class1 new_23_sig_add_to_quorum_wf new_23_sig_vote'base_wf Memory-loc-class-invariant-sv1 no_repeats_wf all_wf exists_wf es-locl_wf select_wf sq_stable__le less_than_transitivity1 le_weakening single-bag_wf base-headers-msg-val-single-val subtype_rel_weakening ext-eq_weakening single-valued-bag-single bag-member-single length_of_nil_lemma stuck-spread base_wf no_repeats_nil less_than_irreflexivity bag-member_wf new_23_sig_newvote_wf length_of_cons_lemma no_repeats_cons productdeq_reduce_lemma intdeq_reduce_lemma assert_of_band2 eq_int_wf assert_of_eq_int iff_transitivity assert_wf int_subtype_base iff_weakening_uiff assert_of_band bnot_wf deq-member_wf id-deq_wf not_wf assert_of_bnot assert-deq-member decidable__equal_int Memory-loc-class_wf new_23_sig_QuorumState_wf Message_wf subtype_rel_dep_function vatype_wf new_23_sig_headers_type_wf set_wf valueall-type_wf le_int_wf assert_of_le_int le_wf not-le-2 condition-implies-le minus-add minus-zero add-zero add-commutes zero-add le_antisymmetry_iff add_functionality_wrt_le le-add-cancel le_antisymmetry subtract_wf decidable__le false_wf minus-one-mul minus-minus add-associates add-swap decidable__lt less-iff-le lelt_wf select-cons

Latex:
\mforall{}Cmd:ValueAllType.  \mforall{}notify,propose:Atom  List.  \mforall{}f:new\_23\_sig\_headers\_type\{i:l\}(Cmd;notify;propose).
\mforall{}es:EO+(Message(f)).  \mforall{}e:E.  \mforall{}ni:\mBbbZ{}  \mtimes{}  \mBbbZ{}.  \mforall{}p:Cmd  List  \mtimes{}  (Id  List).
    (p  \mmember{}  new\_23\_sig\_QuorumState(Cmd;notify;propose;f)  ni(e)
    {}\mRightarrow{}  let  cmds,locs  =  p 
          in  no\_repeats(Id;locs)
                \mwedge{}  (||locs||  =  ||cmds||)
                \mwedge{}  (\mforall{}i:\mBbbN{}||locs||
                          (\mdownarrow{}\mexists{}e':E
                                ((e'  <loc  e)
                                \mwedge{}  <<ni,  cmds[i]>,  locs[i]>  \mmember{}  new\_23\_sig\_vote'base(Cmd;notify;propose;f)(e')))))



Date html generated: 2015_07_23-PM-03_57_03
Last ObjectModification: 2015_02_04-PM-01_54_06

Home Index