Documentation

LeanPool.CCDN.Hypersurface.AffineHyperplaneSlice

Parallel affine slices preserve the good leading hyperplane section. Rational restriction equations can then be replaced by integer polynomials without changing their zero sets or total degrees.

noncomputable def CCDN.optionCoordinateShift {K : Type u_1} [CommRing K] {n : ℕ} (c : K) :

The K-algebra automorphism of K[x_none, x_0, …, x_{n-1}] translating the distinguished coordinate x_none by the constant c and fixing the other coordinates.

Equations
Instances For
    noncomputable def CCDN.affineGraphHyperplaneSlice {K : Type u_1} [CommRing K] {n : ℕ} (a : Fin n → K) (c : K) (f : MvPolynomial (Option (Fin n)) K) :

    The restriction of f to the affine hyperplane x_none = ∑ a j * x j + c, written as a polynomial in the remaining coordinates x j.

    Equations
    Instances For
      theorem CCDN.affineGraphHyperplaneSlice_eval {K : Type u_1} [CommRing K] {n : ℕ} (a : Fin n → K) (c : K) (f : MvPolynomial (Option (Fin n)) K) (x : Fin n → K) :
      (MvPolynomial.eval x) (affineGraphHyperplaneSlice a c f) = (MvPolynomial.eval fun (i : Option (Fin n)) => i.elim (∑ j : Fin n, a j * x j + c) x) f

      Evaluating the affine slice affineGraphHyperplaneSlice a c f at x is evaluating f at the point of the hyperplane x_none = ∑ a j * x j + c lying over x.

      The degree-f.totalDegree component of an affine slice of f is the restriction of the top form of f to the parallel linear hyperplane x_none = ∑ a j * x j.

      A nonzero restriction of the top form prevents degree loss at every parallel affine level.