Nuprl Lemma : bag-map-union2

[A,B:Type]. ∀[g:A ⟶ B]. ∀[x:bag(bag(A))].  (bag-map(g;bag-union(x)) bag-union(bag-map(λz.bag-map(g;z);x)) ∈ bag(B))


Proof




Definitions occuring in Statement :  bag-union: bag-union(bbs) bag-map: bag-map(f;bs) bag: bag(T) uall: [x:A]. B[x] lambda: λx.A[x] function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] prop: squash: T true: True bag-combine: x∈bs.f[x] top: Top so_lambda: λ2x.t[x] so_apply: x[s] subtype_rel: A ⊆B uimplies: supposing a guard: {T} iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q implies:  Q
Lemmas referenced :  bag-map-union single-bag_wf bag-union_wf equal_wf squash_wf true_wf bag_wf bag-combine-single-right-as-map bag-map_wf eta_conv subtype_rel_self iff_weakening_equal bag-map-combine bag-map-trivial
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin because_Cache hypothesisEquality lambdaEquality dependent_functionElimination applyEquality hypothesis sqequalRule isect_memberEquality axiomEquality functionEquality universeEquality applyLambdaEquality hyp_replacement equalitySymmetry imageElimination equalityTransitivity natural_numberEquality imageMemberEquality baseClosed voidElimination voidEquality instantiate independent_isectElimination productElimination independent_functionElimination lambdaFormation

Latex:
\mforall{}[A,B:Type].  \mforall{}[g:A  {}\mrightarrow{}  B].  \mforall{}[x:bag(bag(A))].
    (bag-map(g;bag-union(x))  =  bag-union(bag-map(\mlambda{}z.bag-map(g;z);x)))



Date html generated: 2018_05_21-PM-06_24_09
Last ObjectModification: 2018_05_19-PM-05_15_08

Theory : bags


Home Index