Nuprl Lemma : bag-remove1-equal
∀[T:Type]. ∀[eq:EqDecider(T)]. ∀[as,bs:bag(T)]. ∀[a,b:T].
uiff(bag-remove1(eq;as;a) = bag-remove1(eq;bs;b) ∈ (bag(T)?);(({a} + bs) = ({b} + as) ∈ bag(T))
↓∨ ((¬a ↓∈ as) ∧ (¬b ↓∈ bs)))
Proof
Definitions occuring in Statement :
bag-remove1: bag-remove1(eq;bs;a)
,
bag-member: x ↓∈ bs
,
bag-append: as + bs
,
single-bag: {x}
,
bag: bag(T)
,
deq: EqDecider(T)
,
sq_or: a ↓∨ b
,
uiff: uiff(P;Q)
,
uall: ∀[x:A]. B[x]
,
not: ¬A
,
and: P ∧ Q
,
unit: Unit
,
union: left + right
,
universe: Type
,
equal: s = t ∈ T
Definitions unfolded in proof :
uall: ∀[x:A]. B[x]
,
member: t ∈ T
,
uiff: uiff(P;Q)
,
and: P ∧ Q
,
uimplies: b supposing a
,
sq_or: a ↓∨ b
,
squash: ↓T
,
all: ∀x:A. B[x]
,
prop: ℙ
,
or: P ∨ Q
,
exists: ∃x:A. B[x]
,
true: True
,
subtype_rel: A ⊆r B
,
guard: {T}
,
iff: P
⇐⇒ Q
,
implies: P
⇒ Q
,
not: ¬A
,
false: False
,
rev_implies: P
⇐ Q
,
isl: isl(x)
,
cand: A c∧ B
,
deq: EqDecider(T)
,
bool: 𝔹
,
unit: Unit
,
it: ⋅
,
btrue: tt
,
eqof: eqof(d)
,
ifthenelse: if b then t else f fi
,
outl: outl(x)
,
assert: ↑b
,
bfalse: ff
,
sq_type: SQType(T)
,
bnot: ¬bb
,
exposed-bfalse: exposed-bfalse
Lemmas referenced :
unit_wf2,
bag-remove1_wf,
sq_or_wf,
equal_wf,
bag_wf,
bag-append_wf,
single-bag_wf,
not_wf,
bag-member_wf,
istype-universe,
bag-remove1-property,
squash_wf,
true_wf,
subtype_rel_self,
iff_weakening_equal,
istype-void,
bag-append-assoc-comm,
btrue_wf,
bfalse_wf,
btrue_neq_bfalse,
deq_wf,
bag-remove1-member,
bag-remove1-append1,
eqtt_to_assert,
safe-assert-deq,
outl_wf,
assert_wf,
isl_wf,
eqff_to_assert,
bool_cases_sqequal,
subtype_base_sq,
bool_wf,
bool_subtype_base,
assert-bnot,
iff_weakening_uiff,
bag-remove1-non-member,
bag-member-append,
bag-member-single
Rules used in proof :
sqequalSubstitution,
sqequalTransitivity,
computationStep,
sqequalReflexivity,
isect_memberFormation_alt,
introduction,
cut,
independent_pairFormation,
sqequalRule,
sqequalHypSubstitution,
imageElimination,
hypothesis,
imageMemberEquality,
hypothesisEquality,
thin,
baseClosed,
equalityIsType1,
unionIsType,
inhabitedIsType,
universeIsType,
extract_by_obid,
isectElimination,
dependent_functionElimination,
productEquality,
productElimination,
independent_pairEquality,
isect_memberEquality_alt,
because_Cache,
equalityTransitivity,
equalitySymmetry,
axiomEquality,
universeEquality,
unionElimination,
inlFormation_alt,
applyEquality,
lambdaEquality_alt,
unionEquality,
natural_numberEquality,
instantiate,
independent_isectElimination,
independent_functionElimination,
applyLambdaEquality,
productIsType,
functionIsType,
dependent_set_memberEquality_alt,
equalityIsType3,
setElimination,
rename,
voidElimination,
inrFormation_alt,
lambdaFormation_alt,
equalityElimination,
promote_hyp,
hyp_replacement,
inlEquality_alt,
dependent_pairFormation_alt,
cumulativity
Latex:
\mforall{}[T:Type]. \mforall{}[eq:EqDecider(T)]. \mforall{}[as,bs:bag(T)]. \mforall{}[a,b:T].
uiff(bag-remove1(eq;as;a) = bag-remove1(eq;bs;b);((\{a\} + bs) = (\{b\} + as))
\mdownarrow{}\mvee{} ((\mneg{}a \mdownarrow{}\mmember{} as) \mwedge{} (\mneg{}b \mdownarrow{}\mmember{} bs)))
Date html generated:
2019_10_16-AM-11_31_14
Last ObjectModification:
2018_10_11-AM-10_46_07
Theory : bags_2
Home
Index