A category extension that is not a dilatation #
From Arnaud Mayeux, Dilatations of categories, via their Lean formalization,
https://arxiv.org/abs/2608.09305, and rndmx/DilCat at commit
604559654c948566675da3f7709b8ad3126bd487 (Apache-2.0).
Fact 5.2 : the "sub-algebra" characterization of ring dilatations fails for categories #
A concrete counterexample : a category C with two objects X, Y and two parallel non-identity
arrows a, b : X ⟶ Y (else trivial/empty Hom-sets), Γ := {b}, and a category D (with
Hom_D(X,Y) = {b, a, a ∘ b⁻¹ ∘ a}, finite) through which C → C[Γ⁻¹] factors faithfully — such
that D is not isomorphic (as a C-category) to any dilatation of C.
The two objects of C.
Instances For
Composition in C — well-defined since Hom_C(Y,X) = ∅ leaves nothing nontrivial to
compose beyond identities.
Equations
- CategoryTheory.Dilatations.Fact52.CHom.idX.comp g_2 = g_2
- CategoryTheory.Dilatations.Fact52.CHom.idY.comp CategoryTheory.Dilatations.Fact52.CHom.idY = CategoryTheory.Dilatations.Fact52.CHom.idY
- CategoryTheory.Dilatations.Fact52.CHom.a.comp CategoryTheory.Dilatations.Fact52.CHom.idY = CategoryTheory.Dilatations.Fact52.CHom.a
- CategoryTheory.Dilatations.Fact52.CHom.b.comp CategoryTheory.Dilatations.Fact52.CHom.idY = CategoryTheory.Dilatations.Fact52.CHom.b
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- CategoryTheory.Dilatations.Fact52.instCategoryObj = { toCategoryStruct := CategoryTheory.Dilatations.Fact52.instCategoryStructObj, id_comp := ⋯, comp_id := ⋯, assoc := ⋯ }
The target groupoid for separating a, b, a ∘ b⁻¹ ∘ a in C[Γ⁻¹]: the one-object
groupoid on Multiplicative ℤ (Quiver.SingleObj, already fully instanced in mathlib).
Instances For
The morphism part of FSep, sending a ↦ 1, b ↦ 0 (as elements of Multiplicative ℤ,
i.e. ofAdd 1/ofAdd 0).
Equations
- CategoryTheory.Dilatations.Fact52.FSepMap CategoryTheory.Dilatations.Fact52.CHom.idX = 1
- CategoryTheory.Dilatations.Fact52.FSepMap CategoryTheory.Dilatations.Fact52.CHom.idY = 1
- CategoryTheory.Dilatations.Fact52.FSepMap CategoryTheory.Dilatations.Fact52.CHom.a = Multiplicative.ofAdd 1
- CategoryTheory.Dilatations.Fact52.FSepMap CategoryTheory.Dilatations.Fact52.CHom.b = 1
Instances For
F inverts Γ, trivially — D0 is a groupoid, so every morphism is invertible.
Composition in the three-arrow counterexample category.
Equations
- CategoryTheory.Dilatations.Fact52.DHom.idX.comp g_2 = g_2
- CategoryTheory.Dilatations.Fact52.DHom.idY.comp CategoryTheory.Dilatations.Fact52.DHom.idY = CategoryTheory.Dilatations.Fact52.DHom.idY
- CategoryTheory.Dilatations.Fact52.DHom.b.comp CategoryTheory.Dilatations.Fact52.DHom.idY = CategoryTheory.Dilatations.Fact52.DHom.b
- CategoryTheory.Dilatations.Fact52.DHom.a.comp CategoryTheory.Dilatations.Fact52.DHom.idY = CategoryTheory.Dilatations.Fact52.DHom.a
- CategoryTheory.Dilatations.Fact52.DHom.c.comp CategoryTheory.Dilatations.Fact52.DHom.idY = CategoryTheory.Dilatations.Fact52.DHom.c
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- CategoryTheory.Dilatations.Fact52.instCategoryDObj = { toCategoryStruct := CategoryTheory.Dilatations.Fact52.instCategoryStructDObj, id_comp := ⋯, comp_id := ⋯, assoc := ⋯ }
The morphism part of C → D (identity-on-objects, a ↦ a, b ↦ b).
Equations
- CategoryTheory.Dilatations.Fact52.CtoDMap CategoryTheory.Dilatations.Fact52.CHom.idX = CategoryTheory.Dilatations.Fact52.DHom.idX
- CategoryTheory.Dilatations.Fact52.CtoDMap CategoryTheory.Dilatations.Fact52.CHom.idY = CategoryTheory.Dilatations.Fact52.DHom.idY
- CategoryTheory.Dilatations.Fact52.CtoDMap CategoryTheory.Dilatations.Fact52.CHom.a = CategoryTheory.Dilatations.Fact52.DHom.a
- CategoryTheory.Dilatations.Fact52.CtoDMap CategoryTheory.Dilatations.Fact52.CHom.b = CategoryTheory.Dilatations.Fact52.DHom.b
Instances For
The object part of D → C[Γ⁻¹].
Equations
- CategoryTheory.Dilatations.Fact52.DtoLocObj CategoryTheory.Dilatations.Fact52.DObj.X = CategoryTheory.Dilatations.Fact52.Gamma.Q.obj CategoryTheory.Dilatations.Fact52.Obj.X
- CategoryTheory.Dilatations.Fact52.DtoLocObj CategoryTheory.Dilatations.Fact52.DObj.Y = CategoryTheory.Dilatations.Fact52.Gamma.Q.obj CategoryTheory.Dilatations.Fact52.Obj.Y
Instances For
The morphism part of D → C[Γ⁻¹], sending b ↦ Γ.Q(b), a ↦ Γ.Q(a), c ↦ a ∘ b⁻¹ ∘ a.
Equations
- One or more equations did not get rendered due to their size.
- CategoryTheory.Dilatations.Fact52.DtoLocMap CategoryTheory.Dilatations.Fact52.DHom.a = CategoryTheory.Dilatations.Fact52.Gamma.Q.map CategoryTheory.Dilatations.Fact52.CHom.a
- CategoryTheory.Dilatations.Fact52.DtoLocMap CategoryTheory.Dilatations.Fact52.DHom.b = CategoryTheory.Dilatations.Fact52.Gamma.Q.map CategoryTheory.Dilatations.Fact52.CHom.b
- CategoryTheory.Dilatations.Fact52.DtoLocMap CategoryTheory.Dilatations.Fact52.DHom.c = CategoryTheory.Dilatations.Fact52.cMor
Instances For
Fact 5.2, setup. The canonical functor D → C[Γ⁻¹].
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fact 5.2, (ii). D → C[Γ⁻¹] is faithful.
General separation fact. For any W : MorphismProperty Obj, a and b remain
distinct after localizing at W — via the same FSep/groupoid-separation trick as
pairwise_distinct, since FSep (landing in a groupoid) inverts every W, not just Γ.
Every generator index of a center on Obj has domain/codomain (X,X), (Y,Y), or (X,Y)
(the (Y,X) case is vacuous, Hom_C(Y,X) = ∅).
The only endomorphism of any object in Obj is the identity.
If Z.dom i = Z.cod i (an identity-shaped generator), every witness trivially factors
through Z.mor i, so such a generator index can never witness ¬ GoodCenter. All objects here
are free variables of the lemma (not the compound Z.dom i/Z.cod i), so the subst below is
unproblematic; the caller instantiates P, Q at Z.dom i, Z.cod i directly.
A witness m in the sieve N that doesn't factor through gen forces a contradiction.
Parametrized over free objects P, Q so cases m needs no dependent-elimination gymnastics.
The case-(ii) hypothesis, phrased directly as the factorization property needed by
fractionInDilatation_eq_of_factors: every sieve-witness m ∈ Z.N i factors through the
generator Z.mor i itself. For Z.mor i = a this forces (given Hom_C's rigidity) N_a ⊆ {a};
for Z.mor i = b, N_b ⊆ {b}; for Z.mor i ∈ {idX, idY} it holds unconditionally (composing
with an identity is free), matching the paper's case (ii) exactly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Case (ii), core step. Under GoodCenter Z, every morphism of the generated category
(hence, via GeneratedToDila_full, every morphism of Dila Z) between the images of two objects
of Obj is Θ applied to some morphism of Obj. This collapses every fraction edge back to an
original edge using fractionInDilatation_eq_of_factors, driven by the factorization
GoodCenter Z supplies.
Case (ii). Under GoodCenter Z, CatToDila Z is "full onto its generators": every
morphism (CatToDila Z).obj P ⟶ (CatToDila Z).obj Q is Θ of an actual morphism of Obj.