Documentation

TauCeti.ModelTheory.Algebra.OrderedRing.SignCondition

Quantifier-free formulas of ordered rings as sign conditions #

A quantifier-free formula of the language of ordered rings Language.ring.sum Language.order is a Boolean combination of equations t₁ = t₂ and inequalities t₁ ≤ t₂ between terms, and a term is an integer polynomial (FirstOrder.Language.Term.toMvPolynomial). This file proves that such formulas are exactly the sign conditions on finitely many integer polynomials: conditions that depend only on the signs of the values of the polynomials.

The polynomials, the sign condition and the formula do not depend on the structure in which the formula is interpreted: the equivalences hold in every commutative ring with a compatible linear order, with the ring symbols and ≤ interpreted as usual. The first statement needs the order to be compatible with addition, since t₁ ≤ t₂ becomes the condition that t₁ - t₂ is not positive. The second needs no such compatibility, since a sign condition on p compares p with 0.

These are the formula-level translation laws between formulas of ordered rings and polynomial sign conditions. Over a fixed ring they identify semialgebraic sets with quantifier-free definable sets, as in TauCeti.Geometry.RealAlgebraic.Semialgebraic.Formula.

References #

S. Basu, R. Pollack, and M.-F. Roy, Algorithms in Real Algebraic Geometry, second edition, Section 2.3, for quantifier-free formulas and sign conditions.

The quantifier-free formula saying that the value of the term t has sign s.

Instances For

    The formula t.signFormula s is quantifier-free.

    @[simp]

    The formula t.signFormula s holds exactly when the value of t has sign s.

    theorem FirstOrder.Language.BoundedFormula.IsQF.exists_realize_iff_sign {α : Type u_1} {n : ℕ} {φ : (ring.sum Language.order).BoundedFormula α n} (hφ : φ.IsQF) :
    ∃ (m : ℕ) (p : Fin m → MvPolynomial (α ⊕ Fin n) ℤ) (Φ : (Fin m → SignType) → Prop), ∀ (R : Type u) [inst : CommRing R] [inst_1 : Ring.CompatibleRing R] [inst_2 : Language.order.Structure R] [inst_3 : LinearOrder R] [IsOrderedAddMonoid R] [(ring.sum Language.order).OrderedStructure R] (v : α → R) (xs : Fin n → R), φ.Realize v xs ↔ Φ fun (i : Fin m) => SignType.sign ((MvPolynomial.aeval (Sum.elim v xs)) (p i))

    A quantifier-free formula is a sign condition. For a quantifier-free formula φ of ordered rings there are finitely many integer polynomials p i in the free and bound variables of φ, and a condition Φ on their signs, such that in every commutative ring with a compatible linear order φ holds exactly when Φ holds of the signs of the values of the p i.

    theorem FirstOrder.Language.BoundedFormula.exists_isQF_realize_iff_sign {α : Type u_1} {n : ℕ} {ι : Type u_2} [Finite ι] (p : ι → MvPolynomial (α ⊕ Fin n) ℤ) (Φ : (ι → SignType) → Prop) :
    ∃ (φ : (ring.sum Language.order).BoundedFormula α n), φ.IsQF ∧ ∀ (R : Type u) [inst : CommRing R] [inst_1 : Ring.CompatibleRing R] [inst_2 : Language.order.Structure R] [inst_3 : LinearOrder R] [(ring.sum Language.order).OrderedStructure R] (v : α → R) (xs : Fin n → R), φ.Realize v xs ↔ Φ fun (i : ι) => SignType.sign ((MvPolynomial.aeval (Sum.elim v xs)) (p i))

    A sign condition is a quantifier-free formula. For finitely many integer polynomials p i and a condition Φ on their signs there is a quantifier-free formula of ordered rings which, in every commutative ring with a compatible linear order, holds exactly when Φ holds of the signs of the values of the p i.