Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(topology/sheaves): presheaf on indiscrete space is sheaf iff val…
…ue at empty is terminal (#16694) + Show that the indiscrete topology (⊤ : topological_space α), defined to be the topology generated by nothing, consists of exactly the empty set and the whole space. + Show that a presheaf on an indiscrete space (in particular the one point space) is a sheaf if its value at the empty set is a terminal object. + Generalize universe level in the converse `is_terminal_of_empty` (which holds for any space). Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com>
- Loading branch information
1 parent
9b1e920
commit 3a0be82
Showing
4 changed files
with
68 additions
and
1 deletion.
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
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,50 @@ | ||
/- | ||
Copyright (c) 2022 Jujian Zhang. All rights reserved. | ||
Released under Apache 2.0 license as described in the file LICENSE. | ||
Authors: Jujian Zhang | ||
-/ | ||
import topology.sheaves.sheaf_condition.sites | ||
|
||
/-! | ||
# Presheaves on punit | ||
Presheaves on punit satisfy sheaf condition iff its value at empty set is a terminal object. | ||
-/ | ||
|
||
namespace Top.presheaf | ||
|
||
universes u v w | ||
|
||
open category_theory category_theory.limits Top opposite | ||
|
||
variables {C : Type u} [category.{v} C] | ||
|
||
lemma is_sheaf_of_is_terminal_of_indiscrete {X : Top.{w}} (hind : X.str = ⊤) (F : presheaf C X) | ||
(it : is_terminal $ F.obj $ op ⊥) : F.is_sheaf := | ||
λ c U s hs, begin | ||
obtain rfl | hne := eq_or_ne U ⊥, | ||
{ intros _ _, rw @exists_unique_iff_exists _ ⟨λ _ _, _⟩, | ||
{ refine ⟨it.from _, λ U hU hs, is_terminal.hom_ext _ _ _⟩, rwa le_bot_iff.1 hU.le }, | ||
{ apply it.hom_ext } }, | ||
{ convert presieve.is_sheaf_for_top_sieve _, rw ←sieve.id_mem_iff_eq_top, | ||
have := (U.eq_bot_or_top hind).resolve_left hne, subst this, | ||
obtain he | ⟨⟨x⟩⟩ := is_empty_or_nonempty X, | ||
{ exact (hne $ topological_space.opens.ext_iff.1 $ set.univ_eq_empty_iff.2 he).elim }, | ||
obtain ⟨U, f, hf, hm⟩ := hs x trivial, | ||
obtain rfl | rfl := U.eq_bot_or_top hind, | ||
{ cases hm }, { convert hf } }, | ||
end | ||
|
||
lemma is_sheaf_iff_is_terminal_of_indiscrete {X : Top.{w}} (hind : X.str = ⊤) | ||
(F : presheaf C X) : F.is_sheaf ↔ nonempty (is_terminal $ F.obj $ op ⊥) := | ||
⟨λ h, ⟨sheaf.is_terminal_of_empty ⟨F, h⟩⟩, λ ⟨it⟩, is_sheaf_of_is_terminal_of_indiscrete hind F it⟩ | ||
|
||
lemma is_sheaf_on_punit_of_is_terminal (F : presheaf C (Top.of punit)) | ||
(it : is_terminal $ F.obj $ op ⊥) : F.is_sheaf := | ||
is_sheaf_of_is_terminal_of_indiscrete (@subsingleton.elim (topological_space punit) _ _ _) F it | ||
|
||
lemma is_sheaf_on_punit_iff_is_terminal (F : presheaf C (Top.of punit)) : | ||
F.is_sheaf ↔ nonempty (is_terminal $ F.obj $ op ⊥) := | ||
⟨λ h, ⟨sheaf.is_terminal_of_empty ⟨F, h⟩⟩, λ ⟨it⟩, is_sheaf_on_punit_of_is_terminal F it⟩ | ||
|
||
end Top.presheaf |
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