File: Mathlib/Topology/Hom/Open.lean

full_name: ContinuousOpenMap
code: /-- The type of continuous open maps from `α` to `β`, aka Priestley homomorphisms. -/
structure ContinuousOpenMap (α β : Type*) [TopologicalSpace α] [TopologicalSpace β] extends
  ContinuousMap α β where
  map_open' : IsOpenMap toFun
goal: Type (max u_6 u_7)

full_name: ContinuousOpenMap.map_open'
code: /-- The type of continuous open maps from `α` to `β`, aka Priestley homomorphisms. -/
structure ContinuousOpenMap (α β : Type*) [TopologicalSpace α] [TopologicalSpace β] extends
  ContinuousMap α β where
  map_open' : IsOpenMap toFun
goal: IsOpenMap self.toFun

full_name: «_aux_Mathlib_Topology_Hom_Open___macroRules_term_→CO__1»
code: infixr:25 " →CO " => ContinuousOpenMap
goal: Lean.Macro

full_name: _aux_Mathlib_Topology_Hom_Open___unexpand_ContinuousOpenMap_1
code: infixr:25 " →CO " => ContinuousOpenMap
goal: Lean.PrettyPrinter.Unexpander

full_name: ContinuousOpenMapClass
code: /-- `ContinuousOpenMapClass F α β` states that `F` is a type of continuous open maps.

You should extend this class when you extend `ContinuousOpenMap`. -/
class ContinuousOpenMapClass (F : Type*) (α β : outParam Type*) [TopologicalSpace α]
  [TopologicalSpace β] [FunLike F α β] extends ContinuousMapClass F α β : Prop where
  map_open (f : F) : IsOpenMap f
goal: Prop

full_name: ContinuousOpenMapClass.map_open
code: /-- `ContinuousOpenMapClass F α β` states that `F` is a type of continuous open maps.

You should extend this class when you extend `ContinuousOpenMap`. -/
class ContinuousOpenMapClass (F : Type*) (α β : outParam Type*) [TopologicalSpace α]
  [TopologicalSpace β] [FunLike F α β] extends ContinuousMapClass F α β : Prop where
  map_open (f : F) : IsOpenMap f
goal: IsOpenMap ⇑f

full_name: instCoeTCContinuousOpenMapOfContinuousOpenMapClass
code: instance [TopologicalSpace α] [TopologicalSpace β] [FunLike F α β]
    [ContinuousOpenMapClass F α β] :
    CoeTC F (α →CO β) 
goal: CoeTC F (α →CO β)

full_name: ContinuousOpenMap.instFunLike
code: instance instFunLike : FunLike (α →CO β) α β 
goal: FunLike (α →CO β) α β

full_name: ContinuousOpenMap.instContinuousOpenMapClass
code: instance : ContinuousOpenMapClass (α →CO β) α β 
goal: ContinuousOpenMapClass (α →CO β) α β

full_name: ContinuousOpenMap.toFun_eq_coe
code: theorem toFun_eq_coe {f : α →CO β} : f.toFun = (f : α → β) 
goal: f.toFun = ⇑f

full_name: ContinuousOpenMap.coe_toContinuousMap
code: @[simp] -- Porting note: new, simpNF of `toFun_eq_coe`
theorem coe_toContinuousMap (f : α →CO β) : (f.toContinuousMap : α → β) = f 
goal: ⇑f.toContinuousMap = ⇑f

full_name: ContinuousOpenMap.ext
code: @[ext]
theorem ext {f g : α →CO β} (h : ∀ a, f a = g a) : f = g 
goal: f = g

full_name: ContinuousOpenMap.copy
code: /-- Copy of a `ContinuousOpenMap` with a new `ContinuousMap` equal to the old one. Useful to fix
definitional equalities. -/
protected def copy (f : α →CO β) (f' : α → β) (h : f' = f) : α →CO β 
goal: α →CO β

full_name: ContinuousOpenMap.coe_copy
code: @[simp]
theorem coe_copy (f : α →CO β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' 
goal: ⇑(f.copy f' h) = f'

full_name: ContinuousOpenMap.copy_eq
code: theorem copy_eq (f : α →CO β) (f' : α → β) (h : f' = f) : f.copy f' h = f 
goal: f.copy f' h = f

full_name: ContinuousOpenMap.id
code: /-- `id` as a `ContinuousOpenMap`. -/
protected def id : α →CO α 
goal: α →CO α

full_name: ContinuousOpenMap.instInhabited
code: instance : Inhabited (α →CO α) 
goal: Inhabited (α →CO α)

full_name: ContinuousOpenMap.coe_id
code: @[simp]
theorem coe_id : ⇑(ContinuousOpenMap.id α) = id 
goal: ⇑(ContinuousOpenMap.id α) = id

full_name: ContinuousOpenMap.id_apply
code: @[simp]
theorem id_apply (a : α) : ContinuousOpenMap.id α a = a 
goal: (ContinuousOpenMap.id α) a = a

full_name: ContinuousOpenMap.comp
code: /-- Composition of `ContinuousOpenMap`s as a `ContinuousOpenMap`. -/
def comp (f : β →CO γ) (g : α →CO β) : ContinuousOpenMap α γ 
goal: α →CO γ

full_name: ContinuousOpenMap.coe_comp
code: @[simp]
theorem coe_comp (f : β →CO γ) (g : α →CO β) : (f.comp g : α → γ) = f ∘ g 
goal: ⇑(f.comp g) = ⇑f ∘ ⇑g

full_name: ContinuousOpenMap.comp_apply
code: @[simp]
theorem comp_apply (f : β →CO γ) (g : α →CO β) (a : α) : (f.comp g) a = f (g a) 
goal: (f.comp g) a = f (g a)

full_name: ContinuousOpenMap.comp_assoc
code: @[simp]
theorem comp_assoc (f : γ →CO δ) (g : β →CO γ) (h : α →CO β) :
    (f.comp g).comp h = f.comp (g.comp h) 
goal: (f.comp g).comp h = f.comp (g.comp h)

full_name: ContinuousOpenMap.comp_id
code: @[simp]
theorem comp_id (f : α →CO β) : f.comp (ContinuousOpenMap.id α) = f 
goal: f.comp (ContinuousOpenMap.id α) = f

full_name: ContinuousOpenMap.id_comp
code: @[simp]
theorem id_comp (f : α →CO β) : (ContinuousOpenMap.id β).comp f = f 
goal: (ContinuousOpenMap.id β).comp f = f

full_name: ContinuousOpenMap.cancel_right
code: @[simp]
theorem cancel_right {g₁ g₂ : β →CO γ} {f : α →CO β} (hf : Surjective f) :
    g₁.comp f = g₂.comp f ↔ g₁ = g₂ 
goal: g₁.comp f = g₂.comp f ↔ g₁ = g₂

full_name: ContinuousOpenMap.cancel_left
code: @[simp]
theorem cancel_left {g : β →CO γ} {f₁ f₂ : α →CO β} (hg : Injective g) :
    g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ 
goal: g.comp f₁ = g.comp f₂ ↔ f₁ = f₂