### Nuprl Lemma : bag-combine-map

`∀[A,B,C:Type]. ∀[g:B ⟶ bag(C)]. ∀[f:A ⟶ B]. ∀[bs:bag(A)].  (⋃x∈bag-map(f;bs).g[x] = ⋃x∈bs.g[f x] ∈ bag(C))`

Proof

Definitions occuring in Statement :  bag-combine: `⋃x∈bs.f[x]` bag-map: `bag-map(f;bs)` bag: `bag(T)` uall: `∀[x:A]. B[x]` so_apply: `x[s]` 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` bag: `bag(T)` quotient: `x,y:A//B[x; y]` and: `P ∧ Q` all: `∀x:A. B[x]` implies: `P `` Q` so_lambda: `λ2x y.t[x; y]` so_apply: `x[s1;s2]` uimplies: `b supposing a` so_lambda: `λ2x.t[x]` subtype_rel: `A ⊆r B` so_apply: `x[s]` bag-combine: `⋃x∈bs.f[x]` bag-union: `bag-union(bbs)` concat: `concat(ll)` reduce: `reduce(f;k;as)` list_ind: list_ind bag-map: `bag-map(f;bs)` map: `map(f;as)` nil: `[]` it: `⋅` prop: `ℙ` top: `Top` single-bag: `{x}` bag-append: `as + bs` append: `as @ bs` so_lambda: `so_lambda(x,y,z.t[x; y; z])` so_apply: `x[s1;s2;s3]` true: `True` squash: `↓T` guard: `{T}` iff: `P `⇐⇒` Q` rev_implies: `P `` Q`
Lemmas referenced :  bag_wf list_wf quotient-member-eq permutation_wf permutation-equiv list_induction equal_wf bag-combine_wf bag-map_wf list-subtype-bag nil_wf equal-wf-base map_cons_lemma list_ind_cons_lemma list_ind_nil_lemma single-bag_wf squash_wf true_wf bag-combine-append-left iff_weakening_equal bag-append_wf bag-combine-unit-left
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut sqequalHypSubstitution pointwiseFunctionalityForEquality extract_by_obid isectElimination thin cumulativity hypothesisEquality hypothesis sqequalRule pertypeElimination productElimination equalityTransitivity equalitySymmetry lambdaFormation because_Cache rename lambdaEquality independent_isectElimination dependent_functionElimination independent_functionElimination functionExtensionality applyEquality voidEquality voidElimination hyp_replacement applyLambdaEquality productEquality isect_memberEquality axiomEquality functionEquality equalityUniverse levelHypothesis natural_numberEquality imageElimination universeEquality imageMemberEquality baseClosed

Latex:
\mforall{}[A,B,C:Type].  \mforall{}[g:B  {}\mrightarrow{}  bag(C)].  \mforall{}[f:A  {}\mrightarrow{}  B].  \mforall{}[bs:bag(A)].    (\mcup{}x\mmember{}bag-map(f;bs).g[x]  =  \mcup{}x\mmember{}bs.g[f  x])

Date html generated: 2017_10_01-AM-08_47_37
Last ObjectModification: 2017_07_26-PM-04_32_03

Theory : bags

Home Index