Pair Graph Triangle Free Bool of trace zero tau zero
ProvedD1Bound5.pairGraphTriangleFreeBool_of_trace_zero_tau_zerodiophantine-tuplesnumber-theory
In the trace-zero model with nu>1, checking the trace of every listed vertex replaces all pair comparisons. The original graph predicate remains unchanged, and its nonzero guards supply the algebraic endpoint's hypotheses.
Preamble
import Mathlib.Algebra.QuadraticAlgebra.Basic import Mathlib.Algebra.Ring.Basic import Mathlib.Algebra.Ring.Equiv import Mathlib.Analysis.Complex.Basic import Mathlib.Analysis.Complex.Norm import Mathlib.Analysis.Complex.Polynomial.Basic import Mathlib.Data.Finset.Card import Mathlib.Data.Finset.Prod import Mathlib.Data.Int.GCD import Mathlib.Data.Int.Interval import Mathlib.Data.Int.Sqrt import Mathlib.Data.ZMod.Basic import Mathlib.LinearAlgebra.Dimension.Free import Mathlib.NumberTheory.NumberField.InfinitePlace.TotallyRealComplex import Mathlib.NumberTheory.NumberField.Norm import Mathlib.Tactic.FieldSimp import Mathlib.Tactic.Linarith import Mathlib.Tactic.LinearCombination import Mathlib.Tactic.Ring import Definitions.Def_D1Bound5_Coordinates_Definitions import Definitions.Def_D1Bound5_FastSquareTest_Definitions import Definitions.Def_D1Bound5_PairGraphNoThreeTransfer_Definitions import Definitions.Def_D1Bound5_SmallPairGraphCheck_Definitions
Formal statement
section
namespace D1Bound5
open QuadInt
theorem _root_.D1Bound5.pairGraphTriangleFreeBool_of_trace_zero_tau_zero {nu : ℤ}
(hnu : 1 < nu) (sieve : List (ℕ × ℕ))
(hvalid : CoordinateSquareSieveValid 0 nu sieve)
(vertices : List (QuadInt 0 nu))
(htrace : pairAllTraceZeroBool vertices = true) :
pairGraphTriangleFreeBool sieve vertices = true := by sorry
end D1Bound5
end
Source
D1Bound5/PairTraceZeroGraph.lean, lines 7-25, SHA-256 0d64054a8011cced0bc7f67ef2726805eba0ee9f00ed409f60ae1163ef294ee0. Project: https://github.com/tomislav-math/d1-bound5-lean