Documentation

MIPRE.Foundations.SAT.NormalElement

A normal element from primitive Frobenius projections #

def MIPRE.SAT.firstNonzero {E : Type u_1} [Zero E] [DecidableEq E] :
List E → E

Deterministically select the first nonzero element, with zero as the empty default.

Equations
Instances For
    theorem MIPRE.SAT.firstNonzero_eq_zero_iff {E : Type u_1} [Zero E] [DecidableEq E] (l : List E) :
    firstNonzero l = 0 ↔ ∀ a ∈ l, a = 0
    theorem MIPRE.SAT.firstNonzero_property {E : Type u_1} [Zero E] [DecidableEq E] (P : E → Prop) (hzero : P 0) (l : List E) (hl : ∀ a ∈ l, P a) :
    noncomputable def MIPRE.SAT.shoupProjectedVector (k : ℕ) (hk : 1 ≤ k) [NeZero k] (e : AddMonoidAlgebra (ZMod 2) (Fin k)) :

    Scan the polynomial basis for the first nonzero image of a cyclic operator.

    Equations
    Instances For
      theorem MIPRE.SAT.shoupProjectedVector_ne_zero (k : ℕ) (hk : 1 ≤ k) [NeZero k] (e : AddMonoidAlgebra (ZMod 2) (Fin k)) (he : e ≠ 0) :
      theorem MIPRE.SAT.shoupProjectedVector_supported (k : ℕ) (hk : 1 ≤ k) [NeZero k] (e : AddMonoidAlgebra (ZMod 2) (Fin k)) (he : e * e = e) :
      noncomputable def MIPRE.SAT.shoupNormalElement (k : ℕ) (hk : 1 ≤ k) [NeZero k] :

      Sum the selected nonzero projected vectors, in the computed component order.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        noncomputable def MIPRE.SAT.shoupNormalOrbitMap (k : ℕ) (hk : 1 ≤ k) [NeZero k] :

        Evaluation at the constructed element is a linear map from the cyclic algebra.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          No nonzero cyclic operator kills the sum: each primitive component has its own nonzero image.

          theorem MIPRE.SAT.shoupNormalElement_linearIndependent (k : ℕ) (hk : 1 ≤ k) [NeZero k] (hodd : Odd k) :
          LinearIndependent (ZMod 2) fun (i : Fin k) => shoupNormalElement k hk ^ 2 ^ ↑i

          The orbit of the computed normal element is linearly independent.

          noncomputable def MIPRE.SAT.shoupNormalBasis (k : ℕ) (hk : 1 ≤ k) [NeZero k] (hodd : Odd k) :

          The explicitly constructed Frobenius orbit as a basis.

          Equations
          Instances For
            @[simp]
            theorem MIPRE.SAT.shoupNormalBasis_apply (k : ℕ) (hk : 1 ≤ k) [NeZero k] (hodd : Odd k) (i : Fin k) :
            (shoupNormalBasis k hk hodd) i = shoupNormalElement k hk ^ 2 ^ ↑i