CartSp and EuclOp #
This file defines the sites CartSp
and EuclOp
of cartesian spaces resp. open subsets of
cartesian spaces and smooth maps, both with the good open cover coverage. These
sites are of relevance because concrete sheaves on them correspond to diffeological spaces,
although sheaves on them are studied not in this file but in Orbifolds.Diffeology.SmoothSp
.
See https://ncatlab.org/nlab/show/CartSp.
Note that with the current implementation, this could not be used to define
diffeological spaces - it already uses diffeology in the definition of
CartSp.openCoverCoverage
. The reason is that smooth embeddings are apparently not yet
implemented in mathlib, so diffeological inductions are used instead.
Main definitions / results:
CartSp
: the category of euclidean spaces and smooth maps between themCartSp.openCoverCoverage
: the coverage given by jointly surjective open inductionsCartSp
has all finite productsCartSp
is a concrete, cohesive and subcanonical siteEuclOp
: the category of open subsets of euclidean spaces and smooth maps between themEuclOp.openCoverCoverage
: the coverage given by jointly surjective open inductionsEuclOp
is a concrete subcanonical siteCartSp.toEuclOp
: the fully faithful embedding ofCartSp
intoEuclOp
CartSp.toEuclOp
exhibitsCartSp
as a dense sub-site ofEuclOp
TODO #
- Show that
EuclOp
has all finite products - Show that that
CartSp.toEuclOp
preserves finite products - Switch from
HasForget
to the newConcreteCategory
design - Use
Presieve.IsJointlySurjective
more (currently runs into problems regarding whichFunLike
instances are used) - Generalise
CartSp
to take a smoothness parameter inℕ∞
- Generalise
EuclOp
to take a smoothness parameter inWithTop ℕ∞
- General results about concrete sites
Equations
- CartSp.instCoeSortType = { coe := fun (n : CartSp) => EuclideanSpace ℝ (Fin n) }
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
- n.instFunLike m = { coe := fun (f : n ⟶ m) => ⇑f, coe_injective' := ⋯ }
The open cover coverage on CartSp
, consisting of all coverings by open smooth embeddings.
Since mathlib apparently doesn't have smooth embeddings yet, diffeological inductions are
used instead.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A sieve belongs to CartSp.openCoverTopology
iff it contains a presieve from
CartSp.openCoverCoverage
.
The 0
-dimensional cartesian space is terminal in CartSp
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical linear homeomorphism between EuclideanSpace 𝕜 (ι ⊕ κ)
and
EuclideanSpace 𝕜 ι × EuclideanSpace 𝕜 κ
. Note that this is not an isometry because
product spaces are equipped with the supremum norm.
TODO: remove next time mathlib is bumped
Equations
- EuclideanSpace.sumEquivProd = (PiLp.sumPiLpEquivProdLpPiLp 2 fun (x : ι ⊕ κ) => 𝕜).toContinuousLinearEquiv.trans (WithLp.prodContinuousLinearEquiv 2 𝕜 (WithLp 2 (ι → 𝕜)) (WithLp 2 (κ → 𝕜)))
Instances For
The canonical linear homeomorphism between EuclideanSpace 𝕜 (Fin (n + m))
and
EuclideanSpace 𝕜 (Fin n) × EuclideanSpace 𝕜 (Fin m)
.
TODO: remove next time mathlib is bumped
Equations
Instances For
The first projection realising EuclideanSpace ℝ (Fin (n + m))
as the product of
EuclideanSpace ℝ n
and EuclideanSpace ℝ m
.
Equations
Instances For
The second projection realising EuclideanSpace ℝ (Fin (n + m))
as the product of
EuclideanSpace ℝ n
and EuclideanSpace ℝ m
.
Equations
Instances For
The explicit binary fan of EuclideanSpace ℝ n
and EuclideanSpace ℝ m
given by
EuclideanSpace ℝ (Fin (n + m))
.
Instances For
The constructed binary fan is indeed a limit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
CartSp
is a locally connected site, roughly meaning that each of its objects is connected.
Note that this is different from EuclOp
, which also contains disconnected open sets and thus isn't
locally connected.
CartSp
is a cohesive site (i.e. in particular locally connected and local, but with a few more
properties). From this it follows that the sheaves on it form a cohesive topos.
Note that EuclOp
(defined below) is not a cohesive site, as it isn't locally connected. Sheaves
on it form a cohesive topos too nonetheless, simply because the sheaf topoi on EuclOp
and CartSp
are equivalent.
CartSp
is a concrete site, in that it is concrete with elements corresponding to morphisms
from the terminal object and carries a topology consisting entirely of jointly surjective sieves.
Equations
- One or more equations did not get rendered due to their size.
CartSp
is a subcanonical site, i.e. all representable presheaves on it are sheaves.
Equations
- EuclOp = ((n : ℕ) × TopologicalSpace.Opens (EuclideanSpace ℝ (Fin n)))
Instances For
Equations
- EuclOp.instCoeSortType = { coe := fun (u : EuclOp) => ↥u.snd }
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
- u.instFunLike v = { coe := fun (f : u ⟶ v) => ⇑f, coe_injective' := ⋯ }
The open cover coverage on EuclOp
, consisting of all coverings by open smooth embeddings.
Since mathlib apparently doesn't have smooth embeddings yet, diffeological inductions are
used instead.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A sieve belongs to EuclOp.openCoverTopology
iff it contains a presieve from
EuclOp.openCoverCoverage
.
EuclOp
is a concrete site, in that it is concrete with elements corresponding to morphisms
from the terminal object and carries a topology consisting entirely of jointly surjective sieves.
Equations
- One or more equations did not get rendered due to their size.
EuclOp
is a subcanonical site, i.e. all representable presheaves on it are sheaves.
Open subsets of cartesian spaces can be covered with cartesian spaces.
CartSp.toEuclOp
exhibits CartSp
as a dense sub-site of EuclOp
with respect to the
open cover topologies.
In particular, the sheaf topoi of the two sites are equivalent via IsDenseSubsite.sheafEquiv
.
Embeddings into other categories #
TODO: split this off into some other file, to reduce the imports of this file
The embedding of CartSp
into the opposite category of ℝ
-algebras, sending each space X
to the algebra of smooth maps X → ℝ
.
TODO: change this to the category of commutative algebras next time mathlib is bumped
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.