Nuprl Lemma : bag-remove-repeats-append

∀[T:Type]. ∀[as,bs:bag(T)]. ∀[eq:EqDecider(T)].
  (bag-remove-repeats(eq;as + bs)
  = (bag-remove-repeats(eq;as) + [x∈bag-remove-repeats(eq;bs)|¬bbag-deq-member(eq;x;as)])
  ∈ bag(T))


Proof




Definitions occuring in Statement :  bag-remove-repeats: bag-remove-repeats(eq;bs),  bag-deq-member: bag-deq-member(eq;x;b),  bag-filter: [x∈b|p[x]],  bag-append: as + bs,  bag: bag(T),  deq: EqDecider(T),  bnot: ¬bb,  uall: ∀[x:A]. B[x],  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  implies: P ⇒ Q,  all: ∀x:A. B[x],  so_lambda: λ2x.t[x],  so_apply: x[s],  subtype_rel: A ⊆r B,  prop: ℙ,  uimplies: b supposing a,  and: P ∧ Q,  cand: A c∧ B,  uiff: uiff(P;Q),  bag-member: x ↓∈ bs,  squash: ↓T,  not: ¬A,  false: False,  iff: P ⇐⇒ Q,  rev_implies: P ⇐ Q,  decidable: Dec(P),  or: P ∨ Q,  sq_or: a ↓∨ b,  sq_stable: SqStable(P),  guard: {T}
Lemmas referenced :  sq_stable__sq_or,  sq_stable__bag-member,  bag-member-append,  decidable__bag-member,  assert-bag-deq-member,  assert_of_bnot,  iff_weakening_uiff,  iff_transitivity,  and_wf,  not_wf,  bag-member-filter,  bag-member-remove-repeats,  bag-no-repeats-filter,  bag-no-repeats-append,  bag_wf,  deq_wf,  bag-member_wf,  bag-remove-repeats-no-repeats,  assert_wf,  subtype_rel_bag,  bag-deq-member_wf,  bnot_wf,  bag-filter_wf,  bag-append_wf,  bag-remove-repeats_wf,  decidable-equal-deq,  bag-extensionality-no-repeats
Rules used in proof :  cut,  lemma_by_obid,  sqequalHypSubstitution,  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isectElimination,  thin,  hypothesisEquality,  independent_functionElimination,  lambdaFormation,  because_Cache,  hypothesis,  dependent_functionElimination,  sqequalRule,  lambdaEquality,  applyEquality,  setEquality,  independent_isectElimination,  setElimination,  rename,  independent_pairFormation,  productElimination,  isect_memberFormation,  introduction,  imageElimination,  imageMemberEquality,  baseClosed,  universeEquality,  isect_memberEquality,  axiomEquality,  voidElimination,  addLevel,  impliesFunctionality,  unionElimination,  inlFormation,  inrFormation

Latex:
\mforall{}[T:Type].  \mforall{}[as,bs:bag(T)].  \mforall{}[eq:EqDecider(T)].
    (bag-remove-repeats(eq;as  +  bs)
    =  (bag-remove-repeats(eq;as)  +  [x\mmember{}bag-remove-repeats(eq;bs)|\mneg{}\msubb{}bag-deq-member(eq;x;as)]))



Date html generated: 2016_05_15-PM-08_02_54
Last ObjectModification: 2016_01_16-PM-01_30_00

Theory : bags_2


Home Index