The small presentation of a categorical Grothendieck group #
Every categorical Grothendieck group -- split, exact, abelian, or triangulated -- is the quotient
of a free abelian group on the isomorphism classes of objects by a family of additive relations.
Only the relations differ. This file builds that common engine once, for an essentially small
category C, so that each Grothendieck group can be obtained by naming its relations.
The generators are TauCeti.ObjectCode C, a genuinely small type of codes for the isomorphism
classes of objects: it is Shrink (Skeleton C). The smallness hypotheses are Prop-valued, so
ObjectCode C takes no data argument and depends only on C and the target universe. Its
underlying small model and representatives are nevertheless arbitrary choices. Consequently, the
object-facing API -- of, induction_on, hom_ext, AdditiveInvariant, liftEquiv, and map --
is stated purely in terms of objects of C, so callers need not manipulate representatives.
Main definitions #
TauCeti.ObjectCode C: a small type of codes for the isomorphism classes of objects of an essentially small categoryC, withTauCeti.objectCodethe code of an object.TauCeti.freeOf X: the generator ofFreeAbelianGroup (ObjectCode C)attached toX, andTauCeti.freeLift f: the additive homomorphism out of that free abelian group determined by a functionfon objects.TauCeti.freeMap F: the map on the free abelian groups induced by a functorF; functoriality of presentations requires it to carry each chosen source relation into the subgroup generated by the target relations.TauCeti.PresentedK0 rels: the quotient ofFreeAbelianGroup (ObjectCode C)by the additive subgroup generated byrels, with class mapTauCeti.PresentedK0.of.TauCeti.PresentedK0.AdditiveInvariant rels G: an isomorphism-invariant function on objects whose free extension annihilates every chosen relation.TauCeti.PresentedK0.lift,TauCeti.PresentedK0.ofLE,TauCeti.PresentedK0.mapandTauCeti.PresentedK0.mapEquiv: the induced homomorphism of an additive invariant, the comparison map to a presentation with more relations, functoriality, and equivalence invariance.
Main results #
TauCeti.PresentedK0.induction_onandTauCeti.PresentedK0.hom_ext: the induction principle and the extensionality principle, both phrased in terms of objects ofC.TauCeti.PresentedK0.liftEquiv: the universal property. Additive invariants forrelscorrespond bijectively to additive homomorphisms out ofPresentedK0 rels.
Implementation notes #
TauCeti.freeLift f is defined for an arbitrary f : C → G, by evaluating f at a chosen
representative of each code. Isomorphism invariance of f is not needed to define it; it is
needed exactly to compute it on the classes TauCeti.freeOf X, and so appears as a hypothesis
of TauCeti.freeLift_freeOf rather than as an unused argument of the definition. The bundled
form TauCeti.PresentedK0.AdditiveInvariant carries that hypothesis together with the relations.
Relations are packaged as a Set (FreeAbelianGroup (ObjectCode C)) rather than as an
AddSubgroup, and the quotient is taken by AddSubgroup.closure. The universal property then has
a hypothesis about the chosen generating relations only, which is what a caller can check.
References #
- Charles A. Weibel, The K-book: An Introduction to Algebraic K-theory, Chapter II, Section 6,
where
K₀of a small abelian category is presented by generators and relations and the set-theoretic care taken here is discussed, and Section 6.1.2 for the universal property of an additive invariant. Mathlib/GroupTheory/PresentedGroup.leanandMathlib/Algebra/PresentedMonoid/Basic.lean, whose set-of-relations parameter andmk/of/closure_range_of/lift-and-uniqueness/extensionality/map API layout are adapted here to additive categorical presentations. The object-facing class map,AdditiveInvariant, and the comparison mapofLEare specific to the categorical construction.
ObjectCode C is a small type of codes for the isomorphism classes of objects of an
essentially small category C.
Equations
Instances For
The code of an object of C. Two objects have the same code exactly when they are
isomorphic; see TauCeti.objectCode_eq_objectCode_iff.
Equations
Instances For
The generator of the free abelian group on object codes attached to an object X.
Equations
Instances For
The object generator is the free generator on its object code.
The additive homomorphism out of the free abelian group on object codes determined by a
function on objects, obtained by evaluating at a chosen representative of each code. It computes
as expected on the classes TauCeti.freeOf X as soon as the function is invariant under
isomorphism; see TauCeti.freeLift_freeOf.
Equations
- TauCeti.freeLift f = FreeAbelianGroup.lift fun (c : TauCeti.ObjectCode C) => f (TauCeti.objectCodeOut✝ c)
Instances For
The Grothendieck group of C presented by the family of relations rels: the free abelian
group on the isomorphism classes of objects of C, modulo the additive subgroup generated by
rels.
Equations
- TauCeti.PresentedK0 rels = (FreeAbelianGroup (TauCeti.ObjectCode C) ⧸ AddSubgroup.closure rels)
Instances For
Equations
- One or more equations did not get rendered due to their size.
An additive invariant for the presentation rels: a function on objects of C, invariant
under isomorphism, whose free extension annihilates every chosen relation. These are exactly the
data that factor through TauCeti.PresentedK0 rels; see TauCeti.PresentedK0.liftEquiv.
- obj : C → G
The value of the invariant on an object.
Isomorphic objects receive equal values.
- map_rel (r : FreeAbelianGroup (ObjectCode C)) : r ∈ rels → (freeLift self.obj) r = 0
The free extension of the invariant annihilates every chosen relation.
Instances For
The quotient map presenting TauCeti.PresentedK0 rels.
Equations
Instances For
The class of an object of C in the presented Grothendieck group.
Equations
Instances For
The image of PresentedK0.of generates the whole additive group.
Induction on the classes of objects of C: no skeleton representative is ever mentioned.
Two homomorphisms out of a presented Grothendieck group agreeing on the classes of objects of
C are equal.
A homomorphism into a presented Grothendieck group whose range contains the class of every
object of C is surjective, since those classes generate.
The additive homomorphism induced by an additive invariant.
Equations
Instances For
The universal property of a presented Grothendieck group: additive invariants for rels with
values in G correspond bijectively to additive homomorphisms PresentedK0 rels →+ G.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The additive homomorphism on free abelian groups on object codes induced by a functor.
Equations
- TauCeti.freeMap F = TauCeti.freeLift fun (X : C) => TauCeti.freeOf (F.obj X)
Instances For
The free map of the identity functor preserves every generated relation subgroup.
A composite free map preserves generated relation subgroups when each of its factors does.
Functoriality: a functor whose induced map on free abelian groups sends every chosen relation
of relsC into the subgroup generated by relsD induces a homomorphism of presented Grothendieck
groups.
Equations
- TauCeti.PresentedK0.map F h = QuotientAddGroup.map (AddSubgroup.closure relsC) (AddSubgroup.closure relsD) (TauCeti.freeMap F) ⋯
Instances For
The comparison map to a presentation with more relations: enlarging the family of relations
factors the class map. Taking rels to be the split relations and rels' the conflations of an
exact structure, this is the canonical comparison from split to exact K₀.
Equations
Instances For
Enlarging a relation family to itself induces the identity map.
Comparison maps for successive enlargements of relation families compose.
Equivalence invariance: an equivalence carrying the chosen relations into one another in both directions induces an isomorphism of presented Grothendieck groups.
Equations
- TauCeti.PresentedK0.mapEquiv e h h' = { toFun := ⇑(TauCeti.PresentedK0.map e.functor h), invFun := ⇑(TauCeti.PresentedK0.map e.inverse h'), left_inv := ⋯, right_inv := ⋯, map_add' := ⋯ }
Instances For
The additive homomorphism underlying equivalence invariance is the functorial map.
Equivalence invariance for the identity equivalence is the identity.
Equivalence invariance respects composition of equivalences.