Nuprl Lemma : bag-mapfilter-map

[A,B,C:Type]. ∀[b:bag(A)]. ∀[P:B ⟶ 𝔹]. ∀[f:{x:B| ↑P[x]}  ⟶ C]. ∀[g:A ⟶ B].
  (bag-mapfilter(f;P;bag-map(g;b)) bag-mapfilter(f g;P g;b) ∈ bag(C))


Proof




Definitions occuring in Statement :  bag-mapfilter: bag-mapfilter(f;P;bs) bag-map: bag-map(f;bs) bag: bag(T) compose: g assert: b bool: 𝔹 uall: [x:A]. B[x] so_apply: x[s] set: {x:A| B[x]}  function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T bag-mapfilter: bag-mapfilter(f;P;bs) compose: g so_apply: x[s] prop: so_lambda: λ2x.t[x] true: True top: Top squash: T subtype_rel: A ⊆B uimplies: supposing a guard: {T} iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q implies:  Q
Lemmas referenced :  assert_wf bool_wf bag_wf set_wf bag-map_wf bag-filter_wf bag-map-map equal_wf squash_wf true_wf bag-filter-map2 iff_weakening_equal
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut sqequalRule hypothesis functionEquality cumulativity hypothesisEquality sqequalHypSubstitution isect_memberEquality isectElimination thin axiomEquality because_Cache setEquality extract_by_obid applyEquality functionExtensionality lambdaEquality natural_numberEquality setElimination rename dependent_set_memberEquality voidElimination voidEquality imageElimination equalityTransitivity equalitySymmetry imageMemberEquality baseClosed universeEquality independent_isectElimination productElimination independent_functionElimination

Latex:
\mforall{}[A,B,C:Type].  \mforall{}[b:bag(A)].  \mforall{}[P:B  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[f:\{x:B|  \muparrow{}P[x]\}    {}\mrightarrow{}  C].  \mforall{}[g:A  {}\mrightarrow{}  B].
    (bag-mapfilter(f;P;bag-map(g;b))  =  bag-mapfilter(f  o  g;P  o  g;b))



Date html generated: 2017_10_01-AM-08_46_07
Last ObjectModification: 2017_07_26-PM-04_31_08

Theory : bags


Home Index