Seminorms #
This file defines seminorms.
A seminorm is a function to the reals which is positive-semidefinite, absolutely homogeneous, and subadditive. They are closely related to convex sets, and a topological vector space is locally convex if and only if its topology is induced by a family of seminorms.
Main declarations #
For a module over a normed ring:
Seminorm
: A function to the reals that is positive-semidefinite, absolutely homogeneous, and subadditive.normSeminorm ๐ E
: The norm onE
as a seminorm.
References #
- [H. H. Schaefer, Topological Vector Spaces][schaefer1966]
Tags #
seminorm, locally convex, LCTVS
- toFun : E โ โ
- map_zero' : AddGroupSeminorm.toFun s.toAddGroupSeminorm 0 = 0
- add_le' : โ (r s_1 : E), AddGroupSeminorm.toFun s.toAddGroupSeminorm (r + s_1) โค AddGroupSeminorm.toFun s.toAddGroupSeminorm r + AddGroupSeminorm.toFun s.toAddGroupSeminorm s_1
- neg' : โ (r : E), AddGroupSeminorm.toFun s.toAddGroupSeminorm (-r) = AddGroupSeminorm.toFun s.toAddGroupSeminorm r
- smul' : โ (a : ๐) (x : E), AddGroupSeminorm.toFun s.toAddGroupSeminorm (a โข x) = โaโ * AddGroupSeminorm.toFun s.toAddGroupSeminorm x
The seminorm of a scalar multiplication is the product of the absolute value of the scalar and the original seminorm.
A seminorm on a module over a normed ring is a function to the reals that is positive semidefinite, positive homogeneous, and subadditive.
Instances For
- coe : F โ E โ โ
- coe_injective' : Function.Injective FunLike.coe
- map_zero : โ (f : F), โf 0 = 0
The seminorm of a scalar multiplication is the product of the absolute value of the scalar and the original seminorm.
SeminormClass F ๐ E
states that F
is a type of seminorms on the ๐
-module E
.
You should extend this class when you extend Seminorm
.
Instances
Alternative constructor for a Seminorm
on an AddCommGroup E
that is a module over a
SeminormedRing ๐
.
Equations
- Seminorm.of f add_le smul = { toAddGroupSeminorm := { toFun := f, map_zero' := (_ : f 0 = 0), add_le' := add_le, neg' := (_ : โ (x : E), f (-x) = f x) }, smul' := smul }
Instances For
Alternative constructor for a Seminorm
over a normed field ๐
that only assumes f 0 = 0
and an inequality for the scalar multiplication.
Equations
- Seminorm.ofSMulLE f map_zero add_le smul_le = Seminorm.of f add_le (_ : โ (r : ๐) (x : E), f (r โข x) = โrโ * f x)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Helper instance for when there's too many metavariables to apply FunLike.hasCoeToFun
.
Equations
- Seminorm.instCoeFun = FunLike.hasCoeToFun
Equations
- One or more equations did not get rendered due to their size.
Equations
- Seminorm.instInhabitedSeminorm = { default := 0 }
Any action on โ
which factors through โโฅ0
applies to a seminorm.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Seminorm.instMulAction = Function.Injective.mulAction (fun f => โf) (_ : Function.Injective fun f => โf) (_ : โ (c : R) (x : Seminorm ๐ E), โ(c โข x) = โ(c โข x))
coeFn
as an AddMonoidHom
. Helper definition for showing that Seminorm ๐ E
is a module.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Seminorm.instPartialOrder = PartialOrder.lift (fun f => โf) (_ : Function.Injective fun f => โf)
Equations
- Seminorm.instSemilatticeSup = Function.Injective.semilatticeSup (fun f => โf) (_ : Function.Injective fun f => โf) (_ : โ (p q : Seminorm ๐ E), โ(p โ q) = โp โ โq)
Equations
- Seminorm.smul_nnreal_real = inferInstance
Composition of a seminorm with a linear map is a seminorm.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The composition as an AddMonoidHom
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Seminorm.instOrderBot = OrderBot.mk (_ : โ (f : Seminorm ๐ E) (a : E), 0 โค โf a)
Auxiliary lemma to show that the infimum of seminorms is well-defined.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
We define the supremum of an arbitrary subset of Seminorm ๐ E
as follows:
- if
s
isBddAbove
as a set of functionsE โ โ
(that is, ifs
is pointwise bounded above), we take the pointwise supremum of all elements ofs
, and we prove that it is indeed a seminorm. - otherwise, we take the zero seminorm
โฅ
.
There are two things worth mentioning here:
- First, it is not trivial at first that
s
being bounded above by a function implies being bounded above as a seminorm. We show this inSeminorm.bddAbove_iff
by using that theSup s
as defined here is then a bounding seminorm fors
. So it is important to make the case disjunction onBddAbove ((โ) '' s : Set (E โ โ))
and notBddAbove s
. - Since the pointwise
Sup
already gives0
at points where a family of functions is not bounded above, one could hope that just using the pointwiseSup
would work here, without the need for an additional case disjunction. As discussed on Zulip, this doesn't work because this can give a function which does not satisfy the seminorm axioms (typically sub-additivity).
Equations
- One or more equations did not get rendered due to their size.
Seminorm ๐ E
is a conditionally complete lattice.
Note that, while inf
, sup
and sSup
have good definitional properties (corresponding to
the instances given here for Inf
, Sup
and SupSet
respectively), sInf s
is just
defined as the supremum of the lower bounds of s
, which is not really useful in practice. If you
need to use sInf
on seminorms, then you should probably provide a more workable definition first,
but this is unlikely to happen so we keep the "bad" definition for now.
Equations
- Seminorm.instConditionallyCompleteLattice = conditionallyCompleteLatticeOfLatticeOfsSup (Seminorm ๐ E) (_ : โ (s : Set (Seminorm ๐ E)), BddAbove s โ Set.Nonempty s โ IsLUB s (sSup s))
Seminorm ball #
The ball of radius r
at x
with respect to seminorm p
is the set of elements y
with
p (y - x) < r
.
Equations
- Seminorm.ball p x r = {y | โp (y - x) < r}
Instances For
The closed ball of radius r
at x
with respect to seminorm p
is the set of elements y
with p (y - x) โค r
.
Equations
- Seminorm.closedBall p x r = {y | โp (y - x) โค r}
Instances For
The image of a ball under addition with a singleton is another ball.
The image of a closed ball under addition with a singleton is another closed ball.
Seminorm-balls at the origin are balanced.
Closed seminorm-balls at the origin are balanced.
Seminorm-balls at the origin are absorbent.
Closed seminorm-balls at the origin are absorbent.
Seminorm-balls containing the origin are absorbent.
Seminorm-balls containing the origin are absorbent.
A seminorm is convex. Also see convexOn_norm
.
Seminorm-balls are convex.
Closed seminorm-balls are convex.
Reinterpret a seminorm over a field ๐'
as a seminorm over a smaller field ๐
. This will
typically be used with IsROrC ๐'
and ๐ = โ
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Continuity criterions for seminorms #
A seminorm is continuous at 0
if p.closedBall 0 r โ ๐ 0
for all r > 0
.
Over a NontriviallyNormedField
it is actually enough to check that this is true
for some r
, see Seminorm.continuousAt_zero'
.
A seminorm is continuous at 0
if p.ball 0 r โ ๐ 0
for all r > 0
.
Over a NontriviallyNormedField
it is actually enough to check that this is true
for some r
, see Seminorm.continuousAt_zero'
.
A seminorm is uniformly continuous if p.ball 0 r โ ๐ 0
for all r > 0
.
Over a NontriviallyNormedField
it is actually enough to check that this is true
for some r
, see Seminorm.uniformContinuous
.
A seminorm is uniformly continuous if p.closedBall 0 r โ ๐ 0
for all r > 0
.
Over a NontriviallyNormedField
it is actually enough to check that this is true
for some r
, see Seminorm.uniformContinuous'
.
A seminorm is continuous if p.ball 0 r โ ๐ 0
for all r > 0
.
Over a NontriviallyNormedField
it is actually enough to check that this is true
for some r
, see Seminorm.continuous
.
A seminorm is continuous if p.closedBall 0 r โ ๐ 0
for all r > 0
.
Over a NontriviallyNormedField
it is actually enough to check that this is true
for some r
, see Seminorm.continuous'
.
Let p
be a seminorm on a vector space over a NormedField
.
If there is a scalar c
with โcโ>1
, then any x
such that p x โ 0
can be
moved by scalar multiplication to any p
-shell of width โcโ
. Also recap information on the
value of p
on the rescaling element that shows up in applications.
Let p
be a seminorm on a vector space over a NormedField
.
If there is a scalar c
with โcโ>1
, then any x
such that p x โ 0
can be
moved by scalar multiplication to any p
-shell of width โcโ
. Also recap information on the
value of p
on the rescaling element that shows up in applications.
Let p
and q
be two seminorms on a vector space over a nontrivially_normed_field
.
If we have q x โค C * p x
on some shell of the form {x | ฮต/โcโ โค p x < ฮต}
(where ฮต > 0
and โcโ > 1
), then we also have q x โค C * p x
for all x
such that p x โ 0
.
A version of Seminorm.bound_of_shell
expressed using pointwise scalar multiplication of
seminorms.
The norm as a seminorm #
The norm of a seminormed group as a seminorm.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Balls at the origin are absorbent.
Balls containing the origin are absorbent.
Balls at the origin are balanced.
If there is a scalar c
with โcโ>1
, then any element with nonzero norm can be
moved by scalar multiplication to any shell of width โcโ
. Also recap information on the norm of
the rescaling element that shows up in applications.
If there is a scalar c
with โcโ>1
, then any element with nonzero norm can be
moved by scalar multiplication to any shell of width โcโ
. Also recap information on the norm of
the rescaling element that shows up in applications.
If there is a scalar c
with โcโ>1
, then any element can be moved by scalar multiplication to
any shell of width โcโ
. Also recap information on the norm of the rescaling element that shows
up in applications.