Renaming variables, and discarding the ones outside the range #
Renaming the variables of a multivariable polynomial along an equivalence e : σ ≃ τ is a
ring equivalence. Mathlib's RingHomInvPair.of_ringEquiv and
RingHomInvPair.of_ringEquiv_symm are deliberately not instances, so this file registers them
for MvPolynomial.renameEquiv. This lets semilinear equivalences over variable renaming be used
and inverted without requiring downstream local instances.
Along an injective renaming f : σ → τ, Mathlib's MvPolynomial.killCompl sets the variables
outside the range of f to zero. When exactly one variable X a is discarded, the polynomials
it kills are exactly the multiples of X a.
Main definitions #
TauCeti.renameRingHomInvPair: variable renaming and its inverse form aRingHomInvPair.TauCeti.renameRingHomInvPairSymm: the same inverse pair in the reverse direction.
Main results #
MvPolynomial.killCompl_X_of_notMem_range: a variable outside the range of an injective renaming is killed bykillCompl.MvPolynomial.killCompl_eq_zero_iff_X_dvd: when the range of the renaming is the complement of a single variableX a, discarding that variable kills exactly the multiples ofX a.Polynomial.map_eval_map_rename: for a polynomial family with coefficients inMvPolynomial, specializing after renaming the parameters alongfis specializing at the composite point.
A variable outside the range of an injective renaming is killed by killCompl.
When the range of an injective renaming is the complement of a single variable X a,
discarding the variables outside the range kills exactly the multiples of X a.
Renaming the parameters of a polynomial family P : (MvPolynomial σ R)[X] along f and then
specializing them at y is specializing P at y ∘ f.
A polynomial variable-renaming ring equivalence and its inverse form a
RingHomInvPair.
The inverse polynomial variable-renaming ring equivalence and the forward equivalence form a
RingHomInvPair.