Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(topology/category/Locale): The category of locales (#12580)
Define `Locale`, the category of locales, as the opposite of `Frame`.
- Loading branch information
1 parent
96bae07
commit 5a9fb92
Showing
3 changed files
with
64 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
/- | ||
Copyright (c) 2022 Yaël Dillies. All rights reserved. | ||
Released under Apache 2.0 license as described in the file LICENSE. | ||
Authors: Yaël Dillies | ||
-/ | ||
import order.category.Frame | ||
|
||
/-! | ||
# The category of locales | ||
This file defines `Locale`, the category of locales. This is the opposite of the category of frames. | ||
-/ | ||
|
||
universes u | ||
|
||
open category_theory opposite order topological_space | ||
|
||
/-- The category of locales. -/ | ||
@[derive large_category] def Locale := Frameᵒᵖ | ||
|
||
namespace Locale | ||
|
||
instance : has_coe_to_sort Locale Type* := ⟨λ X, X.unop⟩ | ||
instance (X : Locale) : frame X := X.unop.str | ||
|
||
/-- Construct a bundled `Locale` from a `frame`. -/ | ||
def of (α : Type*) [frame α] : Locale := op $ Frame.of α | ||
|
||
@[simp] lemma coe_of (α : Type*) [frame α] : ↥(of α) = α := rfl | ||
|
||
instance : inhabited Locale := ⟨of punit⟩ | ||
|
||
end Locale | ||
|
||
/-- The forgetful functor from `Top` to `Locale` which forgets that the space has "enough points". | ||
-/ | ||
@[simps] def Top_to_Locale : Top ⥤ Locale := Top_op_to_Frame.right_op | ||
|
||
-- Note, `CompHaus` is too strong. We only need `t0_space`. | ||
instance CompHaus_to_Locale.faithful : faithful (CompHaus_to_Top ⋙ Top_to_Locale.{u}) := | ||
⟨λ X Y f g h, by { dsimp at h, exact opens.comap_injective (quiver.hom.op_inj h) }⟩ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters