File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed
Mathlib/CategoryTheory/Limits/Shapes Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -229,4 +229,9 @@ theorem of_hasPullback (f : X ⟶ Y) [HasPullback f f] :
229229
230230end 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+
232237end CategoryTheory
Original file line number Diff line number Diff 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`. -/
453462def effectiveEpiStructOfRegularEpi {B X : C} {f : X ⟶ B} (hf : RegularEpi f) :
454463 EffectiveEpiStruct f where
You can’t perform that action at this time.
0 commit comments