Nuprl Lemma : bag-summation-cons
∀[R:Type]. ∀[add:R ⟶ R ⟶ R]. ∀[zero:R].
∀[T:Type]. ∀[f:T ⟶ R]. ∀[b:bag(T)]. ∀[a:T]. (Σ(x∈a.b). f[x] = (f[a] add Σ(x∈b). f[x]) ∈ R)
supposing IsMonoid(R;add;zero) ∧ Comm(R;add)
Proof
Definitions occuring in Statement :
bag-summation: Σ(x∈b). f[x]
,
cons-bag: x.b
,
bag: bag(T)
,
comm: Comm(T;op)
,
uimplies: b supposing a
,
uall: ∀[x:A]. B[x]
,
infix_ap: x f y
,
so_apply: x[s]
,
and: P ∧ Q
,
function: x:A ⟶ B[x]
,
universe: Type
,
equal: s = t ∈ T
,
monoid_p: IsMonoid(T;op;id)
Definitions unfolded in proof :
uall: ∀[x:A]. B[x]
,
member: t ∈ T
,
uimplies: b supposing a
,
and: P ∧ Q
,
single-bag: {x}
,
bag-append: as + bs
,
cons-bag: x.b
,
append: as @ bs
,
all: ∀x:A. B[x]
,
so_lambda: so_lambda(x,y,z.t[x; y; z])
,
top: Top
,
so_apply: x[s1;s2;s3]
,
prop: ℙ
,
cand: A c∧ B
,
so_apply: x[s]
,
so_lambda: λ2x.t[x]
,
true: True
,
squash: ↓T
,
infix_ap: x f y
,
subtype_rel: A ⊆r B
,
guard: {T}
,
iff: P
⇐⇒ Q
,
rev_implies: P
⇐ Q
,
implies: P
⇒ Q
,
monoid_p: IsMonoid(T;op;id)
Lemmas referenced :
list_ind_cons_lemma,
list_ind_nil_lemma,
bag_wf,
monoid_p_wf,
comm_wf,
single-bag_wf,
bag-summation_wf,
infix_ap_wf,
equal_wf,
squash_wf,
true_wf,
bag-summation-append,
bag-summation-single,
iff_weakening_equal
Rules used in proof :
sqequalSubstitution,
sqequalTransitivity,
computationStep,
sqequalReflexivity,
isect_memberFormation,
introduction,
cut,
sqequalHypSubstitution,
productElimination,
thin,
sqequalRule,
extract_by_obid,
dependent_functionElimination,
isect_memberEquality,
voidElimination,
voidEquality,
hypothesis,
hypothesisEquality,
isectElimination,
axiomEquality,
because_Cache,
cumulativity,
functionEquality,
universeEquality,
productEquality,
functionExtensionality,
applyEquality,
equalityTransitivity,
equalitySymmetry,
independent_pairFormation,
lambdaEquality,
independent_isectElimination,
natural_numberEquality,
imageElimination,
imageMemberEquality,
baseClosed,
independent_functionElimination
Latex:
\mforall{}[R:Type]. \mforall{}[add:R {}\mrightarrow{} R {}\mrightarrow{} R]. \mforall{}[zero:R].
\mforall{}[T:Type]. \mforall{}[f:T {}\mrightarrow{} R]. \mforall{}[b:bag(T)]. \mforall{}[a:T]. (\mSigma{}(x\mmember{}a.b). f[x] = (f[a] add \mSigma{}(x\mmember{}b). f[x]))
supposing IsMonoid(R;add;zero) \mwedge{} Comm(R;add)
Date html generated:
2017_10_01-AM-08_48_41
Last ObjectModification:
2017_07_26-PM-04_32_45
Theory : bags
Home
Index