Skip to content

Commit 8cab065

Browse files
committed
chore(CategoryTheory): add IsRegularEpi.of_epi_of_exists and IsRegularEpi.exists_of_isKernelPair (#35862)
From Proetale.
1 parent 1c9a955 commit 8cab065

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

Mathlib/CategoryTheory/Limits/Shapes/KernelPair.lean

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,4 +229,9 @@ theorem of_hasPullback (f : X ⟶ Y) [HasPullback f f] :
229229

230230
end IsKernelPair
231231

232+
lemma IsRegularEpi.exists_of_isKernelPair {X Y : C} (π : X ⟶ Y) [IsRegularEpi π] {Z : C}
233+
{fst snd : Z ⟶ X} (h : IsKernelPair π fst snd) {W : C} (f : X ⟶ W) (w : fst ≫ f = snd ≫ f) :
234+
∃ (g : Y ⟶ W), π ≫ g = f :=
235+
⟨h.toCoequalizer'.desc (Cofork.ofπ f w), Cofork.IsColimit.π_desc h.toCoequalizer'⟩
236+
232237
end CategoryTheory

Mathlib/CategoryTheory/Limits/Shapes/RegularMono.lean

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,15 @@ def regularEpiOfKernelPair {B X : C} (f : X ⟶ B) [HasPullback f f]
449449
w := pullback.condition
450450
isColimit := hc
451451

452+
lemma IsRegularEpi.of_epi_of_exists {X B : C} {f : X ⟶ B} [HasPullback f f] [Epi f]
453+
(h : ∀ ⦃Z : C⦄ ⦃g : X ⟶ Z⦄, pullback.fst f f ≫ g = pullback.snd f f ≫ g →
454+
∃ (u : B ⟶ Z), f ≫ u = g) :
455+
IsRegularEpi f := by
456+
refine ⟨⟨regularEpiOfKernelPair _ <| Cofork.IsColimit.mk' _ fun s ↦ ?_⟩⟩
457+
choose g hg using h s.condition
458+
refine ⟨g, hg, fun hm ↦ ?_⟩
459+
rwa [← cancel_epi f, hg]
460+
452461
/-- The data of an `EffectiveEpi` structure on a `RegularEpi`. -/
453462
def effectiveEpiStructOfRegularEpi {B X : C} {f : X ⟶ B} (hf : RegularEpi f) :
454463
EffectiveEpiStruct f where

0 commit comments

Comments
 (0)