Skip to content

Commit c7113cf

Browse files
refactor(CategoryTheory/Limits/Shapes/Kernels): define zeroKernelFork using KernelFork.ofι (#36409)
I think this is a more natural definition with better defeqs.
1 parent 3741129 commit c7113cf

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -495,9 +495,12 @@ variable [HasZeroObject C]
495495
open ZeroObject
496496

497497
/-- The morphism from the zero object determines a cone on a kernel diagram -/
498-
def kernel.zeroKernelFork : KernelFork f where
499-
pt := 0
500-
π := { app := fun _ => 0 }
498+
@[simps! pt]
499+
def kernel.zeroKernelFork : KernelFork f :=
500+
KernelFork.ofι (0 : 0 ⟶ X) zero_comp
501+
502+
@[simp]
503+
lemma kernel.zeroKernelFork_ι : (kernel.zeroKernelFork f).ι = 0 := rfl
501504

502505
/-- The map from the zero object is a kernel of a monomorphism -/
503506
def kernel.isLimitConeZeroCone [Mono f] : IsLimit (kernel.zeroKernelFork f) :=
@@ -1025,9 +1028,12 @@ variable [HasZeroObject C]
10251028
open ZeroObject
10261029

10271030
/-- The morphism to the zero object determines a cocone on a cokernel diagram -/
1028-
def cokernel.zeroCokernelCofork : CokernelCofork f where
1029-
pt := 0
1030-
ι := { app := fun _ => 0 }
1031+
@[simps! pt]
1032+
def cokernel.zeroCokernelCofork : CokernelCofork f :=
1033+
CokernelCofork.ofπ (0 : Y ⟶ 0) comp_zero
1034+
1035+
@[simp]
1036+
lemma cokernel.zeroCokernelCofork_π : (cokernel.zeroCokernelCofork f).π = 0 := rfl
10311037

10321038
set_option backward.isDefEq.respectTransparency false in
10331039
/-- The morphism to the zero object is a cokernel of an epimorphism -/

0 commit comments

Comments
 (0)