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