# Cocompact continuous maps #

The type of cocompact continuous maps are those which tend to the cocompact filter on the codomain along the cocompact filter on the domain. When the domain and codomain are Hausdorff, this is equivalent to many other conditions, including that preimages of compact sets are compact.

### Cocompact continuous maps #

structure CocompactMap (α : Type u) (β : Type v) [] [] extends :
Type (max u v)

A cocompact continuous map is a continuous function between topological spaces which tends to the cocompact filter along the cocompact filter. Functions for which preimages of compact sets are compact always satisfy this property, and the converse holds for cocompact continuous maps when the codomain is Hausdorff (see CocompactMap.tendsto_of_forall_preimage and CocompactMap.isCompact_preimage).

Cocompact maps thus generalise proper maps, with which they correspond when the codomain is Hausdorff.

• toFun : αβ
• continuous_toFun : Continuous self.toFun
• cocompact_tendsto' : Filter.Tendsto self.toFun () ()

The cocompact filter on α tends to the cocompact filter on β under the function

Instances For
theorem CocompactMap.cocompact_tendsto' {α : Type u} {β : Type v} [] [] (self : ) :
Filter.Tendsto self.toFun () ()

The cocompact filter on α tends to the cocompact filter on β under the function

class CocompactMapClass (F : Type u_1) (α : outParam (Type u_2)) (β : outParam (Type u_3)) [] [] [FunLike F α β] extends :

CocompactMapClass F α β states that F is a type of cocompact continuous maps.

You should also extend this typeclass when you extend CocompactMap.

• map_continuous : ∀ (f : F),
• cocompact_tendsto : ∀ (f : F), Filter.Tendsto (f) () ()

The cocompact filter on α tends to the cocompact filter on β under the function

Instances
theorem CocompactMapClass.cocompact_tendsto {F : Type u_1} {α : outParam (Type u_2)} {β : outParam (Type u_3)} [] [] [FunLike F α β] [self : ] (f : F) :
Filter.Tendsto (f) () ()

The cocompact filter on α tends to the cocompact filter on β under the function

def CocompactMapClass.toCocompactMap {F : Type u_1} {α : Type u_2} {β : Type u_3} [] [] [FunLike F α β] [] (f : F) :

Turn an element of a type F satisfying CocompactMapClass F α β into an actual CocompactMap. This is declared as the default coercion from F to CocompactMap α β.

Equations
• f = let __src := f; { toContinuousMap := __src, cocompact_tendsto' := }
Instances For
instance CocompactMapClass.instCoeTCCocompactMap {F : Type u_1} {α : Type u_2} {β : Type u_3} [] [] [FunLike F α β] [] :
CoeTC F ()
Equations
• CocompactMapClass.instCoeTCCocompactMap = { coe := CocompactMapClass.toCocompactMap }
instance CocompactMap.instFunLike {α : Type u_1} {β : Type u_2} [] [] :
FunLike () α β
Equations
• CocompactMap.instFunLike = { coe := fun (f : ) => f.toFun, coe_injective' := }
instance CocompactMap.instCocompactMapClass {α : Type u_1} {β : Type u_2} [] [] :
Equations
• =
@[simp]
theorem CocompactMap.coe_toContinuousMap {α : Type u_1} {β : Type u_2} [] [] {f : } :
f.toContinuousMap = f
theorem CocompactMap.ext {α : Type u_1} {β : Type u_2} [] [] {f : } {g : } (h : ∀ (x : α), f x = g x) :
f = g
def CocompactMap.copy {α : Type u_1} {β : Type u_2} [] [] (f : ) (f' : αβ) (h : f' = f) :

Copy of a CocompactMap with a new toFun equal to the old one. Useful to fix definitional equalities.

Equations
• f.copy f' h = { toFun := f', continuous_toFun := , cocompact_tendsto' := }
Instances For
@[simp]
theorem CocompactMap.coe_copy {α : Type u_1} {β : Type u_2} [] [] (f : ) (f' : αβ) (h : f' = f) :
(f.copy f' h) = f'
theorem CocompactMap.copy_eq {α : Type u_1} {β : Type u_2} [] [] (f : ) (f' : αβ) (h : f' = f) :
f.copy f' h = f
@[simp]
theorem CocompactMap.coe_mk {α : Type u_1} {β : Type u_2} [] [] (f : C(α, β)) (h : Filter.Tendsto (f) () ()) :
{ toContinuousMap := f, cocompact_tendsto' := h } = f
def CocompactMap.id (α : Type u_1) [] :

The identity as a cocompact continuous map.

Equations
• = { toContinuousMap := , cocompact_tendsto' := }
Instances For
@[simp]
theorem CocompactMap.coe_id (α : Type u_1) [] :
() = id
instance CocompactMap.instInhabited {α : Type u_1} [] :
Equations
• CocompactMap.instInhabited = { default := }
def CocompactMap.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [] [] [] (f : ) (g : ) :

The composition of cocompact continuous maps, as a cocompact continuous map.

Equations
• f.comp g = { toContinuousMap := f.comp g, cocompact_tendsto' := }
Instances For
@[simp]
theorem CocompactMap.coe_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [] [] [] (f : ) (g : ) :
(f.comp g) = f g
@[simp]
theorem CocompactMap.comp_apply {α : Type u_1} {β : Type u_2} {γ : Type u_3} [] [] [] (f : ) (g : ) (a : α) :
(f.comp g) a = f (g a)
@[simp]
theorem CocompactMap.comp_assoc {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} [] [] [] [] (f : ) (g : ) (h : ) :
(f.comp g).comp h = f.comp (g.comp h)
@[simp]
theorem CocompactMap.id_comp {α : Type u_1} {β : Type u_2} [] [] (f : ) :
().comp f = f
@[simp]
theorem CocompactMap.comp_id {α : Type u_1} {β : Type u_2} [] [] (f : ) :
f.comp () = f
theorem CocompactMap.tendsto_of_forall_preimage {α : Type u_1} {β : Type u_2} [] [] {f : αβ} (h : ∀ (s : Set β), IsCompact (f ⁻¹' s)) :
theorem CocompactMap.isCompact_preimage {α : Type u_1} {β : Type u_2} [] [] [] (f : ) ⦃s : Set β (hs : ) :
IsCompact (f ⁻¹' s)

If the codomain is Hausdorff, preimages of compact sets are compact under a cocompact continuous map.

@[simp]
theorem Homeomorph.toCocompactMap_toFun {α : Type u_1} {β : Type u_2} [] [] (f : α ≃ₜ β) (a : α) :
f.toCocompactMap a = f a
def Homeomorph.toCocompactMap {α : Type u_1} {β : Type u_2} [] [] (f : α ≃ₜ β) :

A homeomorphism is a cocompact map.

Equations
• f.toCocompactMap = { toFun := f, continuous_toFun := , cocompact_tendsto' := }
Instances For