Type of functions with locally finite support #
This file defines functions with locally finite support, provides supporting API. For suitable targets, it establishes functions with locally finite support as an instance of a lattice ordered commutative group.
Throughout the present file, X
denotes a topologically space and U
a subset of X
.
Definition, coercion to functions and basic extensionality lemmas #
A function with locally finite support within U
is a function X → Y
whose support is locally
finite within U
and entirely contained in U
. For T1-spaces, the theorem
supportDiscreteWithin_iff_locallyFiniteWithin
shows that the first condition is equivalent to the
condition that the support f
is discrete within U
.
A function with locally finite support within U
is a triple as specified below.
- toFun : X → Y
A function
X → Y
A proof that the support of
toFun
is contained inU
- supportLocallyFiniteWithinDomain' (z : X) : z ∈ U → ∃ t ∈ nhds z, (t ∩ Function.support self.toFun).Finite
A proof the the support is locally finite within
U
Instances For
A function with locally finite support is a function with locally finite support within
⊤ : Set X
.
Equations
Instances For
For T1 spaces, the condition supportLocallyFiniteWithinDomain'
is equivalent to saying that the
support is codiscrete within U
.
Functions with locally finite support within U
are FunLike
: the coercion to functions is
injective.
Equations
- Function.locallyFinsuppWithin.instFunLike = { coe := fun (D : Function.locallyFinsuppWithin U Y) => D.toFun, coe_injective' := ⋯ }
This allows writing D.support
instead of Function.support D
Equations
- D.support = Function.support ⇑D
Instances For
Elementary properties of the support #
Simplifier lemma: Functions with locally finite support within U
evaluate to zero outside of U
.
On a T1 space, the support of a functions with locally finite support within U
is discrete.
If X
is T1 and if U
is closed, then the support of support of a function with locally finite
support within U
is also closed.
If X
is T2 and if U
is compact, then the support of a function with locally finite support
within U
is finite.
Lattice ordered group structure #
If X
is a suitable instance, this section equips functions with locally finite support within U
with the standard structure of a lattice ordered group, where addition, comparison, min and max are
defined pointwise.
Functions with locally finite support within U
form an additive subgroup of functions X → Y.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assign a function with locally finite support within U
to a function in the subgroup.
Equations
- Function.locallyFinsuppWithin.mk_of_mem f hf = { toFun := f, supportWithinDomain' := ⋯, supportLocallyFiniteWithinDomain' := ⋯ }
Instances For
Equations
Equations
- Function.locallyFinsuppWithin.instAdd = { add := fun (D₁ D₂ : Function.locallyFinsuppWithin U Y) => Function.locallyFinsuppWithin.mk_of_mem (⇑D₁ + ⇑D₂) ⋯ }
Equations
- Function.locallyFinsuppWithin.instNeg = { neg := fun (D : Function.locallyFinsuppWithin U Y) => Function.locallyFinsuppWithin.mk_of_mem (-⇑D) ⋯ }
Equations
- Function.locallyFinsuppWithin.instSub = { sub := fun (D₁ D₂ : Function.locallyFinsuppWithin U Y) => Function.locallyFinsuppWithin.mk_of_mem (⇑D₁ - ⇑D₂) ⋯ }
Equations
- Function.locallyFinsuppWithin.instSMulNat = { smul := fun (n : ℕ) (D : Function.locallyFinsuppWithin U Y) => Function.locallyFinsuppWithin.mk_of_mem (n • ⇑D) ⋯ }
Equations
- Function.locallyFinsuppWithin.instSMulInt = { smul := fun (n : ℤ) (D : Function.locallyFinsuppWithin U Y) => Function.locallyFinsuppWithin.mk_of_mem (n • ⇑D) ⋯ }
Equations
- Function.locallyFinsuppWithin.instAddCommGroup = Function.Injective.addCommGroup (fun (x : Function.locallyFinsuppWithin U Y) => ⇑x) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- Function.locallyFinsuppWithin.instLE = { le := fun (D₁ D₂ : Function.locallyFinsuppWithin U Y) => ⇑D₁ ≤ ⇑D₂ }
Equations
- Function.locallyFinsuppWithin.instLTOfPreorder = { lt := fun (D₁ D₂ : Function.locallyFinsuppWithin U Y) => ⇑D₁ < ⇑D₂ }
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
Functions with locally finite support within U
form an ordered commutative group.
Restriction #
If V
is a subset of U
, then functions with locally finite support within U
restrict to
functions with locally finite support within V
, by setting their values to zero outside of V
.
Equations
Instances For
Restriction as a group morphism
Equations
- Function.locallyFinsuppWithin.restrictMonoidHom h = { toFun := fun (D : Function.locallyFinsuppWithin U Y) => D.restrict h, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Restriction as a lattice morphism
Equations
- Function.locallyFinsuppWithin.restrictLatticeHom h = { toFun := fun (D : Function.locallyFinsuppWithin U Y) => D.restrict h, map_sup' := ⋯, map_inf' := ⋯ }