Constructing Ring terms from MvPolynomial #
This file provides tools for constructing ring terms that can be evaluated to particular
MvPolynomials. The main motivation is in model theory. It can be used to construct first order
formulas whose realization is a property of an MvPolynomial
Main definitions #
FirstOrder.Ring.genericPolyMapis a function that given a finite set of monomialsmonoms : ι → Finset (κ →₀ ℕ)returns a functionι → FreeCommRing ((Σ i : ι, monoms i) ⊕ κ)such thatgenericPolyMap monoms iis a ring term that can be evaluated to a polynomialp : MvPolynomial κ Rsuch thatp.support ⊆ monoms i.
Given a finite set of monomials monoms : ι → Finset (κ →₀ ℕ), the
genericPolyMap monoms is an indexed collection of elements of the FreeCommRing,
that can be evaluated to any collection p : ι → MvPolynomial κ R of
polynomials such that ∀ i, (p i).support ⊆ monoms i.
Equations
- FirstOrder.Ring.genericPolyMap monoms i = ∑ m ∈ (monoms i).attach, FreeCommRing.of (Sum.inl ⟨i, m⟩) * (↑m).prod fun (j : κ) (n : ℕ) => FreeCommRing.of (Sum.inr j) ^ n
Instances For
noncomputable def
FirstOrder.Ring.mvPolynomialSupportLEEquiv
{ι : Type u_1}
{κ : Type u_2}
{R : Type u_3}
[DecidableEq κ]
[CommRing R]
[DecidableEq R]
(monoms : ι → Finset (κ →₀ ℕ))
:
Collections of MvPolynomials, p : ι → MvPolynomial κ R such
that ∀ i, (p i).support ⊆ monoms i can be identified with functions
(Σ i, monoms i) → R by using the coefficient function
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
FirstOrder.Ring.MvPolynomialSupportLEEquiv_symm_apply_coeff
{ι : Type u_1}
{κ : Type u_2}
{R : Type u_3}
[DecidableEq κ]
[CommRing R]
[DecidableEq R]
(p : ι → MvPolynomial κ R)
:
@[simp]
theorem
FirstOrder.Ring.lift_genericPolyMap
{ι : Type u_1}
{κ : Type u_2}
{R : Type u_3}
[DecidableEq κ]
[CommRing R]
[DecidableEq R]
(monoms : ι → Finset (κ →₀ ℕ))
(f : (i : ι) × { x : κ →₀ ℕ // x ∈ monoms i } ⊕ κ → R)
(i : ι)
:
(FreeCommRing.lift f) (genericPolyMap monoms i) = (MvPolynomial.eval (f ∘ Sum.inr)) (↑((mvPolynomialSupportLEEquiv monoms).symm (f ∘ Sum.inl)) i)