FormalConjectures/Arxiv/2402.13202/CirculantHadamard.lean
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:
- S. Steinerberger, A note on approximate Hadamard matrices
- def
CirculantHadamard.orderFourGeneratorA generator for a circulant Hadamard matrix of order four line 37 sourceSource 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,RealProof uses:
Matrix.vecCons,Neg.neg,Matrix.vecEmpty5 instances, coercions and auxiliary constants left out.
def orderFourGenerator : Fin 4 → ℝ := …
- theorem
CirculantHadamard.orderFourGenerator_isHadamardThe order-four generator gives a circulant Hadamard matrix line 42 sourceSource 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.orderFourGeneratorProof 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_ltand 97 more124 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
- theorem
CirculantHadamard.circulant_hadamard_conjectureEvery circulant Hadamard matrix has order at most four sorry line 55 sourceSource 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.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous6 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'