Noncommutative polynomials with the conjugate-linear star #
MIPRE.NCPoly G is the free complex algebra on the letters G: finite complex combinations of
words in G, multiplied by concatenation. It is a type synonym (a def, not an abbrev) for
MonoidAlgebra ℂ (FreeMonoid G), and carries the involution of the free *-algebra on
self-adjoint generators, (Σ_w c_w w)⋆ = Σ_w conj(c_w) reverse(w): conjugate the coefficients
and reverse the words (MIPRE.NCPoly.coeff_star_apply, MIPRE.NCPoly.star_single). With it
NCPoly G is a StarRing and a StarModule ℂ, and every letter NCPoly.gen g is
self-adjoint.
This is the algebra of the Tsirelson route (planning/tsirelson-campaign.md, §3.1): the
quadratic module of the measurement relations lives in it (MIPRE.Foundations.NCPoly.Cone),
and strategies are evaluations of it on a Hilbert space.
Why a new star, and why a def #
- Mathlib's
FreeAlgebra ℂ Ghas a star (Mathlib.Algebra.Star.Free), but it reverses wordsℂ-linearly: it fixes the scalars,star (algebraMap ℂ _ c) = algebraMap ℂ _ c. It is not aStarModule ℂfor the conjugation ofℂ, sostar (i • 1) ≠ -i • 1, and hermitian squaress⋆ swould not be hermitian in the sense the route needs. It cannot be used. - Mathlib has no
Starinstance onMonoidAlgebra. Declaring one onMonoidAlgebra ℂ (FreeMonoid G)itself (as anabbrevwould) would make the conjugate-reverse star a global instance on a Mathlib type, soNCPoly Gis adef. ItsRingandAlgebra ℂstructures are those of the monoid algebra (inferInstanceAs), and its real structure isModule.complexToReal, so(r : ℝ) • z = (r : ℂ) • zholds byrfland no diamond arises. (Mathlib.Algebra.Star.Freealso puts aStarMulonFreeMonoid G, word reversal; this file does not import it and writesFreeMonoid.reversethroughout.) - Since
NCPoly Gis not reducible to the monoid algebra, the lemmas about it are restated here, as a small transport API (coeff,ofCoeff,single,ext,induction_linear,single_mul_single,one_def,smul_single,basis,lift, …); downstream files use this API and never theMonoidAlgebralemmas.
Main declarations #
MIPRE.NCPoly G, with itsRingandAlgebra ℂinstances;- the transport API:
NCPoly.coeff,NCPoly.ofCoeff,NCPoly.single,NCPoly.ext,NCPoly.coeff_injective,NCPoly.induction_linear,NCPoly.single_mul_single,NCPoly.coeff_mul,NCPoly.one_def,NCPoly.smul_single,NCPoly.sum_single, the monomial basisNCPoly.basis, and the universal propertyNCPoly.lift(NCPoly.lift_single,NCPoly.algHom_ext); - its
Star,StarRingandStarModule ℂinstances, withNCPoly.coeff_star_applyandNCPoly.star_single; NCPoly.gen g, the degree-one monomial of a letter, withNCPoly.star_genandNCPoly.isSelfAdjoint_gen;NCPoly.eval f : NCPoly G →ₐ[ℂ] A, evaluation at an assignmentf : G → Aof the letters, built fromNCPoly.liftandFreeMonoid.lift(NCPoly.eval_single,NCPoly.eval_gen);NCPoly.eval_star: evaluation at self-adjoint letters commutes with the stars;NCPoly.evalStar f hf : NCPoly G →⋆ₐ[ℂ] A, the same evaluation as a⋆-algebra hom.
At the pinned Mathlib MonoidAlgebra is a structure with constructor ofCoeff and field
coeff, so the star is defined on coefficients and transported.
Noncommutative polynomials over ℂ in the letters G: the monoid algebra of the free
monoid, with the conjugate-linear, word-reversing star declared below. A def, so that the star
is not an instance on MonoidAlgebra.
Equations
- MIPRE.NCPoly G = MonoidAlgebra ℂ (FreeMonoid G)
Instances For
The ring structure of the monoid algebra.
Equations
- One or more equations did not get rendered due to their size.
The complex algebra structure of the monoid algebra.
Equations
- MIPRE.NCPoly.instAlgebra = { smul := MIPRE.NCPoly.instAlgebra._aux_1, algebraMap := MIPRE.NCPoly.instAlgebra._aux_3, commutes' := ⋯, smul_def' := ⋯ }
NCPoly G is inhabited, by 0.
Equations
- MIPRE.NCPoly.instInhabited = { default := 0 }
NCPoly G is nontrivial: 0 ≠ 1.
The transport API #
The coefficients of a polynomial, as a finitely supported function on words.
Instances For
The polynomial with prescribed coefficients.
Equations
Instances For
The monomial c w of a word w with coefficient c.
Equations
- MIPRE.NCPoly.single w c = MonoidAlgebra.single w c
Instances For
The coefficients of ofCoeff f are f.
A polynomial is determined by its coefficients.
Extensionality: two polynomials with the same coefficient on every word are equal.
The coefficients of a monomial.
A monomial with coefficient 0 vanishes.
A monomial is a multiple of the monomial with coefficient 1.
The coefficients of the unit.
The coefficients of a product: the coefficient of w in x y is the sum of the
x_u y_v over the factorizations w = u v.
Induction on polynomials: a property that holds at 0, is closed under sums and holds on
monomials holds everywhere.
The monomial basis vector of a word is the monomial with coefficient 1.
The lift of a monoid hom on a monomial.
The star #
Word reversal, as an involutive permutation of FreeMonoid G.
Instances For
Word reversal, applied.
Word reversal is its own inverse.
The empty word is its own reversal.
The star on coefficient functions: conjugate the coefficients, reverse the words.
Equations
Instances For
The star of NCPoly G: (Σ_w c_w w)⋆ = Σ_w conj(c_w) reverse(w).
Equations
- MIPRE.NCPoly.instStar = { star := fun (x : MIPRE.NCPoly G) => MIPRE.NCPoly.ofCoeff (MIPRE.NCPoly.starCoeff x.coeff) }
The coefficient formula for the star: the coefficient of w in x⋆ is the conjugate of the
coefficient of the reversed word in x.
The star of a monomial.
NCPoly G is a ⋆-ring: the star is additive, involutive and reverses products.
Equations
- MIPRE.NCPoly.instStarRing = { toStar := MIPRE.NCPoly.instStar, star_involutive := ⋯, star_mul := ⋯, star_add := ⋯ }
The star is conjugate-linear: (c • x)⋆ = conj c • x⋆.
The star of a monomial with coefficient 1.
Generators #
The generator of a letter: the degree-one monomial single (FreeMonoid.of g) 1.
Equations
Instances For
Generators are self-adjoint.
A word g w is the product of the generator g and the word w.
Evaluation #
On a word, the star of the evaluation at self-adjoint letters is the evaluation of the reversed word.
Evaluation of a monomial.
Evaluation at self-adjoint letters, as a ⋆-algebra hom.
Equations
- MIPRE.NCPoly.evalStar f hf = { toAlgHom := MIPRE.NCPoly.eval f, map_star' := ⋯ }
Instances For
The ⋆-algebra hom of an evaluation is the evaluation.