Skip to content

Commit d037624

Browse files
committed
feat(CategoryTheory/Adhesive): slices of adhesive categories are adhesive (leanprover-community#36644)
contributions: - Adhesive (Over B) instance — slices of adhesive categories are adhesive. Found it as Proposition 8(ii) of Adhesive Categories, Lack & Sobociński (2004) while researching for a project. Needed the proof so perhaps others could rely on it too. The proof applies adhesive_of_preserves_and_reflects_isomorphism to Over.forget B, which creates all colimits and creates connected limits. AI tools used. Claude Opus 4.6 + GitHub Copilot scaffolding Co-authored-by: Denes Papai <denes.papai@gmail.com>
1 parent 83e7c54 commit d037624

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2389,6 +2389,7 @@ public import Mathlib.CategoryTheory.Action.Limits
23892389
public import Mathlib.CategoryTheory.Action.Monoidal
23902390
public import Mathlib.CategoryTheory.Adhesive
23912391
public import Mathlib.CategoryTheory.Adhesive.Basic
2392+
public import Mathlib.CategoryTheory.Adhesive.Over
23922393
public import Mathlib.CategoryTheory.Adhesive.Subobject
23932394
public import Mathlib.CategoryTheory.Adjunction.Additive
23942395
public import Mathlib.CategoryTheory.Adjunction.AdjointFunctorTheorems
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/-
2+
Copyright (c) 2026 Dénes Pápai. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Dénes Pápai
5+
-/
6+
module
7+
8+
public import Mathlib.CategoryTheory.Adhesive.Basic
9+
public import Mathlib.CategoryTheory.Limits.Constructions.Over.Connected
10+
11+
/-! # Adhesive structure on slice categories
12+
13+
The slice category `Over B` inherits the property of being adhesive from the
14+
base category.
15+
16+
## TODO
17+
- The dual result for `Under B`.
18+
-/
19+
20+
@[expose] public section
21+
22+
namespace CategoryTheory
23+
24+
open Limits
25+
26+
variable {C : Type*} [Category* C]
27+
28+
/-- Slices of adhesive categories are adhesive. See [adhesive2004], Proposition 8 (ii). -/
29+
instance adhesive_over [Adhesive C] [HasPullbacks C] [HasPushouts C] (B : C) :
30+
Adhesive (Over B) :=
31+
adhesive_of_preserves_and_reflects_isomorphism (Over.forget B)
32+
33+
end CategoryTheory

0 commit comments

Comments
 (0)