Graded linear maps #
This file defines graded linear maps of a fixed degree between externally graded modules,
i.e. families of modules M N : β → Type* indexed by a grading type β.
A graded linear map f of degree d consists of one linear map M i →ₗ[R] N j for each pair of
degrees with i + d = j.
Main definitions #
AInfinityTheory.GradedLinearMap R M N d: gradedR-linear maps of degreedfromMtoN.AInfinityTheory.GradedLinearMap.id: the identity graded linear map, of degree0.AInfinityTheory.GradedLinearMap.comp: the composite of graded linear maps of degreesdande, of any degreedewithd + e = de.AInfinityTheory.GradedMultilinearMap R M N d: gradedR-multilinear maps of degreedfrom the familiesM j,j : ι, toN. For input degreesdeg : ι → β, the component lands in any degreeiwith(∑ j, deg j) + d = i.
Main results #
GradedLinearMapandGradedMultilinearMapare additive commutative monoids (groups ifNis), and modules over any semiringSwhose action on eachN icommutes with that ofR.GradedLinearMap.comp_assoc,GradedLinearMap.id_comp,GradedLinearMap.comp_id: graded linear maps compose associatively and unitally.
Implementation notes #
Following CochainComplex.HomComplex.Cochain, components are indexed by a source degree i, a
target degree j and a proof of i + d = j, rather than by i alone with target N (i + d).
The terms i + 0 and i + d + e are not definitionally equal to i and i + (d + e), so the
latter choice would force casts into id and comp. With the proof as an argument, any two
choices of proof are definitionally equal, and a composite factors through any middle degree
(GradedLinearMap.comp_apply).
The algebraic structure is transferred from a Pi type along toPi, which reindexes the
components by the type of pairs (i, j) with i + d = j; the Pi instances in Mathlib do not
apply to the Prop-valued binder i + d = j directly.
The structures only need an addition on β; comp needs AddSemigroup β and id needs
AddZeroClass β.
A graded R-linear map of degree d from M to N is a family of R-linear maps
M i →ₗ[R] N j, one for each pair of degrees with i + d = j. It raises the degree of every
homogeneous element by d.
The component of the graded linear map from degree
ito degreej, wherei + d = j.
Instances For
A graded linear map is applied to degrees i and j with i + d = j to get its linear
component from degree i to degree j.
A graded linear map is determined by its components.
Two graded linear maps are equal if they agree on every homogeneous element.
The components of a graded linear map, indexed by the type of pairs of degrees (i, j)
with i + d = j. The Pi instances apply to this indexing, so it is used to transfer algebraic
structure to graded linear maps.
Instances For
The zero graded linear map sends every homogeneous element to zero.
Graded linear maps of the same degree are added componentwise.
Equations
- AInfinityTheory.GradedLinearMap.instAdd = { add := fun (f g : AInfinityTheory.GradedLinearMap R M N d) => { toLinearMap := fun (i j : β) (hij : i + d = j) => ↑f i j hij + ↑g i j hij } }
Scalar multiplication on graded linear maps is defined componentwise.
Equations
- One or more equations did not get rendered due to their size.
The components of the natural-number multiple n • f are the multiples n • f i j hij.
Graded linear maps of degree d form an additive commutative monoid under componentwise
addition.
Graded linear maps of degree d form a module over any semiring S acting on the target
compatibly with R.
Equations
- AInfinityTheory.GradedLinearMap.instModuleOfSMulCommClass = Function.Injective.module S { toFun := AInfinityTheory.GradedLinearMap.toPi, map_zero' := ⋯, map_add' := ⋯ } ⋯ ⋯
The negation of a graded linear map is taken componentwise.
Equations
- AInfinityTheory.GradedLinearMap.instNeg = { neg := fun (f : AInfinityTheory.GradedLinearMap R M N d) => { toLinearMap := fun (i j : β) (hij : i + d = j) => -↑f i j hij } }
The difference of two graded linear maps is taken componentwise.
Equations
- AInfinityTheory.GradedLinearMap.instSub = { sub := fun (f g : AInfinityTheory.GradedLinearMap R M N d) => { toLinearMap := fun (i j : β) (hij : i + d = j) => ↑f i j hij - ↑g i j hij } }
The components of the integer multiple n • f are the multiples n • f i j hij.
Graded linear maps of degree d into a family of additive groups form an additive
commutative group.
The composite of graded linear maps of degrees d and e is a graded linear map of any
degree de with d + e = de. Its component from degree i factors through degree i + d.
Equations
Instances For
A component of a composite of graded linear maps factors through any middle degree j.
Composition of graded linear maps is associative, for any choice of degrees of the intermediate composites.
The identity graded linear map, of degree 0. Its component from degree i to degree j
is the identity, transported along i = i + 0 = j.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A graded R-multilinear map of degree d from the families M j (for j : ι) to N
consists of, for each choice of input degrees deg : ι → β and each output degree i with
(∑ j, deg j) + d = i, an R-multilinear map from ∀ j, M j (deg j) to N i. The output
degree is the total input degree shifted by d.
- toMultilinearMap (deg : ι → β) (i : β) : ∑ j : ι, deg j + d = i → MultilinearMap R (fun (j : ι) => M j (deg j)) (N i)
The component of the graded multilinear map with input degrees
degand output degreei, where(∑ j, deg j) + d = i.
Instances For
A graded multilinear map is applied to input degrees deg and an output degree i with
(∑ j, deg j) + d = i to get the corresponding multilinear component.
A graded multilinear map is determined by its components.
Two graded multilinear maps are equal if they agree on every tuple of homogeneous elements.
The components of a graded multilinear map, indexed by the type of pairs (deg, i) with
(∑ j, deg j) + d = i. The Pi instances apply to this indexing, so it is used to transfer
algebraic structure to graded multilinear maps.
Instances For
The zero graded multilinear map sends every tuple of homogeneous elements to zero.
Graded multilinear maps of the same degree are added componentwise.
Equations
- One or more equations did not get rendered due to their size.
Scalar multiplication on graded multilinear maps is defined componentwise.
Equations
- One or more equations did not get rendered due to their size.
The components of the natural-number multiple n • f are the multiples n • f deg i hi.
Equations
- One or more equations did not get rendered due to their size.
Graded multilinear maps of degree d form an additive commutative monoid under
componentwise addition.
Graded multilinear maps of degree d form a module over any semiring S acting on the
target compatibly with R.
Equations
- AInfinityTheory.GradedMultilinearMap.instModuleOfSMulCommClass = Function.Injective.module S { toFun := AInfinityTheory.GradedMultilinearMap.toPi, map_zero' := ⋯, map_add' := ⋯ } ⋯ ⋯
The negation of a graded multilinear map is taken componentwise.
Equations
- One or more equations did not get rendered due to their size.
The difference of two graded multilinear maps is taken componentwise.
Equations
- One or more equations did not get rendered due to their size.
The components of the integer multiple n • f are the multiples n • f deg i hi.
Equations
- One or more equations did not get rendered due to their size.
Graded multilinear maps of degree d into a family of additive groups form an additive
commutative group.