Documentation

Complexity.Computability.Circuit.Rational.Executable

The executable hitting-list generator #

A computable version of Generator.list that never computes in the cyclotomic field. At each grid point it materializes the integer lift matrices as dense tables, tests singularity with the staged integer determinant, and computes each normalized entry as a ratio of two integer determinants (Cramer's rule). The resulting list, in the same order, is proved equal to the noncomputable specification.

Main definitions #

Main results #

References #

Dense, staged integer input tables. No quotient-field element is computed.

Instances For
    @[simp]

    Reading the a-th table of inputTables gives Generator.integralLift.

    Cramer's numerators are computed by the staged division-free algorithm.

    Instances For
      @[reducible, inline]

      A finite vector of dense rational matrix tables.

      Instances For

        Read a dense rational table as a matrix substitution.

        Instances For

          Compute the normalized tuple entrywise using determinant ratios.

          Instances For
            @[simp]
            theorem Cslib.Circuits.Rational.ExecutableGenerator.tuple_normalized {n d : ℕ} (A : Vector (DeterminantAlgorithm.Table d) (n + 1)) (den : ℤ) (a : Fin n) (i j : Fin d) :
            tuple (normalized A den) a i j = normalizedEntry (A.get 0) (A.get a.succ) den i j

            Reading tuple (normalized A den) at (a, i, j) gives normalizedEntry.

            The only singularity test; all repeated algebra is materialized in dense tables.

            Instances For

              Exact pointwise equality, including points rejected by the original determinant test.

              A computable generator preserving the list and its order.

              Instances For

                The executable hitting list for the selected parameter values.

                Instances For

                  The executable hitting list equals the specification Generator.list.

                  The complete binary encoding of the executable hitting list.

                  Instances For

                    The encoded executable hitting list equals the encoding of Generator.list.

                    The hitting property and output-size bounds for the computed list.