### Nuprl Lemma : bag-subtract-member-if-no-repeats

`∀[T:Type]. ∀[eq:EqDecider(T)]. ∀[bs,as:bag(T)]. ∀[x:T].`
`  uiff(x ↓∈ bag-subtract(eq;bs;as);x ↓∈ bs ∧ (¬x ↓∈ as)) supposing bag-no-repeats(T;bs)`

Proof

Definitions occuring in Statement :  bag-subtract: `bag-subtract(eq;bs;as)` bag-member: `x ↓∈ bs` bag-no-repeats: `bag-no-repeats(T;bs)` bag: `bag(T)` deq: `EqDecider(T)` uiff: `uiff(P;Q)` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` not: `¬A` and: `P ∧ Q` universe: `Type`
Definitions unfolded in proof :  member: `t ∈ T` uall: `∀[x:A]. B[x]` prop: `ℙ` and: `P ∧ Q` uimplies: `b supposing a` uiff: `uiff(P;Q)` bag-member: `x ↓∈ bs` squash: `↓T` not: `¬A` implies: `P `` Q` false: `False` all: `∀x:A. B[x]` so_lambda: `λ2x.t[x]` so_apply: `x[s]` sq_stable: `SqStable(P)` exists: `∃x:A. B[x]` subtype_rel: `A ⊆r B` bag-subtract: `bag-subtract(eq;bs;as)` bag-accum: `bag-accum(v,x.f[v; x];init;bs)` top: `Top` so_lambda: `λ2x y.t[x; y]` so_apply: `x[s1;s2]` empty-bag: `{}` sq_or: `a ↓∨ b` guard: `{T}` or: `P ∨ Q` cons-bag: `x.b` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` true: `True`
Lemmas referenced :  bag-member_wf bag-subtract_wf not_wf bag-no-repeats_wf bag_wf deq_wf uiff_wf squash_wf all_wf bag_to_squash_list sq_stable__all sq_stable__uiff sq_stable__bag-member sq_stable__and sq_stable__not list_induction list-subtype-bag list_wf list_accum_nil_lemma bag-member-empty-iff nil_wf list_accum_cons_lemma bag-drop_wf bag-drop-no-repeats sq_or_wf equal_wf bag-member-cons cons_wf iff_weakening_uiff bag-drop-property true_wf iff_weakening_equal bag-member-append single-bag_wf bag-no-repeats-append bag-member-single
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin cumulativity hypothesisEquality hypothesis productEquality because_Cache universeEquality isect_memberFormation sqequalRule productElimination independent_pairEquality isect_memberEquality imageElimination imageMemberEquality baseClosed lambdaEquality dependent_functionElimination equalityTransitivity equalitySymmetry voidElimination independent_functionElimination functionEquality lambdaFormation promote_hyp rename applyEquality independent_isectElimination hyp_replacement Error :applyLambdaEquality,  voidEquality independent_pairFormation inrFormation addLevel unionElimination natural_numberEquality inlFormation

Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[bs,as:bag(T)].  \mforall{}[x:T].
uiff(x  \mdownarrow{}\mmember{}  bag-subtract(eq;bs;as);x  \mdownarrow{}\mmember{}  bs  \mwedge{}  (\mneg{}x  \mdownarrow{}\mmember{}  as))  supposing  bag-no-repeats(T;bs)

Date html generated: 2016_10_25-AM-11_28_31
Last ObjectModification: 2016_07_12-AM-07_35_09

Theory : bags_2

Home Index