### Nuprl Lemma : bag-union-bagp

`∀[T:Type]. ∀[bbs:bag(bag(T))].  (0 < #([b∈bbs|0 <z #(b)]) `` (bag-union(bbs) ∈ T Bag+))`

Proof

Definitions occuring in Statement :  bag-union: `bag-union(bbs)` bagp: `T Bag+` bag-size: `#(bs)` bag-filter: `[x∈b|p[x]]` bag: `bag(T)` lt_int: `i <z j` less_than: `a < b` uall: `∀[x:A]. B[x]` implies: `P `` Q` member: `t ∈ T` natural_number: `\$n` universe: `Type`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` implies: `P `` Q` bagp: `T Bag+` squash: `↓T` exists: `∃x:A. B[x]` prop: `ℙ` subtype_rel: `A ⊆r B` so_lambda: `λ2x.t[x]` so_apply: `x[s]` uimplies: `b supposing a` empty-bag: `{}` all: `∀x:A. B[x]` top: `Top` cons-bag: `x.b` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` and: `P ∧ Q` ifthenelse: `if b then t else f fi ` decidable: `Dec(P)` or: `P ∨ Q` nat: `ℕ` guard: `{T}` ge: `i ≥ j ` satisfiable_int_formula: `satisfiable_int_formula(fmla)` false: `False` not: `¬A` bfalse: `ff` sq_type: `SQType(T)` bnot: `¬bb` assert: `↑b` nat_plus: `ℕ+` less_than: `a < b`
Lemmas referenced :  bag-union_wf bag_to_squash_list less_than_wf bag-size_wf bag_wf assert_wf lt_int_wf bag-filter_wf list_induction list-subtype-bag list_wf bag_filter_empty_lemma bag_union_empty_lemma bag_size_empty_lemma bag_filter_cons_lemma bag_union_cons_lemma bag-size-append bool_wf eqtt_to_assert assert_of_lt_int bag_size_cons_lemma decidable__lt subtype_rel_self nat_wf nat_properties satisfiable-full-omega-tt intformand_wf intformle_wf itermConstant_wf itermVar_wf intformnot_wf intformless_wf itermAdd_wf int_formula_prop_and_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_not_lemma int_formula_prop_less_lemma int_term_value_add_lemma int_formula_prop_wf eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot add_nat_plus nat_plus_wf nat_plus_properties add-is-int-iff intformeq_wf int_formula_prop_eq_lemma false_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut lambdaFormation dependent_set_memberEquality extract_by_obid sqequalHypSubstitution isectElimination thin cumulativity hypothesisEquality hypothesis because_Cache imageElimination productElimination promote_hyp equalitySymmetry hyp_replacement applyLambdaEquality natural_numberEquality setEquality applyEquality sqequalRule lambdaEquality rename functionEquality independent_isectElimination independent_functionElimination dependent_functionElimination isect_memberEquality voidElimination voidEquality unionElimination equalityElimination equalityTransitivity addEquality setElimination dependent_pairFormation int_eqEquality intEquality independent_pairFormation computeAll instantiate pointwiseFunctionality baseApply closedConclusion baseClosed axiomEquality universeEquality

Latex:
\mforall{}[T:Type].  \mforall{}[bbs:bag(bag(T))].    (0  <  \#([b\mmember{}bbs|0  <z  \#(b)])  {}\mRightarrow{}  (bag-union(bbs)  \mmember{}  T  Bag\msupplus{}))

Date html generated: 2017_10_01-AM-08_46_29
Last ObjectModification: 2017_07_26-PM-04_31_18

Theory : bags

Home Index