Documentation

LeanMlir.Proofs.Foundation.GramQ

Gram-matrix identities by one kernel check #

The Lipschitz certificates bound ‖W‖₂ through Gram matrices G = W Wᵀ (and H = Gᵀ G for the Schatten-8 step), and each instance has to establish ∀ a b, G a b = ∑ j, W a j * W b j for concrete rational data. Over , entry by entry with simp/norm_num, that cost up to ~270 s per matrix. Here the data is , the matrices are DEFINED as its cast (castM), and gram_eq_of_check turns one kernel-evaluated gramCheck into the whole identity; abs_le_of_check does the same for an entrywise bound |A i j| ≤ c.

H = Gᵀ G is the same statement with W := fun a c => G c a.

def Proofs.castM {m n : } (A : Fin mFin n) :
Fin mFin n

A matrix read over .

Equations
Instances For
    def Proofs.rowDotQ {m n : } (W : Fin mFin n) (a b : Fin m) :

    ∑ j, W a j * W b j over , as a sum the kernel can evaluate.

    Equations
    Instances For
      def Proofs.gramCheck {m n : } (G : Fin mFin m) (W : Fin mFin n) :

      Every entry of G is the row inner product of W — the check decide +kernel runs.

      Equations
      Instances For
        theorem Proofs.gram_eq_of_check {m n : } (G : Fin mFin m) (W : Fin mFin n) (h : gramCheck G W = true) (a b : Fin m) :
        castM G a b = j : Fin n, castM W a j * castM W b j

        A passing gramCheck is the Gram identity over .

        def Proofs.absLeCheck {m n : } (A : Fin mFin n) (c : ) :

        Every entry of A is at most c in absolute value — the check decide +kernel runs.

        Equations
        Instances For
          theorem Proofs.abs_le_of_check {m n : } (A : Fin mFin n) (c : ) (h : absLeCheck A c = true) (i : Fin m) (j : Fin n) :
          |castM A i j| c

          A passing absLeCheck bounds every entry over .