01The Circularity Trap
The most famous identity in trigonometry is
\[ \sin^2\theta+\cos^2\theta=1. \]Look closely at what it says. In a right triangle with hypotenuse \(c\), if \(\sin\theta=a/c\) and \(\cos\theta=b/c\), then this identity reads
\[ \frac{a^2}{c^2}+\frac{b^2}{c^2}=1\quad\Longleftrightarrow\quad a^2+b^2=c^2. \]The headline trig identity is the Pythagorean theorem, lightly disguised. So any "proof" that uses it — or uses anything derived from it — has quietly assumed the conclusion. That is circular reasoning, and it sinks most naïve attempts.
In his 1927 book The Pythagorean Proposition, Elisha Loomis declared flatly that no correct trigonometric proof could exist, precisely because trigonometry is built on top of the theorem. That pronouncement went largely unchallenged for decades.
But Loomis overreached. "Trigonometry depends on Pythagoras" is a statement about how the subject is usually built, not an iron law. If we are careful to use only trigonometric facts that can be established without the theorem, the circle is broken. The interactive below makes the trap concrete — drag the angle and watch the identity hold, then notice it's just the unit-circle's right triangle obeying \(a^2+b^2=c^2\) with \(c=1\).
The radius is the hypotenuse (length 1). The identity is the right triangle inside the circle insisting that leg² + leg² = 1².
02Rules of a Fair Game
To prove \(a^2+b^2=c^2\) trigonometrically without circularity, we must be disciplined about our toolkit. Some trigonometric facts are independent of the theorem; others smuggle it in. Here is the dividing line.
| ✓ Allowed (Pythagoras-free) | ✗ Forbidden (assumes Pythagoras) |
|---|---|
The definitions sin θ = opp/hyp, cos θ = adj/hyp, tan θ = opp/adj | The identity sin²+cos²=1 |
| Similar triangles & the ratios they give | The distance formula \(\sqrt{\Delta x^2+\Delta y^2}\) (it is Pythagoras) |
Complementary angles: cos(90°−θ)=sin θ | sec²=1+tan² and other "Pythagorean identities" |
Angle sum = 180°; the Law of Sines | The unit-circle relation \(x^2+y^2=1\) |
Convergent geometric series | Any formula derived from the above |
The Law of Sines deserves a special note: it follows from dropping an altitude \(h\) and writing \(h=b\sin A=a\sin B\) — pure right-triangle definitions, no Pythagoras. So it is fair game, and it is the key that unlocks the deepest proof (§5).
03Proof A — The Projection (Altitude) Proof
The most accessible trigonometric proof drops a single altitude and reads off two projections. It is clean, complete, and circular-reasoning-free.
▶ Full proof
Setup Right triangle, right angle at \(C\). Let \(\alpha\) be the angle at \(A\). By definition only, \(\sin\alpha=\dfrac{a}{c}\) and \(\cos\alpha=\dfrac{b}{c}\), where \(a\) is opposite \(\alpha\), \(b\) is adjacent, \(c\) is the hypotenuse.
Drop a perpendicular from \(C\) to the hypotenuse \(AB\), meeting it at \(H\). This cuts the hypotenuse into two pieces with \(AH+HB=c\).
Left piece In right triangle \(ACH\), the hypotenuse is \(b\) and the angle at \(A\) is still \(\alpha\), so
\[ AH=b\cos\alpha. \]Right piece In right triangle \(BCH\), the angle at \(B\) is \(90^\circ-\alpha\) (the two acute angles are complementary) and the hypotenuse is \(a\). The segment \(HB\) is adjacent to \(B\), so
\[ HB=a\cos(90^\circ-\alpha)=a\sin\alpha. \]Add the pieces back to the whole hypotenuse:
\[ c=AH+HB=b\cos\alpha+a\sin\alpha. \]Substitute the definitions \(\cos\alpha=b/c,\ \sin\alpha=a/c\):
\[ c=b\cdot\frac{b}{c}+a\cdot\frac{a}{c}=\frac{a^2+b^2}{c}\;\Longrightarrow\; c^2=a^2+b^2. \]No step touched \(\sin^2+\cos^2=1\) or the distance formula. The proof is sound.
∎
Multiply both segments by c: c·AH = b² (blue) and c·HB = a² (red). Together they fill c² exactly.
A purist will note this is essentially Euclid's altitude/similar-triangles proof wearing trigonometric clothing — the sines and cosines are just ratios of similar triangles. It is a valid trig proof, but whether it is "genuinely new" is a matter of taste. The next two proofs are harder to dismiss.
04Proof B — Zimba's Subtraction-Formula Proof (2009)
Jason Zimba gave the first widely-recognised proof that sidesteps the circularity head-on. The strategy is elegant once you see it.
▶ The strategy and the finish
Key move Suppose we can prove the angle-difference identity
\[ \cos(\alpha-\beta)=\cos\alpha\cos\beta+\sin\alpha\sin\beta \]using only the allowed toolkit — right-triangle definitions and similar triangles — and never the distance formula or \(\sin^2+\cos^2=1\). Zimba showed exactly this can be done, by decomposing a configuration of right triangles and reading the products \(\cos\alpha\cos\beta\) and \(\sin\alpha\sin\beta\) directly off similar sub-triangles.
Now set \(\alpha=\beta\). The left side becomes \(\cos 0=1\), and the right side becomes \(\cos^2\alpha+\sin^2\alpha\):
\[ 1=\cos^2\alpha+\sin^2\alpha. \]Translate back. With \(\cos\alpha=b/c\) and \(\sin\alpha=a/c\), this is
\[ 1=\frac{b^2}{c^2}+\frac{a^2}{c^2}\;\Longrightarrow\; a^2+b^2=c^2. \]The whole subtlety lives in the first step — establishing the subtraction formula independently of the theorem. That independent derivation is Zimba's real contribution; the rest is one line.
∎
The usual textbook derivation of \(\cos(\alpha-\beta)\) computes a distance between two points on the unit circle — which uses Pythagoras. Zimba's derivation deliberately avoids that route, building the identity from similar right triangles alone. Remove the distance-formula shortcut and the circularity vanishes.
05Proof C — Johnson & Jackson (2023)
In 2023, two New Orleans high-school students, Calcea Johnson and Ne'Kiya Jackson, presented genuinely new trigonometric proofs at an American Mathematical Society meeting — later published as "Five or Ten New Proofs of the Pythagorean Theorem" in the American Mathematical Monthly (2024). Their proofs are indisputably trigonometric: they lean on the Law of Sines and an infinite geometric series, not on disguised similar triangles.
▶ The idea, step by step (conceptual)
Two definitions, kept apart Their insight begins by noticing that trigonometric functions of an angle have two slightly different uses that usually get blurred together. Keeping them separate is what opens the door to a whole family of proofs.
Build a self-similar figure Starting from the right triangle (acute angle \(\alpha\)), reflect it to create an isosceles triangle with apex angle \(2\alpha\), then fill a wedge with infinitely many ever-smaller similar right triangles. Each successive triangle is a fixed fraction of the previous one.
Sum the geometric series The legs of those shrinking triangles accumulate as a convergent geometric series. With ratio \(r=\sin^2\alpha\),
\[ \sum_{n=0}^{\infty} r^{\,n}=\frac{1}{1-\sin^2\alpha}=\frac{1}{\cos^2\alpha}=\frac{c^2}{b^2}. \]Apply the Law of Sines to the big constructed triangle. It gives the same overall length a second, independent way. Equating the two expressions — the series sum versus the Law-of-Sines value — forces
\[ a^2+b^2=c^2. \]Crucially, the Law of Sines and geometric series are both Pythagoras-free, so the argument never assumes its conclusion. By choosing which of the two definitions to anchor, they generate a whole stable of distinct proofs.
∎
The geometric-series spiral below is the engine of the proof. Slide the angle and add terms: the nested similar triangles shrink geometrically, and their accumulated "size" converges to \(1/\cos^2\alpha=c^2/b^2\) — exactly the quantity the Law of Sines pins down independently.
Each triangle is a scaled copy of the one before it (factor sin α on each leg, so area shrinks by sin²α). The series converges because sin²α < 1 for any acute angle.
06GNU Octave — Verified Examples
Every snippet ran in GNU Octave 8.4; the output shown is the real result. Together they let you test each proof's machinery numerically.
1 · The circularity fact made tangible
Octave's own sind/cosd obey the identity perfectly — a reminder that sin²+cos²=1 is baked in, and therefore off-limits in a non-circular proof.
% sin^2 + cos^2 = 1 IS the Pythagorean theorem with hypotenuse 1.
for theta = [0 30 45 73.21]
printf("theta=%6.2f deg: sind^2 + cosd^2 = %.15g\n", ...
theta, sind(theta)^2 + cosd(theta)^2);
end
2 · Proof A — the projection identity
a = 3; b = 4; c = hypot(a, b);
alpha = atan2(a, b); % sin(alpha)=a/c, cos(alpha)=b/c
AH = b * cos(alpha); % segment near A (equals b^2/c)
HB = a * sin(alpha); % segment near B (equals a^2/c)
printf("AH = b cos a = %.4f (b^2/c = %.4f)\n", AH, b^2/c);
printf("HB = a sin a = %.4f (a^2/c = %.4f)\n", HB, a^2/c);
printf("AH + HB = %.4f (= c = %.4f)\n", AH+HB, c);
printf("c*(AH+HB) = %g = a^2 + b^2 = %d\n", c*(AH+HB), a^2+b^2);
3 · Proof B — the subtraction formula, then α = β
A = deg2rad(57); B = deg2rad(57);
lhs = cos(A - B);
rhs = cos(A)*cos(B) + sin(A)*sin(B);
printf("cos(a-b) = %.12g, formula = %.12g, match? %d\n", ...
lhs, rhs, abs(lhs-rhs) < 1e-14);
% Setting a = b collapses the identity to Pythagoras:
printf("a=b: cos(0)=1 == cos^2+sin^2 = %.12g\n", cos(A)^2 + sin(A)^2);
4 · Proof C — the Law of Sines is Pythagoras-free
Built straight from coordinates of an arbitrary (non-right) triangle, the three ratios agree — no Pythagoras anywhere in sight.
P = [0 0]; Q = [6 0]; R = [1.4 3.1];
a = norm(Q-R); b = norm(R-P); c = norm(P-Q); % sides opposite A,B,C
A = acos(dot(Q-P, R-P) / (norm(Q-P)*norm(R-P))); % angle at P
B = acos(dot(P-Q, R-Q) / (norm(P-Q)*norm(R-Q))); % angle at Q
C = acos(dot(P-R, Q-R) / (norm(P-R)*norm(Q-R))); % angle at R
printf("a/sinA = %.6f\nb/sinB = %.6f\nc/sinC = %.6f\n", ...
a/sin(A), b/sin(B), c/sin(C));
5 · Proof C — the geometric-series engine
The nested similar triangles shrink by \(r=\sin^2\alpha\) per step. Their sum converges to \(1/\cos^2\alpha\), which equals \(c^2/b^2\) — the bridge the Law of Sines crosses to land on \(a^2+b^2=c^2\).
a = 3; b = 4; c = hypot(a, b); alpha = atan2(a, b);
r = sin(alpha)^2;
partial = sum( r .^ (0:60) ); % first 61 terms
printf("r = sin^2(alpha) = %.6f\n", r);
printf("partial sum (61) = %.10f\n", partial);
printf("limit 1/(1-r) = %.10f\n", 1/(1-r));
printf("1/cos^2(alpha) = %.10f\n", 1/cos(alpha)^2);
printf("c^2 / b^2 = %.10f\n", c^2 / b^2);
6 · Stress test — the projection identity on 100,000 random triangles
a = 10*rand(1e5,1) + 0.1; b = 10*rand(1e5,1) + 0.1;
c = hypot(a, b);
alpha = atan2(a, b);
lhs = b.*cos(alpha) + a.*sin(alpha); % should equal c every time
printf("max |b cos a + a sin a - c| = %.3e (machine zero)\n", ...
max(abs(lhs - c)));
07The Verdict — Which One "Really" Counts?
All three proofs reach \(a^2+b^2=c^2\) without assuming it. They differ in how convincingly they escape the shadow of the similar-triangle arguments that came before.
A · Projection
Verdict: valid, but arguably Euclid's altitude proof in trig notation.
Uses: definitions + complementary angles.
Charm: a two-line finish anyone can follow.
B · Zimba (2009)
Verdict: genuinely trigonometric — the subtraction formula is derived independently.
Uses: angle-difference identity, then α = β.
Charm: the conclusion is literally one substitution.
C · Johnson & Jackson
Verdict: indisputably trigonometric — Law of Sines + a limit, not disguised geometry.
Uses: Law of Sines, infinite series.
Charm: one method spawns ten proofs.
Loomis was right that careless trig proofs are circular — but wrong that all of them must be. The trick is to ban the Pythagorean identity and the distance formula, then rebuild from definitions, the Law of Sines, and limits. Once you respect those rules, the theorem proves itself in a dozen different ways.
▲ ■ ●