Chapter 11: formalize Theorem 1 (the Sylvester–Gallai theorem)#140
Open
Solarys431 wants to merge 1 commit into
Open
Chapter 11: formalize Theorem 1 (the Sylvester–Gallai theorem)#140Solarys431 wants to merge 1 commit into
Solarys431 wants to merge 1 commit into
Conversation
Kelly's proof, as in the book: over all triples of non-collinear points, minimize the distance from a point to the line through the other two; that line carries a third point, two of the three fall on the same side of the foot of the perpendicular, and they yield a strictly closer triple. Rendered purely vectorially (inner product only); the pigeonhole step is isolated over the reals, which is where the order of the base field enters. Stated with no dimension hypothesis. No sorry; axioms are [propext, Classical.choice, Quot.sound]. Theorems 2-4 and the appendix remain open. Co-Authored-By: Claude (Fable 5, 1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FmdzrUz6NjYCWKvPTiR88L
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Formalizes Theorem 1 of Chapter 11, the Sylvester–Gallai theorem. Theorems 2–4 and the appendix are left as they are.
IsOrdinaryLine S a b:a ≠ bare points ofS, and every point ofSon the line through them isaorb.The proof
Kelly's, as in the book: over all triples of non-collinear points, take the one minimizing the distance from a point to the line through the other two; that line carries a third point of
S, two of the three fall on the same side of the foot of the perpendicular, and that yields a strictly closer triple.Two points worth flagging:
perp w z, the component ofzorthogonal tow: it is linear inz, and the strict inequality is⟪A, w⟫ = ‖A‖ ^ 2 > 0(the minimizing point is not the foot of the perpendicular).Pigeonhole.three). That is where the order ofℝis used, and it must be used somewhere: the theorem is false overℂ.The distance to a line is defined from
perprather thanMetric.infDist, and the minimum is over triples of points rather than point/line pairs — as the book phrases Kelly's minimization. The final statement mentions no distances.Generality
Proved in an arbitrary real inner product space with its affine torsor, with no dimension hypothesis — Kelly's proof never needs one. The classical plane is
EuclideanSpace ℝ (Fin 2); I can add it as a corollary if the chapter prefers.Checks
lake buildpasses on the whole project (v4.27.0-rc1); bothlint.ymlstyle checks pass.sorry.#print axioms chapter11.SylvesterGallai.sylvester_gallai→[propext, Classical.choice, Quot.sound].Prior art
Not in mathlib. In Lean 4, YaelDillies/misc-yd proves Sylvester–Chvátal (Chen's metric generalization); its Euclidean corollary — the statement here — is left there in a commented-out block with a
sorry. A Lean 3 development also exists (Happyves/Master_Thesis).Methodological note
I built a pipeline for validating proofs and formalizations of mathematical theorems, driven by AI (Claude, by Anthropic); this file is its output. I am not a mathematician, but a software developer, so I would be very glad of the community's help in making sure the work is rigorous and correct by the standards I have set for it.
On naming, structure and level of generality I will follow your conventions.
Companion issue: #139.