### Nuprl Lemma : bag-member-decomp

`∀[T:Type]. ∀[bs:bag(T)]. ∀[x:T]. ∀[b:bag(T)].  uiff(<x, b> ↓∈ bag-decomp(bs);({x} + b) = bs ∈ bag(T))`

Proof

Definitions occuring in Statement :  bag-decomp: `bag-decomp(bs)` bag-member: `x ↓∈ bs` bag-append: `as + bs` single-bag: `{x}` bag: `bag(T)` uiff: `uiff(P;Q)` uall: `∀[x:A]. B[x]` pair: `<a, b>` product: `x:A × B[x]` universe: `Type` equal: `s = t ∈ T`
Definitions unfolded in proof :  member: `t ∈ T` bag: `bag(T)` uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` uiff: `uiff(P;Q)` uimplies: `b supposing a` and: `P ∧ Q` prop: `ℙ` quotient: `x,y:A//B[x; y]` implies: `P `` Q` subtype_rel: `A ⊆r B` bag-member: `x ↓∈ bs` squash: `↓T` exists: `∃x:A. B[x]` bag-decomp: `bag-decomp(bs)` cand: `A c∧ B` guard: `{T}` iff: `P `⇐⇒` Q` so_lambda: `λ2x.t[x]` so_apply: `x[s]` remove-nth: `remove-nth(n;L)` pi1: `fst(t)` pi2: `snd(t)` single-bag: `{x}` bag-append: `as + bs` append: `as @ bs` so_lambda: `so_lambda(x,y,z.t[x; y; z])` top: `Top` so_apply: `x[s1;s2;s3]` so_lambda: `λ2x y.t[x; y]` so_apply: `x[s1;s2]` rev_implies: `P `` Q` int_seg: `{i..j-}` int_iseg: `{i...j}` lelt: `i ≤ j < k` decidable: `Dec(P)` or: `P ∨ Q` satisfiable_int_formula: `satisfiable_int_formula(fmla)` false: `False` not: `¬A` subtract: `n - m` less_than: `a < b` le: `A ≤ B` nat: `ℕ` true: `True` ge: `i ≥ j ` l_member: `(x ∈ l)` less_than': `less_than'(a;b)` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` ifthenelse: `if b then t else f fi ` bfalse: `ff` sq_type: `SQType(T)` bnot: `¬bb` assert: `↑b` nth_tl: `nth_tl(n;as)` le_int: `i ≤z j` lt_int: `i <z j` tl: `tl(l)` cons: `[a / b]`
Lemmas referenced :  uiff_wf bag-member_wf bag_wf bag-decomp_wf equal_wf bag-append_wf single-bag_wf list_wf list-subtype-bag permutation_wf equal-wf-base member-permutation member_map int_seg_wf length_wf upto_wf remove-nth_wf subtype_rel_product member_wf map_wf list_ind_cons_lemma list_ind_nil_lemma quotient-member-eq permutation-equiv cons_wf permutation-cons firstn_wf nth_tl_wf append_wf length-append length_firstn subtype_rel_sets lelt_wf le_wf length_of_cons_lemma int_seg_properties decidable__le satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermVar_wf intformless_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_wf exists_wf append_firstn_lastn_sq subtype_rel_list top_wf add-member-int_seg2 subtract_wf itermSubtract_wf itermConstant_wf int_term_value_subtract_lemma int_term_value_constant_lemma decidable__lt itermAdd_wf int_term_value_add_lemma firstn_decomp2 append_assoc_sq squash_wf true_wf add-associates add-swap add-commutes zero-add add-subtract-cancel iff_weakening_equal non_neg_length less_than_wf l_member_wf member_upto length_wf_nat nat_properties decidable__equal_int intformeq_wf int_formula_prop_eq_lemma select_wf and_wf nat_wf select_append_back select-cons-hd add_nat_wf false_wf lt_int_wf bool_wf eqtt_to_assert assert_of_lt_int eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot firstn_append nth_tl-append minus-one-mul add-mul-special zero-mul add-zero firstn_all permutation_weakening subtype_rel_self
Rules used in proof :  introduction sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity sqequalHypSubstitution pointwiseFunctionalityForEquality cut extract_by_obid isectElimination thin productEquality cumulativity hypothesisEquality hypothesis independent_pairEquality sqequalRule dependent_functionElimination pertypeElimination productElimination equalityTransitivity equalitySymmetry lambdaFormation because_Cache rename applyEquality independent_isectElimination lambdaEquality isect_memberEquality axiomEquality independent_functionElimination universeEquality isect_memberFormation imageElimination imageMemberEquality baseClosed natural_numberEquality independent_pairFormation applyLambdaEquality voidElimination voidEquality dependent_pairFormation setElimination addEquality intEquality setEquality unionElimination int_eqEquality computeAll dependent_set_memberEquality minusEquality hyp_replacement equalityElimination promote_hyp instantiate

Latex:
\mforall{}[T:Type].  \mforall{}[bs:bag(T)].  \mforall{}[x:T].  \mforall{}[b:bag(T)].    uiff(<x,  b>  \mdownarrow{}\mmember{}  bag-decomp(bs);(\{x\}  +  b)  =  bs)

Date html generated: 2017_10_01-AM-09_01_04
Last ObjectModification: 2017_07_26-PM-04_42_16

Theory : bags

Home Index