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: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T implies:  Q all: x:A. B[x] so_lambda: λ2x.t[x] so_apply: x[s] subtype_rel: A ⊆B prop: uimplies: supposing a and: P ∧ Q cand: c∧ B uiff: uiff(P;Q) bag-member: x ↓∈ bs squash: T not: ¬A false: False iff: ⇐⇒ Q rev_implies:  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