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: T 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: s = 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