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)
Definitions unfolded in proof :  all: x:A. B[x] uall: [x:A]. B[x] member: t ∈ T so_lambda: λ2x.t[x] subtype_rel: A ⊆B so_apply: x[s] prop: uimplies: supposing a implies:  Q bool: 𝔹 unit: Unit it: btrue: tt band: p ∧b q ifthenelse: if then else fi  uiff: uiff(P;Q) and: P ∧ Q bfalse: ff mapfilter: mapfilter(f;P;L) top: Top append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] or: P ∨ Q not: ¬A false: False cons-bag: x.b true: True iff: ⇐⇒ Q rev_implies:  Q squash: T guard: {T} bag-append: as bs

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: 2016_05_17-AM-08_56_17
Last ObjectModification: 2016_01_17-PM-08_33_45

Theory : messages


Home Index