Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
5eb1c0b
initial
jjaassoonn Jun 13, 2022
df25067
finished epi
jjaassoonn Jun 13, 2022
99553bd
add to_additive
jjaassoonn Jun 13, 2022
793b87b
add doc_string
jjaassoonn Jun 13, 2022
d80df7f
generalize
jjaassoonn Jun 15, 2022
9a7d5c9
add to_addtive
jjaassoonn Jun 15, 2022
5170d98
remove noncomputable
jjaassoonn Jun 15, 2022
370c5f3
minor golf
jjaassoonn Jun 15, 2022
29808f5
minimize import
jjaassoonn Jun 15, 2022
4640408
golf
jjaassoonn Jun 17, 2022
697ddd9
golf
jjaassoonn Jun 17, 2022
c605b39
golf
jjaassoonn Jun 17, 2022
e1d1cf8
golf
jjaassoonn Jun 17, 2022
bf97e8b
golf a little bit more
jjaassoonn Jun 17, 2022
1f73f52
Merge remote-tracking branch 'origin/master' into jjaassoonn/group_ep…
jjaassoonn Jul 17, 2022
4b3cc16
apply suggestion and fix
jjaassoonn Jul 17, 2022
f21bd67
Update src/algebra/category/Group/epi_mono.lean
jjaassoonn Jul 18, 2022
7b39fcd
Update src/algebra/category/Group/epi_mono.lean
jjaassoonn Jul 18, 2022
c039b7d
Update src/algebra/category/Group/epi_mono.lean
jjaassoonn Jul 18, 2022
ef6a749
Update src/algebra/category/Group/epi_mono.lean
jjaassoonn Jul 18, 2022
677d542
Update src/algebra/category/Group/epi_mono.lean
jjaassoonn Jul 18, 2022
02c7601
Update src/algebra/category/Group/epi_mono.lean
jjaassoonn Jul 18, 2022
99d2945
Update src/algebra/category/Group/epi_mono.lean
jjaassoonn Jul 18, 2022
5fd7529
Update src/algebra/category/Group/epi_mono.lean
jjaassoonn Jul 18, 2022
0d8ea15
add `noncomputable`
jjaassoonn Jul 18, 2022
e6d4741
Merge branch 'jjaassoonn/group_epi_mono' of https://github.com/leanpr…
jjaassoonn Jul 18, 2022
c199b07
reformat
jjaassoonn Jul 18, 2022
f82ff81
initial
jjaassoonn Jul 18, 2022
5cdf35f
Merge remote-tracking branch 'origin/jjaassoonn/group_epi_mono' into …
jjaassoonn Jul 18, 2022
dab193b
add missing
jjaassoonn Jul 18, 2022
38ba5c9
add docs
jjaassoonn Jul 18, 2022
68b3523
fix linter error
jjaassoonn Jul 18, 2022
c2f9119
fix doc_blame error
jjaassoonn Jul 18, 2022
0ce5f68
Merge remote-tracking branch 'origin/master' into jjaassoonn/equiv_Gr…
jjaassoonn Jul 19, 2022
ff66715
fix after merge master
jjaassoonn Jul 19, 2022
8af22a9
need cache
jjaassoonn Jul 27, 2022
3f98b72
calculating stalk
jjaassoonn Jul 28, 2022
5d79d13
add doc
jjaassoonn Jul 28, 2022
eb70d55
add doc
jjaassoonn Jul 28, 2022
b3fd04e
add an alternative formualtion
jjaassoonn Jul 31, 2022
987b81f
fix
jjaassoonn Jul 31, 2022
942d9e9
use specializes notation
jjaassoonn Jul 31, 2022
0a3f9d0
add documentation
Aug 1, 2022
b16682a
adjoint: stalk functor and skyscraper functor
Aug 2, 2022
01d6a97
save for now
Aug 2, 2022
6e6a077
skyscraper sheaf in Ab is injective when S is inj
Aug 2, 2022
117fe37
Apply suggestions from code review
jjaassoonn Aug 4, 2022
92d917f
apply suggestion
jjaassoonn Aug 4, 2022
5630ac8
fix
jjaassoonn Aug 4, 2022
aa6b2d4
fix
jjaassoonn Aug 4, 2022
40e544e
apply change
jjaassoonn Aug 7, 2022
31d54de
Update src/algebra/category/Group/epi_mono.lean
jjaassoonn Aug 7, 2022
e305717
reorder import
jjaassoonn Aug 7, 2022
f195f1b
Merge branch 'jjaassoonn/equiv_Group_AddGroup' of https://github.com/…
jjaassoonn Aug 7, 2022
319101d
initial
jjaassoonn Aug 8, 2022
8f981a6
fix loop
jjaassoonn Aug 8, 2022
f1aefb7
Merge remote-tracking branch 'origin/jjaassoonn/epi_mono_sheaves' int…
jjaassoonn Aug 8, 2022
ab9b342
Merge branch 'jjaassoonn/sky' of https://github.com/leanprover-commun…
jjaassoonn Aug 8, 2022
47bfa23
minimize diff
jjaassoonn Aug 8, 2022
0360df7
Merge remote-tracking branch 'origin/jjaassoonn/equiv_Group_AddGroup'…
jjaassoonn Aug 8, 2022
c83f873
sorry free
jjaassoonn Aug 8, 2022
a3b397b
delete long lines
jjaassoonn Aug 8, 2022
64b245e
initial
jjaassoonn Aug 8, 2022
95a3663
move file
jjaassoonn Aug 8, 2022
93f4f21
need cache
jjaassoonn Aug 8, 2022
3c964fd
need cache
jjaassoonn Aug 10, 2022
085be8f
make it better
jjaassoonn Aug 10, 2022
c73eaa2
Merge remote-tracking branch 'origin/master' into jjaassoonn/sky
jjaassoonn Aug 15, 2022
adfff44
fix linter error
jjaassoonn Aug 15, 2022
fb707bc
fix
jjaassoonn Aug 15, 2022
aa6a325
move fiel
jjaassoonn Aug 16, 2022
c7c9f5f
move file
jjaassoonn Aug 16, 2022
8c38e63
delete unnecessary
jjaassoonn Aug 16, 2022
749f8fc
Merge remote-tracking branch 'origin/jjaassoonn/sky_def' into jjaasso…
jjaassoonn Aug 16, 2022
dc5b5d0
need cache
jjaassoonn Aug 16, 2022
2fdae17
Merge remote-tracking branch 'origin/master' into jjaassoonn/sky
jjaassoonn Aug 16, 2022
8b13323
Merge remote-tracking branch 'origin/master' into jjaassoonn/sky
jjaassoonn Aug 16, 2022
cf4bbe8
fix
jjaassoonn Aug 16, 2022
081ff84
generalize
jjaassoonn Aug 16, 2022
1cf1bbb
minimize import
jjaassoonn Aug 16, 2022
67ad634
fix
jjaassoonn Aug 16, 2022
5429253
need cache
jjaassoonn Aug 17, 2022
0dbcde2
fix and add lemma about mono in sheaves
jjaassoonn Aug 17, 2022
729c649
fixx
jjaassoonn Aug 17, 2022
ffe5571
commit
jjaassoonn Aug 17, 2022
6cfe30f
defined some auxilary isomorphism
jjaassoonn Aug 19, 2022
036fc2f
save for now
jjaassoonn Aug 19, 2022
55d4046
commit
jjaassoonn Aug 19, 2022
84c015d
save
jjaassoonn Aug 19, 2022
e941031
more api
jjaassoonn Aug 19, 2022
9857552
finish godement resolution
jjaassoonn Aug 20, 2022
ef039e9
cache
jjaassoonn Aug 21, 2022
06689d1
finish
jjaassoonn Aug 21, 2022
0295753
add some more lemma
jjaassoonn Aug 21, 2022
28dc545
add some docs
jjaassoonn Aug 21, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions src/category_theory/concrete_category/basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Authors: Scott Morrison, Johannes Hölzl, Reid Barton, Sean Leather, Yury Kudrya
-/
import category_theory.types
import category_theory.functor.epi_mono
import category_theory.limits.constructions.epi_mono

/-!
# Concrete categories
Expand Down Expand Up @@ -38,6 +39,8 @@ universes w v v' u

namespace category_theory

open category_theory.limits

/--
A concrete category is a category `C` with a fixed faithful functor `forget : C ⥤ Type`.

Expand Down Expand Up @@ -129,11 +132,37 @@ lemma concrete_category.mono_of_injective {X Y : C} (f : X ⟶ Y) (i : function.
mono f :=
(forget C).mono_of_mono_map ((mono_iff_injective f).2 i)

lemma concrete_category.injective_of_mono_of_preserves_pullback {X Y : C} (f : X ⟶ Y) [mono f]
[preserves_limits_of_shape walking_cospan (forget C)] : function.injective f :=
begin
haveI := category_theory.preserves_monomorphisms_of_preserves_limits_of_shape (forget C),
haveI : mono ((forget C).map f) := infer_instance,
exact (mono_iff_injective ((forget C).map f)).mp infer_instance,
end

lemma concrete_category.mono_iff_injective_of_preserves_pullback {X Y : C} (f : X ⟶ Y)
[preserves_limits_of_shape walking_cospan (forget C)] : mono f ↔ function.injective f :=
⟨λ m, by resetI; exact concrete_category.injective_of_mono_of_preserves_pullback _,
concrete_category.mono_of_injective f⟩

/-- In any concrete category, surjective morphisms are epimorphisms. -/
lemma concrete_category.epi_of_surjective {X Y : C} (f : X ⟶ Y) (s : function.surjective f) :
epi f :=
(forget C).epi_of_epi_map ((epi_iff_surjective f).2 s)

lemma concrete_category.surjective_of_epi_of_preserves_pushout {X Y : C} (f : X ⟶ Y) [epi f]
[preserves_colimits_of_shape walking_span (forget C)] : function.surjective f :=
begin
haveI := category_theory.preserves_epimorphisms_of_preserves_colimits_of_shape (forget C),
haveI : epi ((forget C).map f) := infer_instance,
exact (epi_iff_surjective ((forget C).map f)).mp infer_instance
end

lemma concrete_category.epi_iff_surjective_of_preserves_pushout {X Y : C} (f : X ⟶ Y)
[preserves_colimits_of_shape walking_span (forget C)] : epi f ↔ function.surjective f :=
⟨λ m, @@concrete_category.surjective_of_epi_of_preserves_pushout _ _ _ m _,
concrete_category.epi_of_surjective f⟩

@[simp] lemma concrete_category.has_coe_to_fun_Type {X Y : Type u} (f : X ⟶ Y) :
coe_fn f = f :=
rfl
Expand Down
10 changes: 10 additions & 0 deletions src/category_theory/eq_to_hom.lean
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,16 @@ def eq_to_hom {X Y : C} (p : X = Y) : X ⟶ Y := by rw p; exact 𝟙 _
eq_to_hom p ≫ eq_to_hom q = eq_to_hom (p.trans q) :=
by { cases p, cases q, simp, }

lemma eq_comp_eq_to_hom {X Y Y' : C} (p : Y = Y') (f : X ⟶ Y) (g : X ⟶ Y') :
f ≫ eq_to_hom p = g ↔ f = g ≫ eq_to_hom p.symm :=
{ mp := λ h, h ▸ by simp,
mpr := λ h, by simp [eq_whisker h (eq_to_hom p)] }

lemma eq_eq_to_hom_comp {X X' Y : C} (p : X = X') (f : X ⟶ Y) (g : X' ⟶ Y) :
eq_to_hom p ≫ g = f ↔ g = eq_to_hom p.symm ≫ f :=
{ mp := λ h, h ▸ by simp,
mpr := λ h, h ▸ by simp [whisker_eq _ h] }

/--
If we (perhaps unintentionally) perform equational rewriting on
the source object of a morphism,
Expand Down
22 changes: 22 additions & 0 deletions src/category_theory/limits/shapes/products.lean
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,17 @@ from a family of morphisms between the factors.
abbreviation pi.map {f g : β → C} [has_product f] [has_product g]
(p : Π b, f b ⟶ g b) : ∏ f ⟶ ∏ g :=
lim_map (discrete.nat_trans (λ X, p X.as))

instance pi.map_mono {f g : β → C} [has_product f] [has_product g]
(p : Π b, f b ⟶ g b) [Π i, mono (p i)] : mono $ pi.map p :=
{ right_cancellation := λ c α₁ α₂ eq1,
begin
ext ⟨j⟩, dsimp,
have eq2 := eq_whisker eq1 (pi.π _ j),
rwa [category.assoc, lim_map_π, category.assoc, lim_map_π, ←category.assoc, ←category.assoc,
discrete.nat_trans_app, cancel_mono] at eq2,
end }

/--
Construct an isomorphism between categorical products (indexed by the same type)
from a family of isomorphisms between the factors.
Expand All @@ -156,6 +167,17 @@ from a family of morphisms between the factors.
abbreviation sigma.map {f g : β → C} [has_coproduct f] [has_coproduct g]
(p : Π b, f b ⟶ g b) : ∐ f ⟶ ∐ g :=
colim_map (discrete.nat_trans (λ X, p X.as))

instance sigma.map_epi {f g : β → C} [has_coproduct f] [has_coproduct g]
(p : Π b, f b ⟶ g b) [Π i, epi (p i)] : epi $ sigma.map p :=
{ left_cancellation := λ c α₁ α₂ eq1,
begin
ext ⟨j⟩, dsimp,
have eq2 := whisker_eq (sigma.ι _ j) eq1,
rwa [←category.assoc, ι_colim_map, ←category.assoc, ι_colim_map, discrete.nat_trans_app,
category.assoc, category.assoc, cancel_epi] at eq2,
end }

/--
Construct an isomorphism between categorical coproducts (indexed by the same type)
from a family of isomorphisms between the factors.
Expand Down
1 change: 1 addition & 0 deletions src/category_theory/preadditive/injective.lean
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Authors: Jujian Zhang, Kevin Buzzard

import algebra.homology.exact
import category_theory.types
import category_theory.functor.epi_mono
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why add this import without adding any content to this file?

import category_theory.preadditive.projective
import category_theory.limits.shapes.biproducts

Expand Down
Loading