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