Nuprl Lemma : mapfilter-bor-eq

T,U:Type. ∀f:T ─→ U. ∀P,Q:T ─→ 𝔹. ∀L:T List.
  ((mapfilter(f;P;L) mapfilter(f;Q;L))
  (mapfilter(f;λx.(P[x] ∨bQ[x]);L) mapfilter(f;λx.(P[x] ∧b Q[x]);L))
  ∈ bag(U))


Proof




Definitions occuring in Statement :  mapfilter: mapfilter(f;P;L) append: as bs list: List bor: p ∨bq band: p ∧b q bool: 𝔹 so_apply: x[s] all: x:A. B[x] lambda: λx.A[x] function: x:A ─→ B[x] universe: Type equal: t ∈ T bag: bag(T)
Lemmas :  list_induction equal_wf bag_wf append_wf mapfilter_wf subtype_rel_dep_function assert_wf set_wf list-subtype-bag bor_wf bool_wf eqtt_to_assert filter_nil_lemma map_nil_lemma list_ind_nil_lemma nil_wf list_ind_cons_lemma list_wf mapfilter-append mapfilter-singleton map_cons_lemma equal-wf-T-base or_wf bnot_wf not_wf bool_cases_sqequal subtype_base_sq bool_subtype_base eqff_to_assert assert-bnot cons-bag_wf uiff_transitivity assert_of_bnot assert_of_bor iff_transitivity iff_weakening_uiff bnot_thru_bor assert_of_band bnot_thru_band squash_wf true_wf iff_weakening_equal bag-append-assoc bag-append-comm cons_wf bag-append_wf

Latex:
\mforall{}T,U:Type.  \mforall{}f:T  {}\mrightarrow{}  U.  \mforall{}P,Q:T  {}\mrightarrow{}  \mBbbB{}.  \mforall{}L:T  List.
    ((mapfilter(f;P;L)  @  mapfilter(f;Q;L))
    =  (mapfilter(f;\mlambda{}x.(P[x]  \mvee{}\msubb{}Q[x]);L)  @  mapfilter(f;\mlambda{}x.(P[x]  \mwedge{}\msubb{}  Q[x]);L)))



Date html generated: 2015_07_21-PM-04_52_39
Last ObjectModification: 2015_02_04-PM-05_09_12

Home Index