Gradings for A-infinity categories #
This file introduces graded hom spaces, R-linear graded quivers, and the grading data
needed to write down A-infinity structures.
The grading type β of an A-infinity category is an abelian group of degrees. The
A-infinity axioms only ever use two pieces of additional structure on it:
- integer degree shifts
ℤ →+ β, so that then-ary operationmₙcan have degree2 - n; - a Koszul sign character
β →+ Additive ℤˣ, so that a degreeddetermines a sign(-1) ^ d.
They are compatible in that the differential, of degree shift 1, is odd.
No degree is ever multiplied, so β is not required to be a ring. This is what allows
bigradings such as ℤ × ℤ or ℤ × ZMod 2, where mₙ has degree (2 - n, 0) and the
sign is the total parity.
A homomorphism of grading types GradingHom β β', written β →+ᵍ β', is an additive
homomorphism preserving the shifts and the signs. It translates degrees when an A-infinity functor changes the grading.
A grading type is an abelian group of degrees β together with a homomorphism
shift : ℤ →+ β realising integer degree shifts (the n-ary operation mₙ has degree
shift (2 - n)) and a Koszul sign character sign : β →+ Additive ℤˣ, such that the
differential, of degree shift 1, is odd.
The integer degree shifts:
mₙhas degreeshift (2 - n).The Koszul sign character, written additively.
The differential has odd degree.
Instances
The sign of an integer degree shift is Mathlib's Int.negOnePow.
Instances #
Global instances are provided only for the two standard gradings ℤ and ZMod 2. Product
gradings are constructed by the named definitions prodFst and prodTotal below and must be
activated locally, since both are reasonable choices on the same product type.
The integers, graded by themselves: the shift is the identity and the sign of n is
(-1) ^ n.
Equations
- AInfinityTheory.GradingType.instInt = { shift := AddMonoidHom.id ℤ, sign := (zmultiplesHom (Additive ℤˣ)) (Additive.ofMul (-1)), sign_shift_one := AInfinityTheory.GradingType.instInt._proof_1 }
The product grading on β × γ whose shifts land in the first factor and whose sign is
read off the first factor alone.
Equations
- AInfinityTheory.GradingType.prodFst β γ = { shift := (AddMonoidHom.inl β γ).comp AInfinityTheory.shift, sign := AInfinityTheory.sign.comp (AddMonoidHom.fst β γ), sign_shift_one := ⋯ }
Instances For
The product grading on β × γ whose shifts land in the first factor and whose sign is
the product of the signs of both factors (the total sign).
Equations
- AInfinityTheory.GradingType.prodTotal β γ = { shift := (AddMonoidHom.inl β γ).comp AInfinityTheory.shift, sign := AInfinityTheory.sign.coprod AInfinityTheory.sign, sign_shift_one := ⋯ }
Instances For
Koszul signs in the standard gradings #
Homomorphisms of grading types #
A homomorphism of grading types is an additive homomorphism β →+ β' that preserves the
integer degree shifts and the Koszul signs. It translates degrees in β into degrees in β'
so that mₙ keeps degree shift (2 - n) and every Koszul sign is unchanged; for example,
reduction ℤ → ZMod 2, or the inclusion of β into the product grading prodFst β γ.
- toFun : β → β'
- map_add' (x y : β) : (↑self.toAddMonoidHom).toFun (x + y) = (↑self.toAddMonoidHom).toFun x + (↑self.toAddMonoidHom).toFun y
The homomorphism preserves the integer degree shifts.
The homomorphism preserves the Koszul signs.
Instances For
β →+ᵍ β' denotes the type of homomorphisms of grading types from β to β'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A homomorphism of grading types is applied to degrees through its underlying function.
Equations
- AInfinityTheory.GradingHom.instFunLike = { coe := fun (f : β →+ᵍ β') => (↑f.toAddMonoidHom).toFun, coe_injective' := ⋯ }
A homomorphism of grading types is in particular an additive homomorphism.
Two homomorphisms of grading types are equal if they agree on every degree.
A homomorphism of grading types preserves the integer degree shifts.
A homomorphism of grading types preserves the Koszul signs.
The identity homomorphism of a grading type.
Equations
- AInfinityTheory.GradingHom.id β = { toAddMonoidHom := AddMonoidHom.id β, map_shift' := ⋯, map_sign' := ⋯ }
Instances For
The composite of two homomorphisms of grading types.