Documentation

Complexitylib.RationalHitting.Internal.BlockDivision

Rational hitting lists: block division #

Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a. Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/RationalHitting/BlockDivision.lean

Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical arguments are retained.

@[reducible, inline]

Lexicographically ordered integer exponents for two-variable monomials.

Equations
Instances For

    Embed a two-variable natural exponent vector into the ordered exponent group.

    Equations
    Instances For

      The Hahn monomial corresponding to a polynomial variable.

      Equations
      Instances For

        Embed bivariate polynomials into the Hahn-series ring.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Complexity.RationalHitting.BlockDivision.blockEmbedding {D : Type u_1} {E : Type u_2} [DivisionRing D] [Field E] {m : Type u_3} {κ : Type u_4} [Fintype m] [DecidableEq m] [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) :
          Matrix m m D →+* Matrix (m × κ) (m × κ) E

          Extend a matrix representation entrywise to block matrices.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Complexity.RationalHitting.BlockDivision.kernelRows {D : Type u_1} {E : Type u_2} [DivisionRing D] [Field E] {m : Type u_3} {κ : Type u_4} [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) (v : m → D) :
            (κ → E) →ₗ[E] m × κ → E

            A nonzero row of a division-ring kernel expands into d independent ordinary kernel rows after a faithful d-dimensional representation.

            Equations
            Instances For
              theorem Complexity.RationalHitting.BlockDivision.kernelRows_injective {D : Type v_1} {E : Type v_2} [DivisionRing D] [Field E] {m : Type v_3} {κ : Type v_4} [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) (v : m → D) (hv : v ≠ 0) :
              theorem Complexity.RationalHitting.BlockDivision.kernelRows_mem {D : Type u_1} {E : Type u_2} [DivisionRing D] [Field E] {m : Type u_3} {κ : Type u_4} [Fintype m] [DecidableEq m] [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) (A : Matrix m m D) (v : m → D) (hv : Matrix.vecMul v A = 0) (x : κ → E) :
              theorem Complexity.RationalHitting.BlockDivision.rank_gap {D : Type u_1} {E : Type u_2} [DivisionRing D] [Field E] {m : Type u_3} {κ : Type u_4} [Fintype m] [DecidableEq m] [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) (A : Matrix m m D) :

              The rank gap obtained by block elimination over a division ring.

              theorem Complexity.RationalHitting.BlockDivision.isUnit_of_rank_gt {D : Type u_1} {E : Type u_2} [DivisionRing D] [Field E] {m : Type u_3} {κ : Type u_4} [Fintype m] [DecidableEq m] [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) (A : Matrix m m D) (hq : 1 ≤ Fintype.card m) (h : (Fintype.card m - 1) * Fintype.card κ < ((blockEmbedding φ) A).rank) :
              theorem Complexity.RationalHitting.RankSpecialization.rank_le {K : Type u_1} {P : Type u_2} {E : Type u_3} {ι : Type u_4} [Field K] [CommRing P] [Field E] [Algebra K P] [Fintype ι] [DecidableEq ι] (ev : P →ₐ[K] K) (inclusion : P →+* E) (hinj : Function.Injective ⇑inclusion) (A : Matrix ι ι P) :
              (ev.mapMatrix A).rank ≤ (inclusion.mapMatrix A).rank

              Specialization cannot raise the generic rank. This version requires no unstated minor criterion: a rank normal form supplies a nonzero minor after constant row and column changes.