File: Mathlib/Topology/Category/UniformSpace.lean

full_name: UniformSpaceCat
code: /-- A (bundled) uniform space. -/
def UniformSpaceCat : Type (u + 1) 
goal: Type (u + 1)

full_name: UniformSpaceCat.instUnbundledHomUniformSpaceUniformContinuous
code: /-- The information required to build morphisms for `UniformSpace`. -/
instance : UnbundledHom @UniformContinuous 
goal: CategoryTheory.UnbundledHom @UniformContinuous

full_name: UniformSpaceCat.instConcreteCategory
code: instance : ConcreteCategory UniformSpaceCat 
goal: CategoryTheory.ConcreteCategory UniformSpaceCat

full_name: UniformSpaceCat.instCoeSortType
code: instance : CoeSort UniformSpaceCat Type* 
goal: CoeSort UniformSpaceCat (Type u_1)

full_name: UniformSpaceCat.instUniformSpaceα
code: instance (x : UniformSpaceCat) : UniformSpace x 
goal: UniformSpace ↑x

full_name: UniformSpaceCat.of
code: /-- Construct a bundled `UniformSpace` from the underlying type and the typeclass. -/
def of (α : Type u) [UniformSpace α] : UniformSpaceCat 
goal: UniformSpaceCat

full_name: UniformSpaceCat.instInhabited
code: instance : Inhabited UniformSpaceCat 
goal: Inhabited UniformSpaceCat

full_name: UniformSpaceCat.coe_of
code: @[simp]
theorem coe_of (X : Type u) [UniformSpace X] : (of X : Type u) = X 
goal: ↑(UniformSpaceCat.of X) = X

full_name: UniformSpaceCat.instCoeFunHomForallαUniformSpace
code: instance (X Y : UniformSpaceCat) : CoeFun (X ⟶ Y) fun _ => X → Y 
goal: CoeFun (X ⟶ Y) fun x => ↑X → ↑Y

full_name: UniformSpaceCat.coe_comp
code: @[simp]
theorem coe_comp {X Y Z : UniformSpaceCat} (f : X ⟶ Y) (g : Y ⟶ Z) : (f ≫ g : X → Z) = g ∘ f 
goal: (CategoryTheory.forget UniformSpaceCat).map (f ≫ g) =
  (CategoryTheory.forget UniformSpaceCat).map g ∘ (CategoryTheory.forget UniformSpaceCat).map f

full_name: UniformSpaceCat.coe_id
code: @[simp]
theorem coe_id (X : UniformSpaceCat) : (𝟙 X : X → X) = id 
goal: (CategoryTheory.forget UniformSpaceCat).map (𝟙 X) = id

full_name: UniformSpaceCat.coe_mk
code: theorem coe_mk {X Y : UniformSpaceCat} (f : X → Y) (hf : UniformContinuous f) :
    ((⟨f, hf⟩ : X ⟶ Y) : X → Y) = f 
goal: ↑⟨f, hf⟩ = f

full_name: UniformSpaceCat.hom_ext
code: theorem hom_ext {X Y : UniformSpaceCat} {f g : X ⟶ Y} : (f : X → Y) = g → f = g 
goal: (CategoryTheory.forget UniformSpaceCat).map f = (CategoryTheory.forget UniformSpaceCat).map g → f = g

full_name: UniformSpaceCat.hasForgetToTop
code: /-- The forgetful functor from uniform spaces to topological spaces. -/
instance hasForgetToTop : HasForget₂ UniformSpaceCat.{u} TopCat.{u} 
goal: CategoryTheory.HasForget₂ UniformSpaceCat TopCat

full_name: CpltSepUniformSpace.isUniformSpace
code: /-- A (bundled) complete separated uniform space. -/
structure CpltSepUniformSpace where
  /-- The underlying space -/
  α : Type u
  [isUniformSpace : UniformSpace α]
  [isCompleteSpace : CompleteSpace α]
  [isT0 : T0Space α]
goal: UniformSpace self.α

full_name: CpltSepUniformSpace.α
code: /-- A (bundled) complete separated uniform space. -/
structure CpltSepUniformSpace where
  /-- The underlying space -/
  α : Type u
  [isUniformSpace : UniformSpace α]
  [isCompleteSpace : CompleteSpace α]
  [isT0 : T0Space α]
goal: Type u

full_name: CpltSepUniformSpace
code: /-- A (bundled) complete separated uniform space. -/
structure CpltSepUniformSpace where
  /-- The underlying space -/
  α : Type u
  [isUniformSpace : UniformSpace α]
  [isCompleteSpace : CompleteSpace α]
  [isT0 : T0Space α]
goal: Type (u + 1)

full_name: CpltSepUniformSpace.isCompleteSpace
code: /-- A (bundled) complete separated uniform space. -/
structure CpltSepUniformSpace where
  /-- The underlying space -/
  α : Type u
  [isUniformSpace : UniformSpace α]
  [isCompleteSpace : CompleteSpace α]
  [isT0 : T0Space α]
goal: CompleteSpace self.α

full_name: CpltSepUniformSpace.isT0
code: /-- A (bundled) complete separated uniform space. -/
structure CpltSepUniformSpace where
  /-- The underlying space -/
  α : Type u
  [isUniformSpace : UniformSpace α]
  [isCompleteSpace : CompleteSpace α]
  [isT0 : T0Space α]
goal: T0Space self.α

full_name: CpltSepUniformSpace.instCoeSortType
code: instance : CoeSort CpltSepUniformSpace (Type u) 
goal: CoeSort CpltSepUniformSpace (Type u)

full_name: CpltSepUniformSpace.toUniformSpace
code: /-- The function forgetting that a complete separated uniform spaces is complete and separated. -/
def toUniformSpace (X : CpltSepUniformSpace) : UniformSpaceCat 
goal: UniformSpaceCat

full_name: CpltSepUniformSpace.completeSpace
code: instance completeSpace (X : CpltSepUniformSpace) : CompleteSpace (toUniformSpace X).α 
goal: CompleteSpace ↑X.toUniformSpace

full_name: CpltSepUniformSpace.t0Space
code: instance t0Space (X : CpltSepUniformSpace) : T0Space (toUniformSpace X).α 
goal: T0Space ↑X.toUniformSpace

full_name: CpltSepUniformSpace.of
code: /-- Construct a bundled `UniformSpace` from the underlying type and the appropriate typeclasses. -/
def of (X : Type u) [UniformSpace X] [CompleteSpace X] [T0Space X] : CpltSepUniformSpace 
goal: CpltSepUniformSpace

full_name: CpltSepUniformSpace.coe_of
code: @[simp]
theorem coe_of (X : Type u) [UniformSpace X] [CompleteSpace X] [T0Space X] :
    (of X : Type u) = X 
goal: (CpltSepUniformSpace.of X).α = X

full_name: CpltSepUniformSpace.instInhabited
code: instance : Inhabited CpltSepUniformSpace 
goal: Inhabited CpltSepUniformSpace

full_name: CpltSepUniformSpace.category
code: /-- The category instance on `CpltSepUniformSpace`. -/
instance category : LargeCategory CpltSepUniformSpace 
goal: CategoryTheory.LargeCategory CpltSepUniformSpace

full_name: CpltSepUniformSpace.concreteCategory
code: /-- The concrete category instance on `CpltSepUniformSpace`. -/
instance concreteCategory : ConcreteCategory CpltSepUniformSpace 
goal: CategoryTheory.ConcreteCategory CpltSepUniformSpace

full_name: CpltSepUniformSpace.hasForgetToUniformSpace
code: instance hasForgetToUniformSpace : HasForget₂ CpltSepUniformSpace UniformSpaceCat 
goal: CategoryTheory.HasForget₂ CpltSepUniformSpace UniformSpaceCat

full_name: UniformSpaceCat.completionFunctor
code: /-- The functor turning uniform spaces into complete separated uniform spaces. -/
noncomputable def completionFunctor : UniformSpaceCat ⥤ CpltSepUniformSpace 
goal: UniformSpaceCat ⥤ CpltSepUniformSpace

full_name: UniformSpaceCat.completionHom
code: /-- The inclusion of a uniform space into its completion. -/
def completionHom (X : UniformSpaceCat) :
    X ⟶ (forget₂ CpltSepUniformSpace UniformSpaceCat).obj (completionFunctor.obj X) 
goal: X ⟶ (CategoryTheory.forget₂ CpltSepUniformSpace UniformSpaceCat).obj (UniformSpaceCat.completionFunctor.obj X)

full_name: UniformSpaceCat.completionHom_val
code: @[simp]
theorem completionHom_val (X : UniformSpaceCat) (x) : (completionHom X) x = (x : Completion X) 
goal: (CategoryTheory.forget UniformSpaceCat).map X.completionHom x = ↑((CategoryTheory.forget UniformSpaceCat).obj X) x

full_name: UniformSpaceCat.extensionHom
code: /-- The mate of a morphism from a `UniformSpace` to a `CpltSepUniformSpace`. -/
noncomputable def extensionHom {X : UniformSpaceCat} {Y : CpltSepUniformSpace}
    (f : X ⟶ (forget₂ CpltSepUniformSpace UniformSpaceCat).obj Y) :
    completionFunctor.obj X ⟶ Y 
goal: UniformSpaceCat.completionFunctor.obj X ⟶ Y

full_name: UniformSpaceCat.instUniformSpaceObjForget
code: instance (X : UniformSpaceCat) : UniformSpace ((forget _).obj X) 
goal: UniformSpace ((CategoryTheory.forget UniformSpaceCat).obj X)

full_name: UniformSpaceCat.extensionHom_val
code: @[simp]
theorem extensionHom_val {X : UniformSpaceCat} {Y : CpltSepUniformSpace}
    (f : X ⟶ (forget₂ _ _).obj Y) (x) : (extensionHom f) x = Completion.extension f x 
goal: (UniformSpaceCat.extensionHom f) x = UniformSpace.Completion.extension ((CategoryTheory.forget UniformSpaceCat).map f) x

full_name: UniformSpaceCat.extension_comp_coe
code: @[simp]
theorem extension_comp_coe {X : UniformSpaceCat} {Y : CpltSepUniformSpace}
    (f : toUniformSpace (CpltSepUniformSpace.of (Completion X)) ⟶ toUniformSpace Y) :
    extensionHom (completionHom X ≫ f) = f 
goal: UniformSpaceCat.extensionHom (X.completionHom ≫ f) = f

full_name: UniformSpaceCat.adj
code: /-- The completion functor is left adjoint to the forgetful functor. -/
noncomputable def adj : completionFunctor ⊣ forget₂ CpltSepUniformSpace UniformSpaceCat 
goal: UniformSpaceCat.completionFunctor ⊣ CategoryTheory.forget₂ CpltSepUniformSpace UniformSpaceCat

full_name: UniformSpaceCat.instReflectiveCpltSepUniformSpaceForget₂
code: noncomputable instance : Reflective (forget₂ CpltSepUniformSpace UniformSpaceCat) 
goal: CategoryTheory.Reflective (CategoryTheory.forget₂ CpltSepUniformSpace UniformSpaceCat)