FormalConjectures/Arxiv/2402.13202/CirculantHadamard.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1

3 declarations, 1 contain sorry, 0 declared as axioms

The circulant Hadamard conjecture

A circulant matrix is generated by cyclically shifting one row. The circulant Hadamard conjecture, also attributed to Ryser, says that no circulant Hadamard matrix has order greater than $4$.

Reference:

Imports (2)
  1. def CirculantHadamard.orderFourGenerator A generator for a circulant Hadamard matrix of order four line 37 source

    Source documentation

    A generator for a circulant Hadamard matrix of order four.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Fin, OfNat.ofNat, Nat, Real

    Proof uses: Matrix.vecCons, Neg.neg, Matrix.vecEmpty

    5 instances, coercions and auxiliary constants left out.

    def orderFourGenerator : Fin 4 → ℝ :=
    …
  2. theorem CirculantHadamard.orderFourGenerator_isHadamard The order-four generator gives a circulant Hadamard matrix line 42 source

    Source documentation

    The order-four generator gives a circulant Hadamard matrix.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Hadamard.IsHadamard', OfNat.ofNat, Nat, Matrix.circulant, Real, Fin, CirculantHadamard.orderFourGenerator

    Proof uses: And.intro, Membership.mem, Finset, Insert.insert, Singleton.singleton, Neg.neg, Eq, Matrix, HMul.hMul, Matrix.transpose, List, List.Mem, List.finRange, HEq, Fintype.elems, Fintype.complete, List.cons, List.Mem.head, Fin.mk, Nat.le_of_lt and 97 more

    124 instances, coercions and auxiliary constants left out.

    Tactic trace: 11 steps

    Open to load the checked before-and-after goal states.

    theorem orderFourGenerator_isHadamard :
        Hadamard.IsHadamard' (Matrix.circulant orderFourGenerator) := by
    …

    Mentions: Hadamard.IsHadamard', CirculantHadamard.orderFourGenerator

  3. theorem CirculantHadamard.circulant_hadamard_conjecture Every circulant Hadamard matrix has order at most four sorry line 55 source

    Source documentation

    Every circulant Hadamard matrix has order at most four.

    depends on sorry what this means

    Statement uses: Nat, Fin, Real, Hadamard.IsHadamard', Matrix.circulant, LE.le, OfNat.ofNat

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    6 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem circulant_hadamard_conjecture {n : ℕ} (v : Fin n → ℝ)
        (hv : Hadamard.IsHadamard' (Matrix.circulant v)) : n ≤ 4 := by
    …

    Mentions: Hadamard.IsHadamard'