Continuous bundled maps #
In this file we define the type ContinuousMap of continuous bundled maps.
We use the DFunLike design, so each type of morphisms has a companion typeclass which is meant to
be satisfied by itself and all stricter types.
The type of continuous maps from α to β.
When possible, instead of parametrizing results over (f : C(α, β)),
you should parametrize over {F : Type*} [ContinuousMapClass F α β] (f : F).
When you extend this structure, make sure to extend ContinuousMapClass.
- toFun : α → β
The function
α → β - continuous_toFun : Continuous self.toFun
Proposition that
toFunis continuous
Instances For
Proposition that toFun is continuous
The type of continuous maps from α to β.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ContinuousMapClass F α β states that F is a type of continuous maps.
You should extend this class when you extend ContinuousMap.
- map_continuous : ∀ (f : F), Continuous ⇑f
Continuity
Instances
Continuity
Coerce a bundled morphism with a ContinuousMapClass instance to a ContinuousMap.
Equations
- ↑f = { toFun := ⇑f, continuous_toFun := ⋯ }
Instances For
Equations
- instCoeTCContinuousMap = { coe := toContinuousMap }
Continuous maps #
Equations
- ContinuousMap.funLike = { coe := ContinuousMap.toFun, coe_injective' := ⋯ }
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
See note [custom simps projection].
Equations
Instances For
Copy of a ContinuousMap with a new toFun equal to the old one. Useful to fix definitional
equalities.
Equations
- f.copy f' h = { toFun := f', continuous_toFun := ⋯ }
Instances For
Deprecated. Use map_continuous instead.
Deprecated. Use map_continuousAt instead.
Deprecated. Use DFunLike.congr_fun instead.
Deprecated. Use DFunLike.congr_arg instead.
The continuous functions from α to β are the same as the plain functions when α is discrete.
Equations
- ContinuousMap.equivFnOfDiscrete α β = { toFun := fun (f : C(α, β)) => ⇑f, invFun := fun (f : α → β) => { toFun := f, continuous_toFun := ⋯ }, left_inv := ⋯, right_inv := ⋯ }
Instances For
The identity as a continuous map.
Equations
- ContinuousMap.id α = { toFun := id, continuous_toFun := ⋯ }
Instances For
The constant map as a continuous map.
Equations
- ContinuousMap.const α b = { toFun := fun (x : α) => b, continuous_toFun := ⋯ }
Instances For
Function.const α b as a bundled continuous function of b.
Equations
- ContinuousMap.constPi α = { toFun := fun (b : β) => Function.const α b, continuous_toFun := ⋯ }
Instances For
Equations
- ContinuousMap.instInhabited α = { default := ContinuousMap.const α default }
The composition of continuous maps, as a continuous map.
Instances For
Equations
- ⋯ = ⋯
Prod.fst : (x, y) ↦ x as a bundled continuous map.
Equations
- ContinuousMap.fst = { toFun := Prod.fst, continuous_toFun := ⋯ }
Instances For
Prod.snd : (x, y) ↦ y as a bundled continuous map.
Equations
- ContinuousMap.snd = { toFun := Prod.snd, continuous_toFun := ⋯ }
Instances For
Given two continuous maps f and g, this is the continuous map x ↦ (f x, g x).
Equations
- f.prodMk g = { toFun := fun (x : α) => (f x, g x), continuous_toFun := ⋯ }
Instances For
Given two continuous maps f and g, this is the continuous map (x, y) ↦ (f x, g y).
Instances For
Prod.swap bundled as a ContinuousMap.
Equations
- ContinuousMap.prodSwap = ContinuousMap.snd.prodMk ContinuousMap.fst
Instances For
Sigma.mk i as a bundled continuous map.
Equations
- ContinuousMap.sigmaMk i = { toFun := Sigma.mk i, continuous_toFun := ⋯ }
Instances For
To give a continuous map out of a disjoint union, it suffices to give a continuous map out of
each term. This is Sigma.uncurry for continuous maps.
Equations
- ContinuousMap.sigma f = { toFun := fun (ig : (i : I) × X i) => (f ig.fst) ig.snd, continuous_toFun := ⋯ }
Instances For
Giving a continuous map out of a disjoint union is the same as giving a continuous map out of
each term. This is a version of Equiv.piCurry for continuous maps.
Equations
- ContinuousMap.sigmaEquiv A X = { toFun := ContinuousMap.sigma, invFun := fun (f : C((i : I) × X i, A)) (i : I) => f.comp (ContinuousMap.sigmaMk i), left_inv := ⋯, right_inv := ⋯ }
Instances For
Abbreviation for product of continuous maps, which is continuous
Equations
- ContinuousMap.pi f = { toFun := fun (a : A) (i : I) => (f i) a, continuous_toFun := ⋯ }
Instances For
Evaluation at point as a bundled continuous map.
Equations
- ContinuousMap.eval i = { toFun := Function.eval i, continuous_toFun := ⋯ }
Instances For
Giving a continuous map out of a disjoint union is the same as giving a continuous map out of each term
Equations
- ContinuousMap.piEquiv A X = { toFun := ContinuousMap.pi, invFun := fun (f : C(A, (i : I) → X i)) (i : I) => (ContinuousMap.eval i).comp f, left_inv := ⋯, right_inv := ⋯ }
Instances For
Combine a collection of bundled continuous maps C(X i, Y i) into a bundled continuous map
C(∀ i, X i, ∀ i, Y i).
Equations
- ContinuousMap.piMap f = ContinuousMap.pi fun (i : I) => (f i).comp (ContinuousMap.eval i)
Instances For
"Precomposition" as a continuous map between dependent types.
Equations
- ContinuousMap.precomp φ = { toFun := fun (f : (i : I) → X i) (j : ι) => f (φ j), continuous_toFun := ⋯ }
Instances For
The restriction of a continuous function α → β to a subset s of α.
Equations
- ContinuousMap.restrict s f = { toFun := ⇑f ∘ Subtype.val, continuous_toFun := ⋯ }
Instances For
The restriction of a continuous map to the preimage of a set.
Equations
- f.restrictPreimage s = { toFun := s.restrictPreimage ⇑f, continuous_toFun := ⋯ }
Instances For
A family φ i of continuous maps C(S i, β), where the domains S i contain a neighbourhood
of each point in α and the functions φ i agree pairwise on intersections, can be glued to
construct a continuous map in C(α, β).
Equations
- ContinuousMap.liftCover S φ hφ hS = { toFun := Set.liftCover S (fun (i : ι) => ⇑(φ i)) hφ ⋯, continuous_toFun := ⋯ }
Instances For
A family F s of continuous maps C(s, β), where (1) the domains s are taken from a set A
of sets in α which contain a neighbourhood of each point in α and (2) the functions F s agree
pairwise on intersections, can be glued to construct a continuous map in C(α, β).
Equations
- ContinuousMap.liftCover' A F hF hA = let S := Subtype.val; let F_1 := fun (i : ↑A) => F ↑i ⋯; ContinuousMap.liftCover S F_1 ⋯ ⋯
Instances For
Setoid.quotientKerEquivOfRightInverse as a homeomorphism.
Equations
- hf.homeomorph = { toEquiv := Setoid.quotientKerEquivOfRightInverse (⇑f) (⇑f') hf, continuous_toFun := ⋯, continuous_invFun := ⋯ }
Instances For
The homeomorphism from the quotient of a quotient map to its codomain. This is
Setoid.quotientKerEquivOfSurjective as a homeomorphism.
Equations
- hf.homeomorph = { toEquiv := Setoid.quotientKerEquivOfSurjective ⇑f ⋯, continuous_toFun := ⋯, continuous_invFun := ⋯ }
Instances For
Descend a continuous map, which is constant on the fibres, along a quotient map.
Equations
- hf.lift g h = { toFun := (fun (i : Quotient (Setoid.ker ⇑f)) => i.liftOn' ⇑g ⋯) ∘ ⇑hf.homeomorph.symm, continuous_toFun := ⋯ }
Instances For
The obvious triangle induced by QuotientMap.lift commutes:
g
X --→ Z
| ↗
f | / hf.lift g h
v /
Y
QuotientMap.lift as an equivalence.
Equations
Instances For
The forward direction of a homeomorphism, as a bundled continuous map.
Equations
- e.toContinuousMap = { toFun := ⇑e, continuous_toFun := ⋯ }
Instances For
Homeomorph.toContinuousMap as a coercion.
Equations
- Homeomorph.instCoeContinuousMap = { coe := Homeomorph.toContinuousMap }
Left inverse to a continuous map from a homeomorphism, mirroring Equiv.symm_comp_self.
Right inverse to a continuous map from a homeomorphism, mirroring Equiv.self_comp_symm.