Evaluating a Laurent polynomial at a unit of a not necessarily commutative algebra #
Mathlib's LaurentPolynomial.eval₂ substitutes a unit of a commutative semiring into a Laurent
polynomial. The Laurent coefficient ring of graded K-theory has to act on abelian groups, so it
has to be substituted into endomorphism rings, which are not commutative. This file supplies that
evaluation.
For a unit u of an R-algebra A, TauCeti.laurentEval u : R[T;T⁻¹] →ₐ[R] A is the algebra map
sending T to u and T⁻¹ to u⁻¹. It is the algebra map attached by
AddMonoidAlgebra.lift to the monoid homomorphism n ↦ uⁿ out of Multiplicative ℤ, so it exists
for an arbitrary semiring A and is the unique algebra map with the prescribed value at T.
Consequently TauCeti.laurentEvalEquiv identifies the units of A with the R-algebra maps out of
R[T;T⁻¹]: the Laurent polynomial ring is the free R-algebra on one invertible generator.
The module-theoretic use is TauCeti.laurentTAut: multiplication by T -- written q in the
graded K-theory literature -- is an automorphism of the underlying additive monoid. This only
requires a distributive action of the Laurent polynomial monoid, so it applies in particular to
every R[T;T⁻¹]-module. That automorphism is what a shift-compatible invariant is compared against.
Main definitions #
TauCeti.laurentEval: evaluation of a Laurent polynomial at a unit of anR-algebra.TauCeti.laurentEvalEquiv: the units ofAare theR-algebra mapsR[T;T⁻¹] →ₐ[R] A.TauCeti.laurentTAut: the action ofTas an additive automorphism under aDistribMulAction (LaurentPolynomial R) N; Laurent modules are a specialization.
Main results #
TauCeti.laurentEval_unique: an algebra map out ofR[T;T⁻¹]is determined by its value atT.TauCeti.laurentEval_eq_eval₂: over a commutative target, this evaluation is Mathlib'sLaurentPolynomial.eval₂.TauCeti.eval₂_C_injective_of_val_eq_T: the substitutionT ↦ Tᵏis injective fork ≠ 0.TauCeti.eval₂_C_inv_pow_injective: in particularT ↦ T⁻ᵏis injective fork ≠ 0.TauCeti.laurentPolynomialC_smul: a constant Laurent polynomial acts by integer scalar multiplication.TauCeti.map_smul_eq_laurentEval_smul: a linear map turningTinto a unit turns every Laurent scalar into its value at that unit.
Evaluation of a Laurent polynomial at a unit u of an R-algebra A: the R-algebra
map R[T;T⁻¹] →ₐ[R] A sending T to u, hence T⁻¹ to u⁻¹.
Unlike LaurentPolynomial.eval₂ this does not ask A to be commutative, because the intended
targets are endomorphism rings. The construction is the universal property of the group algebra
R[ℤ]: an integer power of a unit is a monoid homomorphism out of Multiplicative ℤ.
Equations
- TauCeti.laurentEval u = (AddMonoidAlgebra.lift R A ℤ) ((Units.coeHom A).comp ((zpowersHom Aˣ) u))
Instances For
The generator T evaluates to the chosen unit.
An R-algebra map out of R[T;T⁻¹] is determined by its value at T.
The Laurent polynomial ring is the free R-algebra on one invertible generator: its
R-algebra maps to A are exactly the units of A, through evaluation at T.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Evaluating after the involution T ↦ T⁻¹ is evaluating at the inverse unit.
Over a commutative target this is Mathlib's LaurentPolynomial.eval₂. The two
constructions are separate only because LaurentPolynomial.eval₂ is built by localization and so
needs a commutative codomain.
Substituting a nonzero power of T is injective. Evaluating a Laurent polynomial at a
unit of R[T;T⁻¹] whose value is T k substitutes Tᵏ for T; for k ≠ 0 this sends distinct
monomials to distinct monomials, so it loses no information.
Substituting T⁻ᵏ for T is injective for k ≠ 0: a Laurent polynomial is determined by
its evaluation at the k-th power of the inverse of the generator.
Scalar compatibility with the specialization at ε. An R-linear map turning
multiplication by q into multiplication by a unit ε of an R-algebra S turns every Laurent
scalar into its value at ε. The target algebra need not be commutative.
Action of the variable, as an automorphism of an additive monoid with a distributive
R[T;T⁻¹]-action. In the graded K-theory notation the variable is q, so this is the operator
x ↦ q • x against which a shift-compatible invariant is compared.
Equations
Instances For
A constant Laurent polynomial acts by the integer scalar multiplication of the underlying
abelian group of a ℤ[T;T⁻¹]-module.
Not @[simp]: LaurentPolynomial.C a is not in simp-normal form, because eq_intCast rewrites
the ring homomorphism C : ℤ →+* ℤ[T;T⁻¹] to the integer cast; the normal form of the statement
is Mathlib's own Int.cast_smul_eq_zsmul.