Nuprl Lemma : bag-combine-append-right

[A,B:Type]. ∀[F,G:A ⟶ bag(B)]. ∀[ba:bag(A)].  (⋃x∈ba.F[x] G[x] (⋃x∈ba.F[x] + ⋃x∈ba.G[x]) ∈ bag(B))


Proof




Definitions occuring in Statement :  bag-combine: x∈bs.f[x] bag-append: as bs bag: bag(T) uall: [x:A]. B[x] so_apply: x[s] function: x:A ⟶ B[x] universe: Type equal: 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:  Q prop: subtype_rel: A ⊆B uimplies: supposing a so_lambda: λ2x.t[x] so_apply: x[s] bag-combine: x∈bs.f[x] bag-append: as bs bag-map: bag-map(f;bs) bag-union: bag-union(bbs) top: Top concat: concat(ll) append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] empty-bag: {} squash: T true: True guard: {T} iff: ⇐⇒ Q rev_implies:  Q cand: c∧ B so_lambda: λ2y.t[x; y] so_apply: x[s1;s2]
Lemmas referenced :  bag_wf list_wf equal_wf bag-append_wf bag-combine_wf list-subtype-bag permutation_wf equal-wf-base list_induction map_nil_lemma reduce_nil_lemma list_ind_nil_lemma empty-bag_wf map_cons_lemma reduce_cons_lemma bag-append-assoc2 squash_wf true_wf bag-append-ac bag-append-comm iff_weakening_equal quotient-member-eq permutation-equiv
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 hyp_replacement applyLambdaEquality applyEquality independent_isectElimination lambdaEquality functionExtensionality dependent_functionElimination independent_functionElimination productEquality isect_memberEquality axiomEquality functionEquality universeEquality voidElimination voidEquality imageElimination equalityUniverse levelHypothesis natural_numberEquality imageMemberEquality baseClosed independent_pairFormation

Latex:
\mforall{}[A,B:Type].  \mforall{}[F,G:A  {}\mrightarrow{}  bag(B)].  \mforall{}[ba:bag(A)].    (\mcup{}x\mmember{}ba.F[x]  +  G[x]  =  (\mcup{}x\mmember{}ba.F[x]  +  \mcup{}x\mmember{}ba.G[x]))



Date html generated: 2017_10_01-AM-08_47_20
Last ObjectModification: 2017_07_26-PM-04_31_55

Theory : bags


Home Index