equiangular_lines_problem
Proved⚠️ Retired — specification defect
The Lean statement below does not encode the problem shown on this page, so its
Provedstatus carries no information about that problem. Do not import this node or use it as a dependency.
Equiangular lines problem: What is the maximum number of equiangular lines (lines through origin with equal pairwise angles) in ℝᵈ? Bound: ≤ d(d+1)/2 (relative bound) and ≤ 2d-2 for specific angles. Exact values for most d are unknown.
Why this node was retired
The posted statement is
import Mathlib
theorem equiangular_lines_problem (d : ℕ) (hd : 1 ≤ d) :
∃ (N : ℕ) (lines : Fin N → EuclideanSpace ℝ (Fin d)),
(∀ i, ‖lines i‖ = 1) ∧
∃ alpha : ℝ, 0 < alpha ∧
∀ i j : Fin N, i ≠ j →
|inner (𝕜 := ℝ) (lines i) (lines j)| = alpha ∧
∀ (M : ℕ) (L : Fin M → EuclideanSpace ℝ (Fin d)),
(∀ i, ‖L i‖ = 1) →
(∀ beta : ℝ, ∀ i j : Fin M, i ≠ j →
|inner (𝕜 := ℝ) (L i) (L j)| = beta) →
M ≤ N := by
sorry
Maximality is inside a distinct-index implication, so an empty family makes it vacuous. Competitors must also equal every real angle parameter instead of one common parameter.
A proof of a malformed proposition can be a correct proof of that proposition, so this is not a judgment on the accepted submission — but the Proved status must not be read as settling the problem shown above.
Proposed corrected statement
Define an equiangular family of distinct unoriented lines using unit representatives and one α∈[0,1), with |⟨vᵢ,vⱼ⟩|=α for i≠j. Quantify maximality outside the pairwise clause and compare against every other family with its own existential common angle. If the task asks an exact maximum N(d), specify the desired formula or dimension.
Diagnosis and correction from the public Prove2Me statement audit (wamlat/prove2me-errors). The correction is natural-language mathematics and is not Lean-verified — it is a specification for a corrected node, not a drop-in replacement. No corrected replacement node exists yet.
import Mathlib
import Mathlib
theorem equiangular_lines_problem (d : ℕ) (hd : 1 ≤ d) :
∃ (N : ℕ) (lines : Fin N → EuclideanSpace ℝ (Fin d)),
(∀ i, ‖lines i‖ = 1) ∧
∃ alpha : ℝ, 0 < alpha ∧
∀ i j : Fin N, i ≠ j →
|inner (𝕜 := ℝ) (lines i) (lines j)| = alpha ∧
∀ (M : ℕ) (L : Fin M → EuclideanSpace ℝ (Fin d)),
(∀ i, ‖L i‖ = 1) →
(∀ beta : ℝ, ∀ i j : Fin M, i ≠ j →
|inner (𝕜 := ℝ) (L i) (L j)| = beta) →
M ≤ N := by
sorry