Documentation

Complexity.Computability.Circuit.Rational.Generator

Rational hitting lists: the generator #

The generator evaluates the polynomial lifts of the certificate pencils at every point of a three-dimensional integer grid, keeps the points at which the normalizing matrix is invertible, and emits the normalized rational matrix tuples. For every admissible nonzero formula with at most s nodes, the certificate determinants are nonzero polynomials of bounded degree, so some grid point avoids all their zeros; the tuple emitted there gives the formula a defined invertible value. The parameters are polynomial in the number of variables and the node-count bound.

Main definitions #

Main results #

References #

Dimension after expanding the cyclotomic matrix representation over the rationals.

Instances For

    Entrywise regular representation, flattening and fixed row-major reindexing.

    Instances For

      The fixed lexicographic three-dimensional integer grid, encoded by Fin H.

      Instances For

        The polynomial lift is evaluated over the exact rational quotient.

        Instances For
          noncomputable def Cslib.Circuits.Rational.Generator.rationalLift (n N e : ℕ) (x : Fin 3 → ℕ) (i : Fin (n + 1)) :

          Expand a specialized lift as a rational matrix.

          Instances For
            noncomputable def Cslib.Circuits.Rational.Generator.tupleAt (n N e : ℕ) (x : Fin 3 → ℕ) :

            Normalize all variable matrices by the zeroth matrix.

            Instances For
              noncomputable def Cslib.Circuits.Rational.Generator.atPoint (n N e : ℕ) (x : Fin 3 → ℕ) :

              The filtering step tests only the zeroth lifted matrix, and receives no formula.

              Instances For
                noncomputable def Cslib.Circuits.Rational.Generator.output (n N e H : ℕ) :

                Collect the normalized tuples emitted at all grid points.

                Instances For

                  The actual emitted rational normalization is the homomorphic image of the quotient normalization. Consequently every original inverse occurrence is kept.

                  theorem Cslib.Circuits.Rational.Generator.emitted {n N e H : ℕ} (x : Fin 3 → Fin H) (hz : IsUnit (specializedLift n N e (fun (i : Fin 3) => ↑(x i) + 1) 0)) :
                  (tupleAt n N e fun (i : Fin 3) => ↑(x i) + 1) ∈ (output n N e H).tuples
                  @[reducible, inline]

                  The Hahn field containing the algebraic witnesses for the generator.

                  Instances For

                    Embed the cyclotomic field into the Hahn witness field.

                    Instances For

                      Reindex the formula's pencil by its explicit finite dimension.

                      Instances For
                        theorem Cslib.Circuits.Rational.Generator.finPencil_unit {n : ℕ} {R : Type u_1} [Ring R] (c : ℚ →+* R) (X : Fin n → R) (f : Formula n) :

                        A one-by-one constant pencil used to enforce normalization.

                        Instances For

                          Determinant polynomials whose simultaneous nonvanishing certifies a hit.

                          Instances For
                            theorem Cslib.Circuits.Rational.Generator.condition_nonzero {n s N e : ℕ} (hs : 1 ≤ s) (f : Formula n) (hf : f.nodeCount ≤ s) (hnz : Nonzero f) (hN : 1 ≤ N) (hMN : CyclotomicRing.dimension e = N + 2 * (n + 1) ^ 3 * (2 * s + 1)) (hM : (2 * s + 1) * (2 * (n + 1) ^ 3 * (2 * s + 1)) < CyclotomicRing.dimension e) (p : MvPolynomial (Fin 3) (CyclotomicRing.R e)) :
                            p ∈ conditions N e f → p ≠ 0
                            theorem Cslib.Circuits.Rational.Generator.condition_degree {n s N e : ℕ} (hs : 1 ≤ s) (f : Formula n) (hf : f.nodeCount ≤ s) :
                            (conditions N e f).length ≤ s + 2 ∧ ∀ p ∈ conditions N e f, p.totalDegree ≤ 3 * (2 * s + 1) * CyclotomicRing.dimension e ^ 2
                            theorem Cslib.Circuits.Rational.Generator.integer_grid {K : Type u_1} [Field K] [CharZero K] (P : List (MvPolynomial (Fin 3) K)) (hP : ∀ p ∈ P, p ≠ 0) (d H : ℕ) (hd : ∀ p ∈ P, p.totalDegree ≤ d) (hH : P.length * d < H) :
                            ∃ (x : Fin 3 → Fin H), ∀ p ∈ P, (MvPolynomial.eval fun (i : Fin 3) => ↑(↑(x i) + 1)) p ≠ 0
                            theorem Cslib.Circuits.Rational.Generator.specialized_unit {K : Type u_1} [Field K] [CharZero K] {n q M N : ℕ} [NeZero M] (χ : AddChar (ZMod M) K) (L : Matrix (Fin q) (Fin q) (Affine.Form n)) (x : Fin 3 → K) (hx : (MvPolynomial.eval x) (PencilCertificates.determinant χ N L) ≠ 0) :
                            theorem Cslib.Circuits.Rational.Generator.onePencil_unit {K : Type u_1} [Field K] [CharZero K] {n : ℕ} {ι : Type u_2} [Fintype ι] [DecidableEq ι] (rationalLift : Fin (n + 1) → Matrix ι ι K) (h : IsUnit ((onePencil n).map (Affine.homogeneous (algebraMap ℚ (Matrix ι ι K)) rationalLift))) :
                            IsUnit (rationalLift 0)
                            theorem Cslib.Circuits.Rational.Generator.output_hits {n s N e H : ℕ} (hs : 1 ≤ s) (hN : 1 ≤ N) (hMN : CyclotomicRing.dimension e = N + 2 * (n + 1) ^ 3 * (2 * s + 1)) (hM : (2 * s + 1) * (2 * (n + 1) ^ 3 * (2 * s + 1)) < CyclotomicRing.dimension e) (hH : (s + 2) * (3 * (2 * s + 1) * CyclotomicRing.dimension e ^ 2) < H) :
                            Hits s (output n N e H)

                            The finite formula-independent list hits every admissible nonzero formula at a defined and invertible original-tree value.

                            The number n + 1 of matrices in a lifted tuple: one per variable, and the normalizing matrix.

                            Instances For

                              Rank parameter for formulas of the given node count.

                              Instances For

                                Dimension allowance in the rank expansion argument.

                                Instances For

                                  Binary logarithm used to choose the next cyclotomic dimension.

                                  Instances For

                                    The least power of two strictly above the rank expansion threshold.

                                    Instances For

                                      Number of retained columns after the dimension allowance.

                                      Instances For

                                        Side length of the integer grid used for specialization.

                                        Instances For
                                          theorem Cslib.Circuits.Rational.Parameters.polynomial_H (n s : ℕ) :
                                          gridSize n s ≤ 49153 * (n + s + 1) ^ 17

                                          The grid side length is polynomial in n + s + 1, for every n, including n = 0: the factor s + 2 is bounded by 2 * (n + s + 1).

                                          The list with all parameters fixed by n and s.

                                          Instances For
                                            theorem Cslib.Circuits.Rational.Generator.algebraic_generator :
                                            ∃ (G : (n : ℕ) → ℕ → Output n), ∀ (n s : ℕ), 1 ≤ s → (G n s).dimension ≤ 256 * (n + s + 1) ^ 10 ∧ (G n s).tuples.length ≤ 49153 ^ 3 * (n + s + 1) ^ 51 ∧ Hits s (G n s)

                                            The algebraic hitting property and the polynomial list-cardinality bound.