먼저 페르마 보조정리: g가 내부 점 x0∈(a,b)에서 극댓값(또는 극솟값)을 갖고 g′(x0)이 존재하면 g′(x0)=0이다.
극솟값인 경우, h>0이 작을 때 hg(x0+h)−g(x0)≥0이고 h<0일 때는 ≤0이므로, 양쪽 극한이 존재하는 도함수는 0일 수밖에 없다.
극댓값도 부호를 뒤집어 같다.
f′(a)<f′(b)라 하자 (>인 경우는 −f에 적용하고, 같은 경우는 자명하다).
f′(a)와 f′(b) 사이의 c를 고정하고 g(x)=f(x)−cx라 두면 g는 [a,b]에서 미분가능하므로 연속이고, g′(x)=f′(x)−c라서 g′(a)<0<g′(b)이다.
극값 정리(최댓값 정리 장면)에 의해 g는 [a,b]에서 최솟값을 어떤 x0에서 취한다.
x0는 내부 점이다: g′(a)<0이므로 hg(a+h)−g(a)→g′(a)<0이라 작은 h>0에 대해 g(a+h)<g(a)이다 — a는 최소점이 아니다.
마찬가지로 g′(b)>0이라 작은 h>0에 대해 g(b−h)<g(b)이다 — b도 최소점이 아니다.
따라서 x0∈(a,b)이다.
페르마 보조정리를 내부 최소점 x0에 적용하면 g′(x0)=0이고, 따라서 f′(x0)=c이다. c는 f′(a)와 f′(b) 사이의 임의의 값이었으므로 f′은 중간값 성질을 갖는다 — 불연속일 수도 있는데도 말이다.