Definitions and Examples of Symmetric Polynomials #
This file formalizes the definitions and basic properties of symmetric polynomials, following Section "Definitions and examples of symmetric polynomials" (sec.sf.sp) of the source.
Main definitions #
- We use Mathlib's
MvPolynomial.IsSymmetricfor the notion of symmetric polynomials. MvPolynomial.symmetricSubalgebra σ Ris the ring of symmetric polynomials.MvPolynomial.esymm σ R nis the n-th elementary symmetric polynomial.MvPolynomial.hsymm σ R nis the n-th complete homogeneous symmetric polynomial.MvPolynomial.psum σ R nis the n-th power sum.
Main results #
- The symmetric group acts on polynomials by permuting variables (Proposition prop.sf.SN-acts)
- The action is by K-algebra automorphisms (Proposition prop.sf.SN-acts-by-alg-auts)
- The set of symmetric polynomials forms a K-subalgebra (Theorem thm.sf.S-subalg)
- For n > N, the n-th elementary symmetric polynomial is zero (Proposition prop.sf.en=0)
- Newton-Girard formulas relating e_n, h_n, and p_n (Theorem thm.sf.NG)
- Fundamental Theorem of Symmetric Polynomials (Theorem thm.sf.ftsf)
- A polynomial is symmetric iff it is invariant under simple transpositions (Lemma lem.sf.simples-enough)
References #
- Source: SymmetricFunctions/Definitions.tex, sec.sf.sp
Implementation notes #
Mathlib already provides extensive support for symmetric polynomials via MvPolynomial.IsSymmetric
and related definitions. This file connects the textbook presentation to Mathlib's API
and provides additional lemmas following the source material.
The symmetric group action on polynomials is given by MvPolynomial.rename in Mathlib.
For a permutation σ : Equiv.Perm (Fin N), the action σ · f is MvPolynomial.rename σ f.
Convention (Convention conv.sf.KN) #
We fix a commutative ring K and a natural number N throughout.
The polynomial ring P = K[x₁, x₂, ..., x_N] is MvPolynomial (Fin N) K in Mathlib.
The polynomial ring in N variables over K. This corresponds to 𝒫 in the source (Definition def.sf.PS (a)). Label: def.sf.PS
Equations
Instances For
The Symmetric Group Action (Definition def.sf.PS (b)) #
The symmetric group S_N acts on P by permuting variables: σ · f = f[x_{σ(1)}, x_{σ(2)}, ..., x_{σ(N)}]
In Mathlib, this is given by MvPolynomial.rename σ f where σ : Equiv.Perm (Fin N).
The action of a permutation on a polynomial by renaming variables. This is σ · f = f[x_{σ(1)}, ..., x_{σ(N)}] in the source. Label: def.sf.PS
Equations
Instances For
Notation: σ • f for the permutation action
Equations
- One or more equations did not get rendered due to their size.
Instances For
Proposition prop.sf.SN-acts: The action is a well-defined group action #
(a) id · f = f for every f ∈ P (b) (στ) · f = σ · (τ · f) for every σ, τ ∈ S_N and f ∈ P
The identity permutation acts trivially (Proposition prop.sf.SN-acts (a)). Label: prop.sf.SN-acts
Composition of permutation actions (Proposition prop.sf.SN-acts (b)). Label: prop.sf.SN-acts
The symmetric group action on polynomials is a well-defined MulAction. This formalizes Proposition prop.sf.SN-acts in the standard Mathlib form:
one_smulcorresponds to part (a): id · f = fmul_smulcorresponds to part (b): (στ) · f = σ · (τ · f) Label: prop.sf.SN-acts
Equations
- AlgebraicCombinatorics.SymmetricPolynomials.permMulAction = { smul := AlgebraicCombinatorics.SymmetricPolynomials.permAction, mul_smul := ⋯, one_smul := ⋯ }
The Mathlib smul action agrees with our permAction notation. Label: prop.sf.SN-acts
Definition of Symmetric Polynomials (Definition def.sf.PS (c)(d)) #
A polynomial f ∈ P is symmetric if σ · f = f for all σ ∈ S_N.
The set S of all symmetric polynomials is symmetricSubalgebra (Fin N) K in Mathlib.
A polynomial is symmetric if it is invariant under all permutations. This is Definition def.sf.PS (c) in the source. Label: def.sf.PS
Instances For
The ring of symmetric polynomials in N variables over K.
This is the K-subalgebra S of P consisting of all symmetric polynomials, i.e., polynomials f such that σ · f = f for all permutations σ ∈ S_N.
The terminology "ring of symmetric polynomials" comes from the fact that this subalgebra is closed under addition, multiplication, and scalar multiplication by elements of K (Theorem thm.sf.S-subalg).
Label: def.sf.ring-of-symm
Equations
Instances For
Alternative name: the ring of symmetric polynomials. This is the standard terminology for the subalgebra S. Label: def.sf.ring-of-symm
Equations
Instances For
Additional API for Definition def.sf.PS #
These lemmas provide useful characterizations of the definitions.
The definition of IsSymm unfolds to: f is symmetric iff rename σ f = f for all σ. Label: def.sf.PS
The permutation action definition: σ •ₚ f = rename σ f. Label: def.sf.PS
A polynomial is symmetric iff the permutation action fixes it. Label: def.sf.PS
Example: The sum ∑ xᵢ is symmetric (Example exa.sf.PS1 (a)). Label: exa.sf.PS1
The polynomial ring P K N is a commutative K-algebra. Label: def.sf.PS
The polynomial ring P K N is a K-algebra. Label: def.sf.PS
Proposition prop.sf.SN-acts-by-alg-auts: The action is by K-algebra automorphisms #
For each σ ∈ S_N, the map f ↦ σ · f is a K-algebra automorphism of P.
The permutation action preserves addition. Label: prop.sf.SN-acts-by-alg-auts
The permutation action preserves multiplication. Label: prop.sf.SN-acts-by-alg-auts
The permutation action preserves scaling. Label: prop.sf.SN-acts-by-alg-auts
The permutation action is invertible with inverse σ⁻¹. Label: prop.sf.SN-acts-by-alg-auts
The K-algebra automorphism of P induced by a permutation σ. This is the main object of Proposition prop.sf.SN-acts-by-alg-auts: for each σ ∈ S_N, the map f ↦ σ · f is a K-algebra automorphism. Label: prop.sf.SN-acts-by-alg-auts
Equations
Instances For
The permutation action equals the automorphism applied to the polynomial. Label: prop.sf.SN-acts-by-alg-auts
The permutation automorphism preserves zero. Label: prop.sf.SN-acts-by-alg-auts
The permutation automorphism preserves one. Label: prop.sf.SN-acts-by-alg-auts
The permutation automorphism preserves constants. Label: prop.sf.SN-acts-by-alg-auts
The identity permutation gives the identity automorphism. Label: prop.sf.SN-acts-by-alg-auts
Composition of permutation automorphisms: (σ * τ) acts as τ then σ. Note: In AlgEquiv, f * g = g.trans f (apply g first, then f). Label: prop.sf.SN-acts-by-alg-auts
The inverse automorphism is given by the inverse permutation. Label: prop.sf.SN-acts-by-alg-auts
The permutation automorphism is bijective. Label: prop.sf.SN-acts-by-alg-auts
The map from S_N to Aut_K(P) is a group homomorphism. This is the full content of Proposition prop.sf.SN-acts-by-alg-auts: S_N acts on P by K-algebra automorphisms. Label: prop.sf.SN-acts-by-alg-auts
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theorem thm.sf.S-subalg: S is a K-subalgebra of P #
The set of symmetric polynomials is closed under addition, multiplication, and scaling, and contains 0 and 1.
From the source (AlgebraicCombinatorics/tex/SymmetricFunctions/Definitions.tex, Theorem thm.sf.S-subalg):
The subset S is a K-subalgebra of P.
A K-subalgebra of P must satisfy:
- S contains 0 and 1
- S is closed under addition
- S is closed under multiplication
- S is closed under scalar multiplication by elements of K
This section proves all these properties both in terms of IsSymm (the predicate)
and ∈ S K N (membership in the subalgebra).
Theorem thm.sf.S-subalg: The symmetric polynomials form a K-subalgebra of P.
This is the main theorem stating that the set S of symmetric polynomials is a K-subalgebra of the polynomial ring P = K[x₁, x₂, ..., x_N].
A K-subalgebra satisfies:
- (a) S contains 0 and 1 (see
S_zero_mem,S_one_mem) - (b) S is closed under addition (see
S_add_mem) - (c) S is closed under multiplication (see
S_mul_mem) - (d) S is closed under scalar multiplication by K (see
S_smul_mem)
The definition S K N := symmetricSubalgebra (Fin N) K directly provides
the Subalgebra K (P K N) structure, which bundles all these properties.
Label: thm.sf.S-subalg
Equations
Instances For
Part (a): S contains 0 and 1 #
Constants are in S (Theorem thm.sf.S-subalg, part (a) generalized). Label: thm.sf.S-subalg
Constants are symmetric. Label: thm.sf.S-subalg
Part (b): S is closed under addition #
Part (c): S is closed under multiplication #
Part (d): S is closed under scalar multiplication #
Additional closure properties (consequences of being a K-subalgebra) #
These properties follow automatically from S being a K-subalgebra.
Definition of Monomials (Definition def.sf.monomial) #
(a) A monomial is x₁^{a₁} x₂^{a₂} ⋯ x_N^{a_N} with a_i ∈ ℕ (b) The degree of a monomial is a₁ + a₂ + ⋯ + a_N (c) A monomial is squarefree if all a_i ∈ {0, 1} (d) A monomial is primal if at most one a_i > 0
A monomial represented by its exponent vector. In the textbook, a monomial is x₁^{a₁} x₂^{a₂} ⋯ x_N^{a_N}. We represent it by the exponent vector (a₁, a₂, ..., a_N) ∈ ℕ^N. Label: def.sf.monomial
Equations
Instances For
Convert a monomial (exponent vector) to the corresponding polynomial x₁^{a₁} ⋯ x_N^{a_N}. Label: def.sf.monomial
Equations
- m.toPoly = (MvPolynomial.monomial m) 1
Instances For
The degree of a monomial is the sum of its exponents. Label: def.sf.monomial
Equations
- m.degree = Finsupp.sum m fun (x : Fin N) (a : ℕ) => a
Instances For
A monomial is squarefree if all exponents are 0 or 1. Label: def.sf.monomial
Equations
- m.IsSquarefree = ∀ (i : Fin N), m i ≤ 1
Instances For
A monomial is primal if at most one exponent is positive. This means the monomial is either 1 or a power of a single variable. Label: def.sf.monomial
Instances For
The degree of a monomial equals the total degree of its polynomial representation (when K is nontrivial). Label: def.sf.monomial
The set of all monomials of a given degree n. Label: def.sf.monomial
Equations
Instances For
The set of all squarefree monomials of a given degree n. Label: def.sf.monomial
Equations
Instances For
The set of all primal monomials of a given degree n. Label: def.sf.monomial
Equations
Instances For
The degree of the zero monomial is 0. Label: def.sf.monomial
The zero monomial is squarefree. Label: def.sf.monomial
The zero monomial is primal. Label: def.sf.monomial
A single variable x_i corresponds to the monomial with exponent 1 at position i. Label: def.sf.monomial
Equations
Instances For
The polynomial corresponding to Monomial.single i is X i. Label: def.sf.monomial
A single variable monomial is squarefree. Label: def.sf.monomial
A squarefree monomial has degree at most N. Label: def.sf.monomial
The monomial corresponding to a subset S ⊆ [N] is ∏_{i ∈ S} x_i. This is the squarefree monomial with support S. Label: def.sf.monomial
Equations
- AlgebraicCombinatorics.SymmetricPolynomials.Monomial.ofFinset s = ∑ x ∈ s, fun₀ | x => 1
Instances For
Monomial.ofFinset gives a squarefree monomial. Label: def.sf.monomial
Elementary Symmetric Polynomials (Definition def.sf.ehp (a)) #
e_n = sum of all squarefree monomials of degree n = ∑{i₁ < i₂ < ... < i_n} x{i₁} x_{i₂} ⋯ x_{i_n}
In Mathlib, this is MvPolynomial.esymm (Fin N) K n.
Complete Homogeneous Symmetric Polynomials (Definition def.sf.ehp (b)) #
h_n = sum of all monomials of degree n = ∑{i₁ ≤ i₂ ≤ ... ≤ i_n} x{i₁} x_{i₂} ⋯ x_{i_n}
In Mathlib, this is MvPolynomial.hsymm (Fin N) K n.
The n-th complete homogeneous symmetric polynomial. Label: def.sf.ehp
Equations
Instances For
Complete homogeneous symmetric polynomials are symmetric. Label: def.sf.ehp
h_0 = 1 (Example exa.sf.ehp.1 (e)). Label: exa.sf.ehp.1
h_1 = ∑ x_i (Example exa.sf.ehp.1 (d)). Label: exa.sf.ehp.1
Power Sums (Definition def.sf.ehp (c)) #
p_n = x₁^n + x₂^n + ... + x_N^n (for n > 0) p_0 = 1 p_n = 0 (for n < 0)
In Mathlib, this is MvPolynomial.psum (Fin N) K n.
Note: Mathlib's definition has p_0 = N (the number of variables), not 1.
Basic Values (Example exa.sf.ehp.1) #
(d) e_1 = h_1 = p_1 = x_1 + x_2 + ... + x_N (e) e_0 = h_0 = 1, p_0 = N (f) e_n = h_n = p_n = 0 for n < 0 (vacuously true for ℕ)
p_0 = N (number of variables). Note: The source defines p_0 = 1, but Mathlib defines p_0 = N. Label: exa.sf.ehp.1
e_1 = ∑ x_i (Example exa.sf.ehp.1 (d)). Label: exa.sf.ehp.1
p_1 = ∑ x_i (Example exa.sf.ehp.1 (d)). Label: exa.sf.ehp.1
Integer-indexed versions (Definition def.sf.ehp) #
The source defines e_n, h_n, p_n for all integers n ∈ ℤ. For negative n, they are all 0. This section provides integer-indexed versions that match the textbook definitions exactly.
Integer-indexed elementary symmetric polynomial. For n ∈ ℤ: e_n = esymm n if n ≥ 0, e_n = 0 if n < 0. This matches Definition def.sf.ehp (a) in the source. Label: def.sf.ehp
Equations
Instances For
Integer-indexed complete homogeneous symmetric polynomial. For n ∈ ℤ: h_n = hsymm n if n ≥ 0, h_n = 0 if n < 0. This matches Definition def.sf.ehp (b) in the source. Label: def.sf.ehp
Equations
Instances For
Integer-indexed power sum (textbook convention). For n ∈ ℤ: p'_n = psum n if n > 0, p'_0 = 1, p'_n = 0 if n < 0. This matches Definition def.sf.ehp (c) in the source.
Note: Mathlib's psum has p_0 = N (number of variables), but the textbook defines p_0 = 1. We follow the textbook convention here. Label: def.sf.ehp
Equations
Instances For
eZ n is symmetric for all n ∈ ℤ. Label: def.sf.ehp
hZ n is symmetric for all n ∈ ℤ. Label: def.sf.ehp
pZ n is symmetric for all n ∈ ℤ. Label: def.sf.ehp
Alternative characterizations (Definition def.sf.ehp) #
The defining formulas for e_n, h_n, p_n as sums over tuples.
e_n is the sum over all n-element subsets of [N] of the product of variables. This is the defining formula in Definition def.sf.ehp (a): e_n = ∑{i₁ < i₂ < ... < i_n} x{i₁} x_{i₂} ⋯ x_{i_n} Label: def.sf.ehp
h_n is the sum over all symmetric n-tuples (multisets) of [N] of the product of variables. This is the defining formula in Definition def.sf.ehp (b): h_n = ∑{i₁ ≤ i₂ ≤ ... ≤ i_n} x{i₁} x_{i₂} ⋯ x_{i_n} Label: def.sf.ehp
p_n is the sum of n-th powers of all variables. This is the defining formula in Definition def.sf.ehp (c): p_n = x₁^n + x₂^n + ... + x_N^n Label: def.sf.ehp
Proposition prop.sf.en=0: e_n = 0 for n > N #
For n > N, there are no n distinct elements in [N], so e_n = 0.
Adding a Variable Recurrence #
The elementary symmetric polynomial e_n(x₁,...,x_N,y) satisfies the recurrence: e_n(x₁,...,x_N,y) = e_n(x₁,...,x_N) + y * e_{n-1}(x₁,...,x_N)
This is fundamental for inductive proofs about symmetric polynomials.
Adding a variable: e_{n+1}(x₁,...,x_N,y) = e_{n+1}(x₁,...,x_N) + y * e_n(x₁,...,x_N). This is the recurrence for computing elementary symmetric polynomials. Label: def.sf.ehp
Adding a variable: e_n(x₁,...,x_N,y) = e_n(x₁,...,x_N) + y * e_{n-1}(x₁,...,x_N). This is the recurrence for computing elementary symmetric polynomials. For n = 0, the second term vanishes since e_{-1} = 0 by convention (but Nat subtraction gives e_0 instead, so we use a conditional). Label: def.sf.ehp
Newton-Girard Formulas (Theorem thm.sf.NG) #
For any positive integer n: (eq.thm.sf.NG.eh) ∑{j=0}^n (-1)^j e_j h{n-j} = 0 (eq.thm.sf.NG.ep) ∑{j=1}^n (-1)^{j-1} e{n-j} p_j = n · e_n (eq.thm.sf.NG.hp) ∑{j=1}^n h{n-j} p_j = n · h_n
These are implemented in Mathlib as MvPolynomial.mul_esymm_eq_sum and related theorems.
Newton-Girard formula: recurrence for elementary symmetric polynomials. k * e_k = (-1)^{k+1} * ∑{a ∈ antidiagonal k, a.1 < k} (-1)^{a.1} * e{a.1} * p_{a.2} (Theorem thm.sf.NG, equation eq.thm.sf.NG.ep). Label: thm.sf.NG
Newton-Girard formula: recurrence for power sums. p_k = (-1)^{k+1} * k * e_k - ∑{a ∈ antidiagonal k, 0 < a.1 < k} (-1)^{a.1} * e{a.1} * p_{a.2} (Theorem thm.sf.NG, equation eq.thm.sf.NG.ep). Label: thm.sf.NG
Geometric series identity: (1 - t·x) * (∑_{k≥0} t^k x^k) = 1. This is the key lemma for the generating function proof of Newton-Girard.
Product of geometric series equals 1 when multiplied by ∏(1 - t·x_i). This is the generating function identity E(t) * H(t) = 1.
Generating function for elementary symmetric polynomials (Proposition prop.sf.e-h-FPS (a)). ∏{i=1}^N (1 - t·x_i) = ∑{n=0}^N (-1)^n t^n e_n This is placed here so it can be used in newtonGirard_eh. Label: prop.sf.e-h-FPS
Newton-Girard formula relating e and h: ∑{j=0}^n (-1)^j e_j h{n-j} = 0 for n > 0. (Theorem thm.sf.NG, equation eq.thm.sf.NG.eh).
The proof uses the generating function identity: E(t) * H(t) = 1, where E(t) = ∏_i (1 - t·x_i) and H(t) = ∑_n t^n h_n.
Since E(t) = ∑n (-1)^n t^n e_n, the coefficient of t^n in E(t) * H(t) is: ∑{j=0}^n (-1)^j e_j h_{n-j}
For n > 0, this coefficient must be 0 (since E(t) * H(t) = 1).
Label: thm.sf.NG
Key lemma: For any multiset s of size m, the sum of counts over all elements equals m. This is used in the proof of the Newton-Girard formula for h and p. Label: thm.sf.NG
Helper lemmas for the bijection in Newton-Girard hp formula #
Newton-Girard formula relating h and p: ∑{j=1}^n h{n-j} p_j = n · h_n. (Theorem thm.sf.NG, equation eq.thm.sf.NG.hp).
Proof strategy: The proof is by a counting argument on monomials. Each monomial in h_n corresponds to a multiset s : Sym (Fin N) n.
On the LHS, each such monomial appears exactly n times: once for each way to decompose s = t + replicate (j+1) i where j ∈ {0, ..., n-1}, t : Sym (n-1-j), and i : Fin N.
The key bijection is:
- LHS: { (j, t, i) | j < n, t : Sym (n-1-j), i : Fin N }
- RHS: { (s, i, k) | s : Sym n, i : Fin N, k < count i s } where (j, t, i) ↦ (t.1 + replicate (j+1) i, i, j).
For each s : Sym n, the monomial (s.1.map X).prod appears:
- On LHS: #{(j, t, i) | t.1 + replicate (j+1) i = s.1} = ∑_i count(i,s) = n times
- On RHS: with coefficient ∑_i count(i,s) = n
Label: thm.sf.NG
Generating Function Identities (Proposition prop.sf.e-h-FPS) #
These identities express the elementary and complete homogeneous symmetric polynomials as coefficients in certain generating functions.
(a) In P[t]: ∏{i=1}^N (1 - t·x_i) = ∑{n≥0} (-1)^n t^n e_n (b) In P[u,v]: ∏{i=1}^N (u - v·x_i) = ∑{n=0}^N (-1)^n u^{N-n} v^n e_n (c) In P[[t]]: ∏{i=1}^N 1/(1 - t·x_i) = ∑{n≥0} t^n h_n
Generating function for elementary symmetric polynomials, two-variable version (Proposition prop.sf.e-h-FPS (b)). ∏{i=1}^N (u - v·x_i) = ∑{n=0}^N (-1)^n u^{N-n} v^n e_n Label: prop.sf.e-h-FPS
Generating function for complete homogeneous symmetric polynomials (Proposition prop.sf.e-h-FPS (c)). In the ring of formal power series, ∏{i=1}^N 1/(1 - t·x_i) = ∑{n≥0} t^n h_n. We state this as: (∑ t^n h_n) * ∏(1 - t·x_i) = 1. Label: prop.sf.e-h-FPS
Fundamental Theorem of Symmetric Polynomials (Theorem thm.sf.ftsf) #
(a) e_1, e_2, ..., e_N are algebraically independent and generate S. (b) h_1, h_2, ..., h_N are algebraically independent and generate S. (c) If K is a ℚ-algebra, then p_1, p_2, ..., p_N are algebraically independent and generate S.
These are implemented in Mathlib via MvPolynomial.esymmAlgEquiv.
Part (a): Elementary Symmetric Polynomials #
The elementary symmetric polynomials e_1, e_2, ..., e_N are algebraically independent over K and generate the K-algebra S of symmetric polynomials. This means:
- The only polynomial relation P(e_1, ..., e_N) = 0 is P = 0 (algebraic independence)
- Every symmetric polynomial can be written uniquely as a polynomial in e_1, ..., e_N (generation)
Equivalently, the map K[y_1, ..., y_N] → S given by g ↦ g(e_1, ..., e_N) is a K-algebra isomorphism.
The elementary symmetric polynomials e_1, ..., e_N generate the symmetric subalgebra and the map g ↦ g[e_1, ..., e_N] is a K-algebra isomorphism. (Theorem thm.sf.ftsf (a)). Label: thm.sf.ftsf
Equations
Instances For
The map sending g to g[e_1, ..., e_N] is injective. This is equivalent to saying the elementary symmetric polynomials are algebraically independent. Label: thm.sf.ftsf
The map sending g to g[e_1, ..., e_N] is surjective. This is equivalent to saying the elementary symmetric polynomials generate S. Label: thm.sf.ftsf
The esymmAlgEquiv' equals esymmAlgHom as a function. Label: thm.sf.ftsf
The key lemma: esymmAlgHom is aeval composed with the inclusion. Label: thm.sf.ftsf
The elementary symmetric polynomials e_1, ..., e_N are algebraically independent. This means: if P(e_1, ..., e_N) = 0 for some polynomial P ∈ K[y_1, ..., y_N], then P = 0. (Theorem thm.sf.ftsf (a), algebraic independence part). Label: thm.sf.ftsf
Every symmetric polynomial can be uniquely written as a polynomial in e_1, ..., e_N. (Theorem thm.sf.ftsf (a), generation part). Label: thm.sf.ftsf
Part (b): Complete Homogeneous Symmetric Polynomials #
The complete homogeneous symmetric polynomials h_1, h_2, ..., h_N are also algebraically independent and generate S. This is a consequence of the Newton-Girard relations which express each h_k as a polynomial in e_1, ..., e_k and vice versa.
The complete homogeneous symmetric polynomials h_1, ..., h_N are algebraically independent. (Theorem thm.sf.ftsf (b), algebraic independence part).
The proof uses the Newton-Girard relations to show that the map sending polynomials to their evaluation at h_1, ..., h_N factors through the symmetric subalgebra S, and this factored map is bijective.
Key steps:
- The map aeval hsymm lands in S K N (since hsymm is symmetric)
- Factor aeval hsymm as: MvPolynomial → S K N → P K N
- The composition esymmAlgEquiv'.symm ∘ (factored map) : MvPolynomial → MvPolynomial is surjective (because X_i = esymmAlgEquiv'.symm (esymm (i+1)) and esymm is in the range by Newton-Girard)
- A surjective algebra endomorphism of K[X_1, ..., X_n] is bijective
- Therefore the factored map is bijective, hence aeval hsymm is injective
Label: thm.sf.ftsf
Every symmetric polynomial can be uniquely written as a polynomial in h_1, ..., h_N. (Theorem thm.sf.ftsf (b), generation part). Label: thm.sf.ftsf
Part (c): Power Sums (over ℚ-algebras) #
When K is a ℚ-algebra (e.g., K = ℚ, ℝ, ℂ, or any field of characteristic 0), the power sums p_1, p_2, ..., p_N are also algebraically independent and generate S.
Note: This fails in positive characteristic. For example, over 𝔽_p, we have p_p = x_1^p + ... + x_N^p = (x_1 + ... + x_N)^p = p_1^p by the Frobenius endomorphism.
Weight argument infrastructure for power sum algebraic independence #
The key insight for proving the triangular structure of ψ(X_i) is a weight argument:
- Define weight(X_k) = k+1 for variables X_k in MvPolynomial (Fin N) K
- The map psumAeval' sends X_k to psum(k+1), which is homogeneous of degree k+1
- Therefore psumAeval' maps polynomials of weighted degree w to polynomials of total degree w
- Since esymm(i+1) has total degree i+1, any polynomial P with psumAeval'(P) = esymm(i+1) must have all monomials with weighted degree i+1
- This constrains which variables can appear in P with which exponents
The power sums p_1, ..., p_N are algebraically independent over a ℚ-algebra. (Theorem thm.sf.ftsf (c), algebraic independence part).
The proof follows the same strategy as for hsymm_algebraicIndependent:
- The map aeval psum lands in S K N (since psum is symmetric)
- Factor aeval psum as: MvPolynomial → S K N → P K N
- The composition esymmAlgEquiv'.symm ∘ (factored map) : MvPolynomial → MvPolynomial is surjective (because X_i = esymmAlgEquiv'.symm (esymm (i+1)) and esymm is in the range by Newton's identities)
- A surjective algebra endomorphism of K[X_1, ..., X_n] is bijective (transcendence degree argument)
- Therefore the factored map is bijective, hence aeval psum is injective
Label: thm.sf.ftsf
Over a ℚ-algebra, every symmetric polynomial can be uniquely written as a polynomial in p_1, ..., p_N. (Theorem thm.sf.ftsf (c), generation part). Label: thm.sf.ftsf
Lemma lem.sf.simples-enough: Simple transpositions suffice #
A polynomial f ∈ P is symmetric if and only if s_k · f = f for each k ∈ [N-1], where s_k is the simple transposition swapping k and k+1.
Simple transposition s_k swaps positions k and k+1.
This is an alias for the canonical definition AlgebraicCombinatorics.simpleTransposition
from Permutations/Basics.lean. The canonical definition uses Fin (N - 1) to encode
the constraint that k + 1 < N.
Label: lem.sf.simples-enough
Equations
Instances For
A polynomial is symmetric iff it is invariant under all simple transpositions. (Lemma lem.sf.simples-enough). Label: lem.sf.simples-enough
Example: Antisymmetric Polynomials #
A polynomial f is antisymmetric if σ · f = (-1)^σ · f for all σ ∈ S_N. The square of an antisymmetric polynomial is symmetric.
A polynomial is antisymmetric if σ · f = sign(σ) · f for all permutations σ. Label: exa.sf.PS1
Equations
- AlgebraicCombinatorics.SymmetricPolynomials.IsAntisymm f = ∀ (σ : Equiv.Perm (Fin N)), (MvPolynomial.rename ⇑σ) f = Equiv.Perm.sign σ • f
Instances For
Basic API lemmas for IsAntisymm #
The following lemmas establish that antisymmetric polynomials form a K-submodule of P (but not a subalgebra, since the product of two antisymmetric polynomials is symmetric, not antisymmetric).
The zero polynomial is antisymmetric. Label: exa.sf.PS1
If f is antisymmetric, then -f is antisymmetric. Label: exa.sf.PS1
If f is antisymmetric, then c • f is antisymmetric for any scalar c. Label: exa.sf.PS1
If f and g are antisymmetric, then f + g is antisymmetric. Label: exa.sf.PS1
If f and g are antisymmetric, then f - g is antisymmetric. Label: exa.sf.PS1
The square of an antisymmetric polynomial is symmetric. (Example exa.sf.PS1 (d)). Label: exa.sf.PS1