Nuprl Lemma : new_23_sig_progress-step9

[Cmd:ValueAllType]. ∀[eq:EqDecider(Cmd)]. ∀[reps,clients:bag(Id)]. ∀[coeff:{2...}]. ∀[flrs:ℕ].
[propose,notify:Atom List]. ∀[slots:set-sig{i:l}(ℤ)]. ∀[f:new_23_sig_headers_type{i:l}(Cmd;notify;propose)].
[es:EO+(Message(f))]. ∀[e:E]. ∀[n:ℤ]. ∀[c:Cmd]. ∀[faulty:bag(Id)].
  (msgs-interface-delivered-with-omissions(f;es;new_23_sig_main();faulty;flrs;reps)
   bag-no-repeats(Id;reps)
   (#(reps) ((coeff flrs) flrs 1) ∈ ℤ)
   loc(e) ↓∈ reps
   loc(e) ↓∈ faulty)
   <n, c> ∈ new_23_sig_Proposal(Cmd;notify;propose;f)(e)
   (¬↑(set-sig-member(slots) new_23_sig_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e)))
   (↓∃bs:(Id × E × Cmd) List
        ((((coeff flrs) 1) ||bs|| ∈ ℤ)
        ∧ (∀x∈bs.(loc(fst(snd(x))) loc(e) ∈ Id)
             ∧ e ≤loc fst(snd(x)) 
             ∧ <<<n, 0>snd(snd(x))>fst(x)> ∈ new_23_sig_vote'base(Cmd;notify;propose;f)(fst(snd(x)))
             ∧ (∀e'∈[e;fst(snd(x))).¬↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e';n;0;fst(x))))
        ∧ l-ordered(Id × E × Cmd;x,y.(fst(snd(x)) <loc fst(snd(y)));bs)
        ∧ (∀e'∈[e, fst(snd(last(bs)))].
              ∀i:Id
                ((↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e';n;0;i))
                 (∀e''∈[e;e').¬↑new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e'';n;0;i))
                 (e' ∈ map(λx.(fst(snd(x)));bs))))
        ∧ no_repeats(Id;map(λx.(fst(x));bs)))))


Proof




Definitions occuring in Statement :  new_23_sig_vote_with_ballot_and_id: new_23_sig_vote_with_ballot_and_id(Cmd;notify;propose;f;es;e;n;r;i) new_23_sig_main: new_23_sig_main() new_23_sig_ReplicaStateFun: new_23_sig_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e) new_23_sig_Proposal: new_23_sig_Proposal(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) msgs-interface-delivered-with-omissions: msgs-interface-delivered-with-omissions(f;es;X;faulty;failures;ids) Message: Message(f) classrel: v ∈ X(e) event-ordering+: EO+(Info) es-closed-open-interval: [e;e') es-interval: [e, e'] es-le: e ≤loc e'  es-locl: (e <loc e') es-loc: loc(e) es-E: E Id: Id deq: EqDecider(T) l_all: (∀x∈L.P[x]) no_repeats: no_repeats(T;l) last: last(L) l_member: (x ∈ l) map: map(f;as) length: ||as|| list: List int_upper: {i...} nat: vatype: ValueAllType assert: b uall: [x:A]. B[x] pi1: fst(t) pi2: snd(t) all: x:A. B[x] exists: x:A. B[x] not: ¬A squash: T implies:  Q and: P ∧ Q apply: a lambda: λx.A[x] pair: <a, b> product: x:A × B[x] multiply: m add: m natural_number: $n int: atom: Atom equal: t ∈ T l-ordered: l-ordered(T;x,y.R[x; y];L) bag-member: x ↓∈ bs bag-no-repeats: bag-no-repeats(T;bs) bag-size: #(bs) bag: bag(T) set-sig-member: set-sig-member(s) set-sig: set-sig{i:l}(Item)
Lemmas :  new_23_sig_progress-step8 mul_bounds_1a int_upper_subtype_nat false_wf le_wf squash_wf true_wf remove-repeats-fun-length-as-remove-repeats-map Id_wf es-E_wf event-ordering+_subtype Message_wf id-deq_wf iff_weakening_equal sub-bag-list-if-bag-no-repeats-sq bag-filter_wf bnot_wf bag-deq-member_wf subtype_rel_bag assert_wf map_wf bag-filter-no-repeats sq_stable__le length_wf remove-repeats_wf bag-size_wf bag-remove-repeats_wf bag-size-append nat_wf bag-remove-repeats-filter bag-filter-split equal_wf bag-size-filter-member-bound le_transitivity bag-remove-repeats-eq-remove-repeats bag-remove-repeats-append add_functionality_wrt_eq bool_wf bag-remove-repeats-if-no-repeats list-decomp-nat remove-repeats-fun_wf decidable__le not-le-2 condition-implies-le minus-add minus-one-mul zero-add add-associates add-swap add-commutes add_functionality_wrt_le add-zero le-add-cancel decidable__lt subtype_rel_dep_function name_wf vatype_wf le-add-cancel2 lelt_wf non_null_iff_length subtype_rel_list top_wf le_antisymmetry_iff remove-repeats-fun-sublist sublist_append1 sublist_wf sublist_transitivity l_all_wf2 l_member_wf es-loc_wf es-le_wf classrel_wf new_23_sig_vote'base_wf es-closed-open-interval_wf not_wf new_23_sig_vote_with_ballot_and_id_wf l-ordered_wf es-locl_wf es-interval_wf last_wf list-cases null_nil_lemma length_of_nil_lemma product_subtype_list null_cons_lemma all_wf no_repeats_wf l_all_sublist l_all_iff new_23_sig_vote_with_ballot_and_id-implies member-es-closed-open-interval member-es-interval member_sublist decidable__equal_int subtract_wf l-ordered-inst es-le_weakening es-locl_transitivity2 minus-minus es-le-self and_wf pi2_wf pi1_wf_top subtype_rel_product subtype_top select_wf less_than_wf list_wf l_all_fwd new_23_sig_vote_with_ballot_wf remove-repeats-fun-member member-map es-le-loc int_trichot es-locl_irreflexivity es-causl_wf select_member new_23_sig_vote_with_ballot_and_id-assert-classrel base-noloc-classrel cons_wf_listp cons_wf nil_wf listp_wf subtype_rel_weakening ext-eq_weakening es-info-body_wf subtype_base_sq list_subtype_base atom_subtype_base l-ordered-sublist last_member subtract-is-less not-equal-2 le-add-cancel-alt less-iff-le es-le_transitivity less_than_transitivity2 le_weakening2 int_seg_wf new_23_sig_vote_with_ballot_and_id-if-classrel event-ordering+_wf eclass_wf map_append_sq member_append l-ordered-remove-repeats-fun l-ordered-append sublist_map remove-repeats-fun-as-remove-repeats-map remove-repeats-no_repeats no_repeats-sublist

Latex:
\mforall{}[Cmd:ValueAllType].  \mforall{}[eq:EqDecider(Cmd)].  \mforall{}[reps,clients:bag(Id)].  \mforall{}[coeff:\{2...\}].  \mforall{}[flrs:\mBbbN{}].
\mforall{}[propose,notify: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))].  \mforall{}[e:E].  \mforall{}[n:\mBbbZ{}].
\mforall{}[c:Cmd].  \mforall{}[faulty:bag(Id)].
    (msgs-interface-delivered-with-omissions(f;es;new\_23\_sig\_main();faulty;flrs;reps)
    {}\mRightarrow{}  bag-no-repeats(Id;reps)
    {}\mRightarrow{}  (\#(reps)  =  ((coeff  *  flrs)  +  flrs  +  1))
    {}\mRightarrow{}  loc(e)  \mdownarrow{}\mmember{}  reps
    {}\mRightarrow{}  (\mneg{}loc(e)  \mdownarrow{}\mmember{}  faulty)
    {}\mRightarrow{}  <n,  c>  \mmember{}  new\_23\_sig\_Proposal(Cmd;notify;propose;f)(e)
    {}\mRightarrow{}  (\mneg{}\muparrow{}(set-sig-member(slots)  n  new\_23\_sig\_ReplicaStateFun(Cmd;notify;propose;slots;f;es;e)))
    {}\mRightarrow{}  (\mdownarrow{}\mexists{}bs:(Id  \mtimes{}  E  \mtimes{}  Cmd)  List
                ((((coeff  *  flrs)  +  1)  =  ||bs||)
                \mwedge{}  (\mforall{}x\mmember{}bs.(loc(fst(snd(x)))  =  loc(e))
                          \mwedge{}  e  \mleq{}loc  fst(snd(x)) 
                          \mwedge{}  <<<n,  0>,  snd(snd(x))>,  fst(x)>  \mmember{}  new\_23\_sig\_vote'base(Cmd;notify;propose;f)(
                                                                                                  fst(snd(x)))
                          \mwedge{}  (\mforall{}e'\mmember{}[e;fst(snd(x))).
                                      \mneg{}\muparrow{}new\_23\_sig\_vote\_with\_ballot\_and\_id(Cmd;notify;propose;f;es;e';n;0;fst(x))))
                \mwedge{}  l-ordered(Id  \mtimes{}  E  \mtimes{}  Cmd;x,y.(fst(snd(x))  <loc  fst(snd(y)));bs)
                \mwedge{}  (\mforall{}e'\mmember{}[e,  fst(snd(last(bs)))].
                            \mforall{}i:Id
                                ((\muparrow{}new\_23\_sig\_vote\_with\_ballot\_and\_id(Cmd;notify;propose;f;es;e';n;0;i))
                                {}\mRightarrow{}  (\mforall{}e''\mmember{}[e;e').
                                                \mneg{}\muparrow{}new\_23\_sig\_vote\_with\_ballot\_and\_id(Cmd;notify;propose;f;es;e'';n;0;i))
                                {}\mRightarrow{}  (e'  \mmember{}  map(\mlambda{}x.(fst(snd(x)));bs))))
                \mwedge{}  no\_repeats(Id;map(\mlambda{}x.(fst(x));bs)))))



Date html generated: 2015_07_23-PM-04_06_50
Last ObjectModification: 2015_02_04-PM-03_57_26

Home Index