Euclidean geometry · formal theorem

Butterfly Theorem

In the checked nondegenerate butterfly configuration, the opposite-chord intersections X and Y have the original chord midpoint M as their midpoint.

Lean proofpassed
Unfinished proof stepsNone
Formal resultAccepted
Butterfly theorem statement mapA nondegenerate circle-and-chord configuration sends two opposite-chord intersections back to a pair whose midpoint is the original chord midpoint.
Exact scope: For the recorded nondegenerate coordinate-circle butterfly configuration, M is the midpoint of the two uniquely specified opposite-chord intersections X and Y.

Line counts exclude blank lines; comments and documentation count. The total is the commit-pinned first-party Lean import closure; Mathlib and other third-party dependencies are excluded.

The theorem at a glance

Butterfly Theorem at a glance

A chord midpoint forces the two crossed-line intersections to be symmetric about it.
A chord midpoint forces the two crossed-line intersections to be symmetric about it.

Accessible transcript

M = midpoint(X,Y)

The exact nondegenerate midpoint statement and coordinate proof route are presented without risking a misleading labeled construction.

Read the complete poster transcript

EUCLIDEAN GEOMETRY · CIRCLE AND CHORDS

NONDEGENERATE BUTTERFLY THEOREM

ONE CHORD MIDPOINT FORCES ANOTHER

M = midpoint(P,Q)

X = PQ ∩ AD

Y = PQ ∩ BC

M = midpoint(X,Y)

P ≠ Q · A ≠ B · C ≠ D

Both base intersections are unique.

HOW THE PROOF MOVES

NORMALIZE THE BASE CHORD · COVER FINITE AND VERTICAL CHARTS · APPLY THE SECANT RELATIONS · DERIVE OPPOSITE BASE COORDINATES · TRANSPORT THE MIDPOINT BACK

EXACT SCOPE

Distinct chord endpoints in the three stated pairs and unique intersections; collapsed same-chord configurations are excluded.

Theorem schematic

A midpoint symmetry hidden in crossed chords

Crossed chords recover the original midpoint on the base line.
Crossed chords recover the original midpoint on the base line.

M = midpoint(X,Y)

The nondegenerate configuration begins with a midpoint M on chord PQ; two chords through M generate base intersections X and Y whose midpoint returns to M.

Proof architecture

How the nondegenerate Butterfly Theorem is proved

7 curated stages

Follow the coordinate proof from the exact nondegenerate configuration through normalization, complete chart coverage, secant relations, and transport back.

These source-anchored stages explain the retained proof route. They are not an extracted Lean proof-term dependency graph.

  1. The base chord, two through-M chords, and two unique base intersections set the theorem's scope.
    The base chord, two through-M chords, and two unique base intersections set the theorem's scope.
    01

    Fix the exact nondegenerate configuration

    The formal hypotheses require P≠Q, A≠B, C≠D, and unique base-line intersections; they do not require all six circle endpoints to be pairwise distinct.

    Lean lemmas for this step
    • ButterflyConfiguration
    • ButterflyHyp
    • DistinctChordEndpoints
    • UniqueIntersection
    • baseNormalize
    • baseNormalizedCheckedChartCoverage
    • baseNormalizedButterflyTheorem
    • nondegenerateButterflyTheorem
  2. The arbitrary configuration is transported to a normalized base coordinate.
    The arbitrary configuration is transported to a normalized base coordinate.
    02

    Normalize the base chord

    baseNormalize

    An affine coordinate change sends the tilted base chord to a horizontal normal form while preserving the relevant line incidences and midpoint relation.

    Lean lemmas for this step
    • ButterflyConfiguration
    • ButterflyHyp
    • DistinctChordEndpoints
    • UniqueIntersection
    • baseNormalize
    • baseNormalizedCheckedChartCoverage
    • baseNormalizedButterflyTheorem
    • nondegenerateButterflyTheorem
  3. Finite and vertical coordinate charts cover both auxiliary chords.
    Finite and vertical coordinate charts cover both auxiliary chords.
    03

    Cover the four auxiliary-chord charts

    Each of the two through-M chords is either represented by a finite slope or a vertical chart, producing four cases that cover the normalized configuration.

    Lean lemmas for this step
    • ButterflyConfiguration
    • ButterflyHyp
    • DistinctChordEndpoints
    • UniqueIntersection
    • baseNormalize
    • baseNormalizedCheckedChartCoverage
    • baseNormalizedButterflyTheorem
    • nondegenerateButterflyTheorem
  4. Secant-pair relations constrain the normalized endpoints.
    Secant-pair relations constrain the normalized endpoints.
    04

    Apply the circle secant relations

    Circle membership links the endpoint coordinate pairs on each through-M chord, supplying the algebraic relations used by the intersection formulas.

    Lean lemmas for this step
    • ButterflyConfiguration
    • ButterflyHyp
    • DistinctChordEndpoints
    • UniqueIntersection
    • baseNormalize
    • baseNormalizedCheckedChartCoverage
    • baseNormalizedButterflyTheorem
    • nondegenerateButterflyTheorem
  5. The two base intersections sit at opposite coordinates around the normalized midpoint.
    The two base intersections sit at opposite coordinates around the normalized midpoint.
    05

    Derive opposite base coordinates

    x_X = -x_Y

    Solving the two unique line intersections shows that their normalized base coordinates are negatives of one another.

    Lean lemmas for this step
    • ButterflyConfiguration
    • ButterflyHyp
    • DistinctChordEndpoints
    • UniqueIntersection
    • baseNormalize
    • baseNormalizedCheckedChartCoverage
    • baseNormalizedButterflyTheorem
    • nondegenerateButterflyTheorem
  6. Every coordinate chart proves the same normalized midpoint equality.
    Every coordinate chart proves the same normalized midpoint equality.
    06

    All charts return the same midpoint

    0 = midpoint(x_X,x_Y)

    The finite/vertical case split converges on one statement: the normalized origin is the midpoint of the two base intersections.

    Lean lemmas for this step
    • ButterflyConfiguration
    • ButterflyHyp
    • DistinctChordEndpoints
    • UniqueIntersection
    • baseNormalize
    • baseNormalizedCheckedChartCoverage
    • baseNormalizedButterflyTheorem
    • nondegenerateButterflyTheorem
  7. The midpoint result returns from normalized coordinates to the original geometry.
    The midpoint result returns from normalized coordinates to the original geometry.
    07

    Transport the midpoint back

    M = midpoint(X,Y)

    Undoing the normalization preserves midpoint and incidence, carrying the normalized symmetry back to the original tilted circle configuration.

    Lean lemmas for this step
    • ButterflyConfiguration
    • ButterflyHyp
    • DistinctChordEndpoints
    • UniqueIntersection
    • baseNormalize
    • baseNormalizedCheckedChartCoverage
    • baseNormalizedButterflyTheorem
    • nondegenerateButterflyTheorem

Exact formal proposition

Hypotheses and conclusion

theorem nondegenerateButterflyTheorem : NondegenerateButterflyTheoremStatement

Result boundary

What this page does—and does not—establish

For the recorded nondegenerate coordinate-circle butterfly configuration, M is the midpoint of the two uniquely specified opposite-chord intersections X and Y.

About these visual explanations

These AI-generated visuals explain the theorem and proof route; they are not proof evidence. Their publication review was completed separately from review of the formal result. The exact Lean proposition and checked source remain authoritative.

Continue the mathematics

Start from the complete checked source

The pinned theorem and its complete local import closure let internal and external agents inspect the proof, compare an alternate route, isolate reusable lemmas, or formulate a stronger exact statement. Lean checks every proposed extension against its exact formal statement.

The ZIP contains the checked first-party Lean import closure, exact statements and boundaries, license, notice, evidence, source-footprint manifest, and an agent continuation file. Mathlib and other third-party dependencies are not bundled.

Formal-result publication and review details

Independent publication review

The formal theorem's publication gates are accepted

Lean checks the proof. Independent AI review separately accepted evidence completeness, statement alignment, result boundary, and the retained theorem wording. Those gates apply to the formal result; generated media is reviewed and promoted separately. Neither review replaces Lean's proof check or broadens the theorem.

01

Formal evidence

Independent review accepted the recorded build, exact declarations, unfinished-step scan, and axiom evidence.

02

Statement alignment

The formal declaration was accepted against the named theorem and its exact variant.

03

Result boundary

The accepted boundary keeps nearby stronger or commonly confused claims out of scope.

04

Public wording

Independent review accepted the retained theorem explanation and source presentation. Generated media follows a separate review and promotion gate.

05

Canonical source

The first-party source link is pinned to the checked package commit and exact Lean file.

06

Accepted result

A validated accepted-result record binds the four reviews to the checked formalization.

Expanded visual

Open original image in a new tab