Nuprl Lemma : new_23_sig_quorum_inv_vote2

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')
                ∧ (∀e''∈[es-init(es;e);e').∀c:Cmd
                                             (¬<<ni, c>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-init: es-init(es;e) es-closed-open-interval: [e;e') es-locl: (e <loc e') es-E: E Id: Id l_all: (∀x∈L.P[x]) 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] not: ¬A 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 l_all_wf2 es-closed-open-interval_wf es-init_wf not_wf 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 assert_of_bnot assert-deq-member 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 decidable__equal_int set_subtype_base lelt_wf new_23_sig_quorum_mem new_23_sig_QuorumStateFun_wf member-es-closed-open-interval new_23_sig_QuorumState-classrel pair-eta subtype_rel_product top_wf subtype_top subtract_wf decidable__le false_wf not-le-2 not-equal-2 add_functionality_wrt_le zero-add add-zero le-add-cancel condition-implies-le minus-one-mul minus-add minus-minus add-associates add-swap add-commutes minus-zero decidable__lt less-iff-le length_cons non_neg_length length_wf_nat le_antisymmetry_iff le-add-cancel2 select_cons_tl

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')
                                \mwedge{}  (\mforall{}e''\mmember{}[es-init(es;e);e').\mforall{}c:Cmd
                                                                                          (\mneg{}<<ni,  c>,  locs[i]>  \mmember{}
                                                                                                new\_23\_sig\_vote'base(Cmd;notify;propose;f)(
                                                                                                e'')))))))



Date html generated: 2015_07_23-PM-03_57_15
Last ObjectModification: 2015_02_04-PM-01_55_40

Home Index