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] Q[x]);L) @ mapfilter(f;x.(P[x]  Q[x]);L)))


Proof not projected




Definitions occuring in Statement :  append: as @ bs bor: p q band: p  q bool: so_apply: x[s] all: x:A. B[x] lambda: x.A[x] function: x:A  B[x] list: type List universe: Type equal: s = t mapfilter: mapfilter(f;P;L) bag: bag(T)
Definitions :  all: x:A. B[x] bag: bag(T) append: as @ bs mapfilter: mapfilter(f;P;L) so_apply: x[s] map: map(f;as) filter: filter(P;l) reduce: reduce(f;k;as) ycomb: Y member: t  T top: Top subtype: S  T suptype: suptype(S; T) prop: and: P  Q cand: A c B true: True ifthenelse: if b then t else f fi  implies: P  Q btrue: tt bfalse: ff guard: {T} rev_implies: P  Q iff: P  Q squash: T bag-append: as + bs cons-bag: x.b uall: [x:A]. B[x] or: P  Q not: A false: False bool: unit: Unit uimplies: b supposing a uiff: uiff(P;Q) it:
Lemmas :  bag_wf bool_wf top_wf l_member_wf bor_wf band_wf mapfilter-append mapfilter-singleton equal_wf assert_wf or_wf bnot_wf not_wf cons-bag_wf eqtt_to_assert uiff_transitivity eqff_to_assert assert_of_bnot assert_of_bor assert_functionality_wrt_uiff bnot_thru_bor assert_of_band and_functionality_wrt_uiff iff_transitivity iff_weakening_uiff bnot_thru_band or_functionality_wrt_uiff squash_wf true_wf bag-append-assoc mapfilter_wf bag_qinc bag-append-comm append_wf bag-append_wf

\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: 2012_01_23-PM-12_49_26
Last ObjectModification: 2011_12_01-PM-02_04_42

Home Index