Documentation

CharacteristicSet.Reduce

Reduction relation #

This file defines the reduction relation between multivariate polynomials, a fundamental concept in the Characteristic Set Method.

Main definitions #

def MvPolynomial.reducedTo {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] (q p : MvPolynomial σ R) :

q is reduced with respect to pif q = 0 or if the degree of q in the main variable of p is strictly less than the degree of p.

Note: if p is a constant, then no non-zero q is reduced with respect to p.

Equations
Instances For
    theorem MvPolynomial.zero_reducedTo {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] (p : MvPolynomial σ R) :
    theorem MvPolynomial.not_reducedTo_of_bot_max_vars {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {p q : MvPolynomial σ R} (hq : q 0) :
    theorem MvPolynomial.max_vars_ne_bot_of_reducedTo {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {p q : MvPolynomial σ R} (hq : q 0) :
    theorem MvPolynomial.reducedTo_iff {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {p q : MvPolynomial σ R} {c : σ} (hp : p.vars.max = c) (hq : q 0) :
    @[implicit_reducible]
    Equations
    • One or more equations did not get rendered due to their size.
    theorem MvPolynomial.reducedTo_of_max_vars_lt {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {p q : MvPolynomial σ R} (h : q.vars.max < p.vars.max) :
    theorem MvPolynomial.reducedTo_congr_right {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {p q r : MvPolynomial σ R} (h : p q) :
    theorem MvPolynomial.reducedTo_iff_gt_of_max_vars_eq {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {p q : MvPolynomial σ R} (hq : q 0) (h : q.vars.max = p.vars.max) :
    q.reducedTo p q < p
    theorem MvPolynomial.not_reduceTo_self {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {p : MvPolynomial σ R} (h : p 0) :
    theorem MvPolynomial.max_vars_lt_of_reducedTo_of_le {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {p q : MvPolynomial σ R} (h1 : q 0) (h2 : p q) (h3 : q.reducedTo p) :
    theorem MvPolynomial.lt_of_reducedTo_of_le {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {p q : MvPolynomial σ R} (h1 : q 0) (h2 : p q) (h3 : q.reducedTo p) :
    p < q
    def MvPolynomial.reducedToSet {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {α : Type u_3} [Membership (MvPolynomial σ R) α] (q : MvPolynomial σ R) (a : α) :

    q is reduced with respect to a set a if it is reduced with respect to all elements of a.

    Equations
    Instances For
      theorem MvPolynomial.reducedToSet_def {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {α : Type u_3} [Membership (MvPolynomial σ R) α] {q : MvPolynomial σ R} {a : α} :
      q.reducedToSet a pa, q.reducedTo p
      theorem MvPolynomial.zero_reducedToSet {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {α : Type u_3} [Membership (MvPolynomial σ R) α] {a : α} :
      theorem MvPolynomial.initial_reducedTo {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {p q : MvPolynomial σ R} :
      theorem MvPolynomial.initial_reducedToSet {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {α : Type u_4} [Membership (MvPolynomial σ R) α] {p : MvPolynomial σ R} {a : α} :
      theorem MvPolynomial.reducedToSet_iff {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {S : TriangularSet σ R} {q : MvPolynomial σ R} :
      q.reducedToSet S i < S.length, q.reducedTo (S i)
      @[implicit_reducible]
      Equations
      theorem MvPolynomial.reducedToSet_congr_right {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {S T : TriangularSet σ R} {q : MvPolynomial σ R} :
      S T → (q.reducedToSet S q.reducedToSet T)
      theorem TriangularSet.takeConcat_lt_of_reducedToSet {R : Type u_1} {σ : Type u_2} [CommSemiring R] [DecidableEq R] [LinearOrder σ] {S : TriangularSet σ R} {p : MvPolynomial σ R} (p_ne_zero : p 0) (hp : p.reducedToSet S) :

      Key Lemma for the Basic Set Algorithm: If p is non-zero and reduced with respect to S, then modifying S by appending p (using takeConcat) strictly decreases the order of the triangular set. This order decrease is what guarantees the termination of the characteristic set computation.