### Nuprl Lemma : sv-bag-only-combine

`∀[A,B:Type]. ∀[b:bag(A)]. ∀[f:A ⟶ bag(B)].`
`  (sv-bag-only(⋃x∈b.f[x]) = sv-bag-only(f[sv-bag-only(b)]) ∈ B) supposing `
`     ((∀a:A. 0 < #(f[a])) and `
`     (∀a:A. single-valued-bag(f[a];B)) and `
`     0 < #(b) and `
`     single-valued-bag(b;A))`

Proof

Definitions occuring in Statement :  sv-bag-only: `sv-bag-only(b)` single-valued-bag: `single-valued-bag(b;T)` bag-combine: `⋃x∈bs.f[x]` bag-size: `#(bs)` bag: `bag(T)` less_than: `a < b` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` so_apply: `x[s]` all: `∀x:A. B[x]` function: `x:A ⟶ B[x]` natural_number: `\$n` universe: `Type` equal: `s = t ∈ T`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` uimplies: `b supposing a` squash: `↓T` exists: `∃x:A. B[x]` so_apply: `x[s]` true: `True` and: `P ∧ Q` cand: `A c∧ B` so_lambda: `λ2x.t[x]` all: `∀x:A. B[x]` subtype_rel: `A ⊆r B` nat: `ℕ` decidable: `Dec(P)` or: `P ∨ Q` less_than: `a < b` le: `A ≤ B` satisfiable_int_formula: `satisfiable_int_formula(fmla)` false: `False` implies: `P `` Q` not: `¬A` top: `Top` prop: `ℙ` guard: `{T}` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` single-valued-bag: `single-valued-bag(b;T)` sq_or: `a ↓∨ b` similar-bags: `similar-bags(A;as;bs)` sq_stable: `SqStable(P)` uiff: `uiff(P;Q)` rev_uimplies: `rev_uimplies(P;Q)`
Lemmas referenced :  bag-member-sv-bag-only bag-member-implies-hd-append sv-bag-only_wf single-valued-bag-combine bag-combine-size-bound2 decidable__lt bag-size_wf bag-combine_wf nat_wf satisfiable-full-omega-tt intformand_wf intformnot_wf intformless_wf itermConstant_wf itermVar_wf intformle_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_less_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_le_lemma int_formula_prop_wf single-bag_wf single-valued-bag_wf squash_wf true_wf iff_weakening_equal bag-member_wf bag-combine-single-left all_wf less_than_wf bag_wf equal_wf bag-combine-append-left sv-bag-only-append bag-member-append bag-size-bag-member sq_stable__bag-member bag-member-size bag-member-combine
Rules used in proof :  cut introduction extract_by_obid sqequalHypSubstitution sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isectElimination thin hypothesisEquality independent_isectElimination hypothesis because_Cache cumulativity imageElimination productElimination applyEquality functionExtensionality natural_numberEquality sqequalRule lambdaEquality independent_pairFormation dependent_functionElimination equalityTransitivity equalitySymmetry setElimination rename unionElimination dependent_pairFormation int_eqEquality intEquality isect_memberEquality voidElimination voidEquality computeAll imageMemberEquality baseClosed independent_functionElimination functionEquality universeEquality isect_memberFormation axiomEquality productEquality lambdaFormation inrFormation hyp_replacement applyLambdaEquality

Latex:
\mforall{}[A,B:Type].  \mforall{}[b:bag(A)].  \mforall{}[f:A  {}\mrightarrow{}  bag(B)].
(sv-bag-only(\mcup{}x\mmember{}b.f[x])  =  sv-bag-only(f[sv-bag-only(b)]))  supposing
((\mforall{}a:A.  0  <  \#(f[a]))  and
(\mforall{}a:A.  single-valued-bag(f[a];B))  and
0  <  \#(b)  and
single-valued-bag(b;A))

Date html generated: 2017_10_01-AM-08_55_59
Last ObjectModification: 2017_07_26-PM-04_38_01

Theory : bags

Home Index