The butterfly theorem can be stated as: Let M be the midpoint of a chord AB of a circle, through which two other chords PQ and RS are drawn; PS and QR intersect chord AB at C and D correspondingly. Then M is the midpoint of CD. [1]
This theorem can be generalized in two forms:
Here we try to prove the combination of 2 generalized forms. [2]
We put M onto the origin of Cartesian coordinates and B onto positive x-axis.
The conic APRBQS can be represented as:
(Let's assume M not on the conic so that f ≠ 0.)
The coordinates of A and B are:
Make y = 0 then we get . So xA and xB are two roots of this equation.
Then we get:
The coordinates of C and D can be calculated by:
Let's assume that neither PQ nor RS is perpendicular to AB, then PQ and RS can be represented as y = qx and y = rx. (We also assume PQ and RS not coinciding so that q ≠ r.)
(The case either PQ or RS perpendicular to AB will be proved in Step 2b.)
Then all y-coordinates can be replaced with 0 or x-coordinates:
We solve xC and xD as:
(Here xC and xD should exist because yP ≠ yS and yQ ≠ yR.)
Then we get:
Note that xP and xQ are two roots of equations:
So we have:
where . (Here we don't consider Q = 0 because the line intersects the conic at two different points.)
Analogously, we have:
Finally, we get: [3]
If RS is perpendicular to AB, we can still use Eq. 2a but keep yR and yS not replaced:
We solve xC and xD as:
(Here xC and xD should exist because yP ≠ yS and yQ ≠ yR.)
Then we get:
Note that yR and yS are two roots of equations:
So we have:
And we still have Eq. 3a.
Finally, we get:
The generalized butterfly theorem still holds if the conic is degenerated to two lines.
In the below special case, AB is a chord of two lines ASQ and BPR, and M is a point on AB, through which two other lines MPQ and MSR are drawn; PS and QR intersect chord AB at the same point C (lines AB, PS and QR are concurrent at point C).
According to the generalized butterfly theorem:
In other words, (M, C) and (A, B) are harmonic conjugates: [4]
- Here we use the diagram from Mathoman's website. The diagram from Wikipedia is wrong because M is not the midpoint of PQ and XY.
- A similar proof (but not generalized forms) can be found here (Proof 18).
- Here is a proof by SymPy without Vieta's formulas.
- A simple proof of projective harmonic conjugate can be found here (Problem 1).

