Nuprl Lemma : new_23_sig_quorum_state_eq1

Cmd:ValueAllType. ∀notify,propose:Atom List. ∀f:new_23_sig_headers_type{i:l}(Cmd;notify;propose). ∀es:EO+(Message(f)).
e:E. ∀n,r:ℤ.
  (new_23_sig_QuorumStateFun(Cmd;notify;propose;f;<n, r>;es;e)
  = <rev(mapfilter(λe.(snd(fst(msgval(e))));
                   λe.new_23_sig_vote_with_ballot_first(Cmd;notify;propose;f;es;e;n;r);
                   [es-init(es;e);e)))
    rev(mapfilter(λe.(snd(msgval(e)));
                    λe.new_23_sig_vote_with_ballot_first(Cmd;notify;propose;f;es;e;n;r);
                    [es-init(es;e);e)))
    >
  ∈ (Cmd List × (Id List)))


Proof




Definitions occuring in Statement :  new_23_sig_vote_with_ballot_first: new_23_sig_vote_with_ballot_first(Cmd;notify;propose;f;es;e;n;r) new_23_sig_QuorumStateFun: new_23_sig_QuorumStateFun(Cmd;notify;propose;f;x;es;e) new_23_sig_headers_type: new_23_sig_headers_type{i:l}(Cmd;notify;propose) es-info-body: msgval(e) Message: Message(f) event-ordering+: EO+(Info) es-init: es-init(es;e) es-closed-open-interval: [e;e') es-E: E Id: Id mapfilter: mapfilter(f;P;L) reverse: rev(as) list: List vatype: ValueAllType pi1: fst(t) pi2: snd(t) all: x:A. B[x] lambda: λx.A[x] pair: <a, b> product: x:A × B[x] int: atom: Atom equal: t ∈ T
Lemmas :  es-causl-swellfnd event-ordering+_subtype Message_wf nat_properties less_than_transitivity1 less_than_irreflexivity ge_wf less_than_wf es-E_wf int_seg_wf int_seg_subtype-nat decidable__le subtract_wf false_wf not-ge-2 less-iff-le condition-implies-le minus-one-mul zero-add minus-add minus-minus add-associates add-swap add-commutes add_functionality_wrt_le add-zero le-add-cancel decidable__equal_int subtype_rel-int_seg le_weakening int_seg_properties le_wf nat_wf zero-le-nat lelt_wf es-causl_wf decidable__assert es-first_wf2 list_wf Id_wf new_23_sig_quorum_state_fun_eq reverse_wf mapfilter_wf es-closed-open-interval_wf es-init_wf new_23_sig_vote_with_ballot_first_wf assert_wf new_23_sig_vote_with_ballot_first-assert-type es-info-body_wf iff_weakening_equal equal_wf decidable__lt not-equal-2 le-add-cancel-alt not-le-2 sq_stable__le add-mul-special zero-mul es-init-identity squash_wf true_wf event_ordering_wf nil_wf es-closed-open-interval-nil bool_cases_sqequal mapfilter_nil_lemma reverse_nil_lemma sqequal-tt-to-assert sqequal-ff-to-assert bool_wf eqtt_to_assert eqff_to_assert subtype_base_sq bool_subtype_base member-eclass_wf new_23_sig_vote'base_wf es-pred_wf new_23_sig_add_to_quorum_wf es-loc_wf classfun-res_wf base-headers-msg-val-single-val cons_wf_listp cons_wf listp_wf subtype_rel_weakening ext-eq_weakening new_23_sig_QuorumStateFun_wf es-init-locl set_wf map_cons_lemma map_nil_lemma es-pred-locl es-causl_weakening append_wf es-closed-open-interval-decomp-last mapfilter-append mapfilter-singleton member-implies-classrel new_23_sig_vote_with_ballot-if-classrel new_23_sig_vote_with_ballot-assert-type pair-eta length_wf name_wf new_23_sig_headers_wf l_all_iff l_member_wf new_23_sig_headers_fun_wf cons_member equal-wf-base list_subtype_base atom_subtype_base name_eq_wf assert-name_eq sq_stable__no_repeats assert-bnot product-deq_wf int-deq_wf deq_wf pi1_wf_top top_wf es-interface-subtype_rel2 event-ordering+_wf subtype_rel_product subtype_top subtype_rel_wf bnot_wf deq-member_wf id-deq_wf pi2_wf not_wf assert_elim and_wf bfalse_wf btrue_neq_bfalse assert-product-deq iff_transitivity iff_weakening_uiff assert_of_bnot assert-deq-member reverse_append reverse_singleton list_ind_cons_lemma list_ind_nil_lemma classfun-res-member-base es-init-elim2 member-reverse member-mapfilter new_23_sig_vote_with_ballot_wf bl-all_wf new_23_sig_vote_with_ballot_and_id_wf l_all_wf2 l_all_fwd new_23_sig_vote_with_ballot_first-assert new_23_sig_vote_with_ballot-assert-classrel classrel_wf new_23_sig_vote_with_ballot_and_id-if-classrel assert_of_band assert-bl-all l_all_functionality classfun-res-base-classrel equal-wf-base-T int_subtype_base new_23_sig_vote_with_ballot_first-not2 l_exists_iff new_23_sig_vote_with_ballot_and_id-assert-classrel base-noloc-classrel append-nil classrel-implies-member append_nil_sq

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{}n,r:\mBbbZ{}.
    (new\_23\_sig\_QuorumStateFun(Cmd;notify;propose;f;<n,  r>es;e)
    =  <rev(mapfilter(\mlambda{}e.(snd(fst(msgval(e))));
                                      \mlambda{}e.new\_23\_sig\_vote\_with\_ballot\_first(Cmd;notify;propose;f;es;e;n;r);
                                      [es-init(es;e);e)))
        ,  rev(mapfilter(\mlambda{}e.(snd(msgval(e)));
                                        \mlambda{}e.new\_23\_sig\_vote\_with\_ballot\_first(Cmd;notify;propose;f;es;e;n;r);
                                        [es-init(es;e);e)))
        >)



Date html generated: 2015_07_23-PM-04_03_00
Last ObjectModification: 2015_02_04-PM-04_04_33

Home Index