Nuprl Lemma : bag-filter-map2

∀[T,A:Type]. ∀[f:A ⟶ T]. ∀[p:T ⟶ 𝔹]. ∀[as:bag(A)].
  ([x∈bag-map(f;as)|p[x]] = bag-map(f;[x∈as|p[f x]]) ∈ bag({x:T| ↑p[x]} ))


Proof




Definitions occuring in Statement :  bag-filter: [x∈b|p[x]],  bag-map: bag-map(f;bs),  bag: bag(T),  assert: ↑b,  bool: 𝔹,  uall: ∀[x:A]. B[x],  so_apply: x[s],  set: {x:A| B[x]} ,  apply: f a,  function: x:A ⟶ B[x],  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  so_lambda: λ2x.t[x],  so_apply: x[s],  prop: ℙ,  squash: ↓T,  exists: ∃x:A. B[x]
Lemmas referenced :  bag-filter-map,  bag-map_wf,  assert_wf,  bag_to_squash_list,  istype-assert,  bag-filter_wf,  bag_wf,  bool_wf,  istype-universe
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation_alt,  introduction,  cut,  sqequalRule,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  Error :memTop,  hypothesis,  setEquality,  hypothesisEquality,  applyEquality,  imageElimination,  productElimination,  promote_hyp,  rename,  functionExtensionality_alt,  setElimination,  dependent_set_memberEquality_alt,  setIsType,  because_Cache,  lambdaEquality_alt,  universeIsType,  isect_memberEquality_alt,  axiomEquality,  isectIsTypeImplies,  inhabitedIsType,  functionIsType,  instantiate,  universeEquality

Latex:
\mforall{}[T,A:Type].  \mforall{}[f:A  {}\mrightarrow{}  T].  \mforall{}[p:T  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[as:bag(A)].
    ([x\mmember{}bag-map(f;as)|p[x]]  =  bag-map(f;[x\mmember{}as|p[f  x]]))



Date html generated: 2020_05_20-AM-08_01_31
Last ObjectModification: 2019_12_31-PM-07_06_26

Theory : bags


Home Index