Skip to content

Commit ca55add

Browse files
feat(Mathlib/CategoryTheory/EffectiveEpi/Types): Effective epi in types (#29958)
This PR characterizes effective epimorphisms in the category `Type u`, proving that a function of types is an effective epimorphism if and only if it is surjective. The main results: `regularEpi_iff_surjective`: A function f : `X → Y` in `Type u` is a regular epimorphism if and only if it is surjective. `effectiveEpi_iff_surjective`: A function f : `X → Y` in `Type u` is an effective epimorphism if and only if it is surjective.
1 parent cb7170f commit ca55add

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Mathlib/CategoryTheory/Types/Basic.lean

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Stephen Morgan, Kim Morrison, Johannes Hölzl
55
-/
66
import Mathlib.CategoryTheory.EpiMono
7-
import Mathlib.CategoryTheory.Functor.FullyFaithful
87
import Mathlib.Data.Set.CoeSort
98
import Mathlib.Tactic.PPWithUniv
109
import Mathlib.Tactic.ToAdditive
@@ -358,6 +357,11 @@ instance : SplitEpiCategory (Type u) where
358357
{ section_ := Function.surjInv <| (epi_iff_surjective f).1 hf
359358
id := funext <| Function.rightInverse_surjInv <| (epi_iff_surjective f).1 hf }
360359

360+
theorem isSplitEpi_iff_surjective {X Y : Type u} (f : X ⟶ Y) :
361+
IsSplitEpi f ↔ Function.Surjective f :=
362+
Iff.intro (fun _ => surjective_of_epi _)
363+
fun hf => (by simp only [(epi_iff_surjective f).mpr hf, isSplitEpi_of_epi])
364+
361365
end CategoryTheory
362366

363367
-- We prove `equivIsoIso` and then use that to sneakily construct `equivEquivIso`.

0 commit comments

Comments
 (0)