42 famous theorems in ProofPower
Freek Wiedijk is tracking progress on automated proofs of a list of "100 greatest theorems". 42 of the theorems on the list have been proved so far in ProofPower. The statements of these theorems are listed below. Most of the theorems are taken from the ProofPower-HOL mathematical case studies. See the case studies web page for more information, including documents in PDF format that give the definitions on which the theorems depend.
1. The Irrationality of the Square Root of 2

xl-gft
sqrt_2_irrational_thm
turnstil.gif not.gifSqrt 2. isin.gif dsq.gif

3. The Denumerability of the Rational Numbers

xl-gft
dsq.gif_countable_thm
turnstil.gif exist.giff : nat.gif rarr.gif dsr.gifbull.gif forall.gifxbull.gif x isin.gif dsq.gif ruarr.gif exist.gifpbull.giff p = x

4. Pythagorean Theorem

xl-gft
pythagoras_thm
turnstil.gif forall.gifu v : GAbull.gif u bottom.gif v ruarr.gif (u - v)^2 = u^2 + v^2

9. The Area of a Circle

xl-gft
area_circle_thm
turnstil.gif forall.gifrbull.gif 0. < r ruarr.gif {(x, y) | Sqrt(x^2 + y^2) le.gif r} Area pi.gif * r ^ 2

11. The Infinitude of Primes

xl-gft
prime_infinite_thm
turnstil.gif not.gif Prime isin.gif Finite

15. Fundamental Theorem of Integral Calculus

xl-gft
int_deriv_thm
turnstil.gif forall.gifa b sf fbull.gif
ftbrfttaba < b
and.giffttab(forall.gifxbull.gif a < x and.gif x < b ruarr.gif (sf Deriv f x) x)
and.giffttab(sf Cts a) and.gif (sf Cts b)
ruarr.giffttab(f Int sf b - sf a) (ClosedInterval a b)

17. De Moivre's Theorem

xl-gft
de_moivre_thm
turnstil.gif forall.gif x mbull.gif (Cos x, Sin x) ^ m = (Cos (nat.gifdsr.gif m * x), Sin (nat.gifdsr.gif m * x))

20. All primes (1 mod 4) equal the sum of two squares

xl-gft
two_squares_thm
turnstil.gif forall.gifp mbull.gif
fttabp isin.gif Prime
and.giffttabp = 4*m + 1
ruarr.giffttabexist.gifa bbull.gif p = a^2 + b^2

22. The Non-Denumerability of the Continuum

xl-gft
dsr.gif_uncountable_thm
turnstil.gif forall.gifX: nat.gif rarr.gif dsr.gifbull.gif exist.gifxbull.gif forall.gifmbull.gif not.gifx = X m

23. Formula for Pythagorean Triples

xl-gft
pythagorean_triples_thm
turnstil.gif forall.gifa b c: nat.gifbull.gif
ftbrfttaba^2 + b^2 = c^2
equiv.giffttabexist.gifm n dbull.gif
ftbrfttabfttab{a; b} = {d*n*(2*m + n); 2*d*m*(m + n)}
ftbrfttaband.giffttabc = d*(m^2 + (m + n)^2)fttab

25. Schroeder-Bernstein Theorem

xl-gft
schroeder_bernstein_thm
turnstil.gif forall.gifa b f gbull.gif f isin.gif a rarrtl.gif b and.gif g isin.gif b rarrtl.gif a ruarr.gif exist.gifhbull.gif h isin.gif a urarrtl.gif b

30. The Ballot Problem

xl-gft
ballot_thm
turnstil.gif forall.gifm nbull.gif
ftbrfttabletfttabS = BallotCounts m n
ftbrfttabin letfttabX = {s | s isin.gif S and.gif forall.gif ibull.gif nat.gifdsz.gif 0 < s (i+1)}
ftbrfttabin
ftbrfttab fttabS isin.gif Finite
ftbrfttaband.giffttabnot.gif#S = 0
ftbrfttaband.giffttabX sube.gif S
ftbrfttaband.giffttab(n < m ruarr.gif #X / #S = (m - n) / (m + n))

31. Ramsey's Theorem

xl-gft
fin_exp_2_ramsey_thm
turnstil.gif forall.gifa b bull.gif exist.gifn bull.gif forall.gif(V, E) bull.gif
ftbrfttab(V, E) isin.gif symg and.gif V isin.gif Finite and.gif #V ge.gif n
ruarr.giffttab(exist.gif C bull.gif C clique_of (V,E) and.gif #C = a or.gif C indep_of (V,E) and.gif #C = b)

34. Divergence of the Harmonic Series

xl-gft
harmonic_series_divergent_thm
turnstil.gif forall.gifcbull.gif not.gif Series (lambda.gifmbull.gif nat.gifdsr.gif (m+1) -1) -> c

35. Taylor's Theorem

xl-gft
taylor_thm
turnstil.gif forall.gifn f D a bbull.gif
ftbrfttaba < b
and.giffttabD 0 = f
and.giffttab(forall.gif m xbull.gif m le.gif n and.gif a le.gif x and.gif x le.gif b ruarr.gif D m Cts x)
and.giffttab(forall.gif m xbull.gif m le.gif n and.gif a < x and.gif x < b ruarr.gif (D m Deriv D (m + 1) x) x)
ruarr.giffttabexist.gifxbull.gif a < x and.gif x < b
and.giffttabf b =
ftbrfttabPowerSeries (lambda.gifmbull.gif D m a * nat.gifdsr.gif(m!)-1) (n+1) (b-a) +
ftbrfttabD (n+1) x * (b-a) ^ (n+1) * nat.gifdsr.gif((n+1)!)-1

38. Arithmetic Mean/Geometric Mean

xl-gft
cauchy_mean_thm
turnstil.gif forall.gifA f abull.gif
ftbrfttabA isin.gif Finite and.gif not.gifA = {} and.gif (forall.gif xbull.gif x isin.gif A ruarr.gif 0. < f x)
ruarr.giffttabRoot (#A) (upi.gif A f) le.gif usigma.gif A f / nat.gifdsr.gif(#A)

40. Minkowski's Fundamental Theorem

xl-gft
minkowski_thm
turnstil.gif forall.gifA abull.gif
ftbrfttabA isin.gif Convex
and.giffttabA isin.gif Bounded
and.giffttabnot.gifA = {}
and.giffttab(forall.gifx ybull.gif (x, y) isin.gif A ruarr.gif (~x, ~y) isin.gif A)
and.giffttabA Area a
and.giffttaba > 4.
ruarr.giffttabexist.gifi jbull.gif
ftbrfttab fttab(dsz.gifdsr.gif i, dsz.gifdsr.gif j) isin.gif A
ftbrfttaband.giffttabnot.gif(dsz.gifdsr.gif i, dsz.gifdsr.gif j) = (0., 0.)

42. Sum of the Reciprocals of the Triangular Numbers

xl-gft
sum_recip_triangulars_thm
turnstil.gif Series (lambda.gifmbull.gif 2/((m+1)*(m+2))) -> 2.

44. The Binomial Theorem

xl-gft
binomial_thm
turnstil.gif forall.gifx y nbull.gif (x + y) ^ n = Series (lambda.gifmbull.gifnat.gifdsr.gif(Binomial n m) * x ^ m * y ^ (n - m)) (n+1)

51. Wilson's Theorem

xl-gft
wilson_thm
turnstil.gif forall.gif pbull.gif 1 < p ruarr.gif (p isin.gif Prime equiv.gif (p - 1)! Mod p = p - 1)

52. The Number of Subsets of a Set

xl-gft
pset.gif_finite_size_thm
turnstil.gif forall.gifabull.gif a isin.gif Finite ruarr.gif pset.gif a isin.gif Finite and.gif #(pset.gif a) = 2 ^ #a

58. Formula for the Number of Combinations

xl-gft
combinations_finite_size_thm
turnstil.gif forall.gifA n mbull.gif
ftbrfttabA isin.gif Finite and.gif #A = n
ruarr.giffttab{X | X sube.gif A and.gif #X = m} isin.gif Finite
and.giffttab#{X | X sube.gif A and.gif #X = m} = Binomial n m

60. Bezout's Theorem

xl-gft
bezout_thm
turnstil.gif forall.gifm nbull.gif
fttab0 < m and.gif 0 < n
ruarr.giffttab(exist.gifa bbull.gif b*n le.gif a*m and.gif Gcd m n = a*m - b*n)
or.giffttab(exist.gifa bbull.gif a*m le.gif b*n and.gif Gcd m n = b*n - a*m)

63. Cantor's Theorem

xl-gft
cantor_thm
turnstil.gif forall.giff : 'a rarr.gif 'a SETbull.gif exist.gifAbull.gif forall.gifxbull.gif not.giff x = A

64. L'Hospital's Rule

xl-gft
l'hopital_lim_right_thm
turnstil.gif forall.giff df g dg a b cbull.gif
ftbrfttaba < b
and.giffttabf a = 0.
and.giffttabg a = 0.
and.giffttab(forall.gifxbull.gifa le.gif x and.gif x < b ruarr.gif f Cts x)
and.giffttab(forall.gifxbull.gifa < x and.gif x < b ruarr.gif (f Deriv df x) x)
and.giffttab(forall.gifxbull.gifa le.gif x and.gif x < b ruarr.gif g Cts x)
and.giffttab(forall.gifxbull.gifa < x and.gif x < b ruarr.gif (g Deriv dg x) x)
and.giffttab(forall.gifxbull.gifa < x and.gif x < b ruarr.gif not.gifdg x = 0.)
and.giffttab((lambda.gifxbull.gif df x * dg x -1) +#-> c) a
ruarr.giffttab((lambda.gifxbull.gif f x * g x -1) +#-> c) a


xl-gft
l'hopital_lim_infinity_thm
turnstil.gif forall.giff df g dg a cbull.gif
ftbrfttabg -+#>+#
and.giffttab(forall.gifxbull.gifa < x ruarr.gif (f Deriv df x) x)
and.giffttab(forall.gifxbull.gifa < x ruarr.gif (g Deriv dg x) x)
and.giffttab(forall.gifxbull.gifa < x ruarr.gif not.gifdg x = 0.)
and.giffttab(lambda.gifxbull.gif df x * dg x -1) -+#> c
ruarr.giffttab(lambda.gifxbull.gif f x * g x -1) -+#> c

66. Sum of a Geometric Series

xl-gft
geometric_sum_thm
turnstil.gif forall.gifn xbull.gif
ftbrfttabnot.gifx = 1.
ruarr.giffttabSeries (lambda.gif mbull.gif x ^ m) (n+1) = (1. - x^(n+1)) / (1. - x)

68. Sum of an arithmetic series

xl-gft
arithmetic_sum_thm
turnstil.gif forall.gifc d nbull.gif
ftbrfttabSeries (lambda.gifmbull.gif c + nat.gifdsr.gif m * d) n =
ftbrfttab1/2 * nat.gifdsr.gif n * (2. * c + (nat.gifdsr.gif n - 1.) * d)

69. Greatest Common Divisor Algorithm

xl-gft
euclid_algorithm_thm
turnstil.gif forall.gifm nbull.gif
ftbrfttab0 < m and.gif 0 < n
ruarr.giffttabGcd m n = if m < n then Gcd m (n-m) else if m = n then m else Gcd (m-n) n


xl-gft
gcd_def
turnstil.gif forall.gifm nbull.gif
ftbrfttab0 < m and.gif 0 < n
ruarr.giffttabGcd m n Divides m and.gif Gcd m n Divides n
and.giffttab(forall.gifdbull.gif
ftbrfttab fttabd Divides m and.gif d Divides n
ftbrfttabruarr.giffttabd Divides Gcd m n)

71. Order of a Subgroup

xl-gft
lagrange_cosets_thm
turnstil.gif forall.gifG Hbull.gif
ftbrfttabG isin.gif Group and.gif Car G isin.gif Finite and.gif H isin.gif Subgroup G
ruarr.giffttabCar H isin.gif Finite and.gif Car(G/H) isin.gif Finite and.gif #G = #H * #(G/H)

74. The Principle of Mathematical Induction

xl-gft
induction_thm
turnstil.gif forall.gif pbull.gif p 0 and.gif (forall.gif mbull.gif p m ruarr.gif p (m + 1)) ruarr.gif (forall.gif nbull.gif p n)

75. The Mean Value Theorem

xl-gft
cauchy_mean_value_thm
turnstil.gif forall.giff df g dg a bbull.gif
ftbrfttaba < b
and.giffttab(forall.gifxbull.gifa le.gif x and.gif x le.gif b ruarr.gif f Cts x)
and.giffttab(forall.gifxbull.gifa < x and.gif x < b ruarr.gif (f Deriv df x) x)
and.giffttab(forall.gifxbull.gifa le.gif x and.gif x le.gif b ruarr.gif g Cts x)
and.giffttab(forall.gifxbull.gifa < x and.gif x < b ruarr.gif (g Deriv dg x) x)
ruarr.giffttab(exist.gifxbull.gif a < x and.gif x < b and.gif (dg x)*(f b - f a) = (df x)*(g b - g a))


xl-gft
mean_value_thm
turnstil.gif forall.giff df a bbull.gif
ftbrfttaba < b
and.giffttab(forall.gifxbull.gifa le.gif x and.gif x le.gif b ruarr.gif f Cts x)
and.giffttab(forall.gifxbull.gifa < x and.gif x < b ruarr.gif (f Deriv df x) x)
ruarr.giffttab(exist.gifxbull.gifa < x and.gif x < b and.gif f b - f a = (b - a) * df x)

78. The Cauchy-Schwarz Inequality

xl-gft
schwarz_inequality_thm
turnstil.gif forall.giff g Abull.gif
fttabSupp f isin.gif Finite and.gif Supp g isin.gif Finite
ruarr.giffttabAbs (f .v g) le.gif Norm f * Norm g

79. The Intermediate Value Theorem

xl-gft
intermediate_value_thm
turnstil.gif forall.giff a bbull.gif
ftbrfttaba < b
and.giffttab(forall.gifxbull.gifa le.gif x and.gif x le.gif b ruarr.gif f Cts x)
ruarr.giffttab(forall.gifybull.gif
ftbrfttab fttab(f a < y and.gif y < f b or.gif f b < y and.gif y < f a)
ftbrfttabruarr.giffttabexist.gifxbull.gif a < x and.gif x < b and.gif f x = y)

80. The Fundamental Theorem of Arithmetic

xl-gft
unique_factorisation_thm
turnstil.gif forall.gifmbull.gif
ftbrfttab0 < m
ruarr.giffttabexist.gif1 ebull.giffttab{k | not.gife k = 0} isin.gif Finite and.gif {k | not.gife k = 0} sube.gif Prime
ftbrfttaband.giffttabm = upi.gif {k | not.gife k = 0} (lambda.gifpbull.gif p ^ e p)

81. Divergence of the Prime Reciprocal Series

xl-gft
recip_primes_div_thm
turnstil.giffttab(forall.gifnbull.gif{p | p isin.gif Prime and.gif p le.gif n} isin.gif Finite)
and.giffttab(forall.gifmbull.gifexist.gifnbull.gif nat.gifdsr.gif m le.gif usigma.gif {p | p isin.gif Prime and.gif p le.gif n} (lambda.gifpbull.gif nat.gifdsr.gif p -1))

85. Divisibility by 3 Rule

xl-gft
div_3_rule_thm
turnstil.gif forall.gifdigits; n:nat.gifbull.gif
ftbrfttab3 Divides usigma.gif {i | i < n} (lambda.gifibull.gifdigits i * 10 ^ i) equiv.gif
ftbrfttab3 Divides usigma.gif {i | i < n} (lambda.gifibull.gifdigits i)

89. The Factor and Remainder Theorems

xl-gft
poly_factor_thm
turnstil.gif forall.gifl1 cbull.gif
ftbrfttabnot.gifl1 = []
and.giffttabPolyEval l1 c = 0.
ruarr.giffttabexist.gifl2bull.gif
ftbrfttab fttabLength l2 < Length l1
ftbrfttaband.giffttab(lambda.gifxbull.gif PolyEval l1 x) = (lambda.gifxbull.gif (x - c)*PolyEval l2 x)


xl-gft
poly_remainder_thm
turnstil.gif forall.gifl1 cbull.gif
ftbrfttabnot.gifl1 = []
ruarr.giffttabexist.gifl2bull.gif
ftbrfttab fttabLength l2 < Length l1
ftbrfttaband.giffttab(lambda.gifxbull.gif PolyEval l1 x) = (lambda.gifxbull.gif (x - c)*PolyEval l2 x + PolyEval l1 c)

91. The Triangle Inequality

xl-gft
triangle_inequality_thm
turnstil.gif forall.giff gbull.gif
ftbrfttabSupp f isin.gif Finite isin.gif Finite and.gif Supp g isin.gif Finite
ruarr.giffttabSupp (lambda.gifxbull.gif f x + g x) isin.gif Finite
and.giffttabNorm (lambda.gif xbull.gif f x + g x) le.gif Norm f + Norm g

93. The Birthday Problem

xl-gft
birthdays_thm
turnstil.gif
ftbrfttabletfttabS = {L | Elems L sube.gif {i | 1 le.gif i and.gif i le.gif 365} and.gif # L = 23}
ftbrfttabin letfttabX = {L | L isin.gif S and.gif not.gifL isin.gif Distinct}
ftbrfttabin
ftbrfttab fttabS isin.gif Finite
ftbrfttaband.giffttabnot.gif#S = 0
ftbrfttaband.giffttabX sube.gif S
ftbrfttaband.giffttab#X / #S > 1/2

96. Principle of Inclusion/Exclusion

xl-gft
size_inc_exc_thm
turnstil.gif forall.gifI U Abull.gif
ftbrfttabI isin.gif Finite and.gif not.gifI = {}
and.giffttab(forall.gifibull.gif i isin.gif I ruarr.gif U i isin.gif Finite)
and.giffttabA = lcup.gif{B | exist.gifibull.gif i isin.gif I and.gif B = U i}
ruarr.giffttabnat.gifdsr.gif(# A) =
ftbrfttabusigma.gif
ftbrfttab(pset.gifI \ {{}})
ftbrfttab(lambda.gifJbull.gif ~1. ^ (#J + 1) * nat.gifdsr.gif(# (lcap.gif{B | exist.gifjbull.gif j isin.gif J and.gif B = U j})))

99. Buffon Needle Problem

xl-gft
buffon_needle_thm
turnstil.gif
ftbrfttabletfttabS = {(theta.gif, d) | theta.gif isin.gif ClosedInterval 0. pi.gif and.gif d isin.gif ClosedInterval 0. 1.}
ftbrfttabin letfttabx_axis = {(x, y) | y = 0.}
ftbrfttabin letfttabneedle(theta.gif, d) =
ftbrfttabfttab{(x, y) | exist.giftbull.gif t isin.gif ClosedInterval 0. 1.
ftbrfttabfttabfttaband.gif x = t * Cos theta.gif and.gif y = d - t * Sin theta.gif}
ftbrfttabin letfttabX = {(theta.gif, d) | (theta.gif, d) isin.gif S and.gif not.gifneedle(theta.gif, d) cap.gif x_axis = {}}
ftbrfttabin
ftbrfttab fttabX sube.gif S
ftbrfttaband.giffttabexist.gifx sbull.gif
ftbrfttab fttab fttabnot.gifs = 0.
ftbrfttab fttaband.gif fttabX Area x
ftbrfttab fttaband.giffttabS Area s
ftbrfttab fttaband.giffttabx / s = 2. / pi.gif

100. Descartes Rule of Signs

xl-gft
descartes_rule_thm
turnstil.gif forall.giffbull.gif
ftbrfttabf isin.gif PolyFunc
and.giffttabnot.giff = (lambda.gifxbull.gif 0.)
ruarr.giffttabexist.gifkbull.gif
ftbrfttabSignChanges (Coeffs f) =
ftbrfttabusigma.gif {r | 0. < r and.gif r isin.gif Roots f} (lambda.gifrbull.gif RootMultiplicity f r) + 2*k

This page was prepared as a ProofPower document by Rob Arthan and translated into HTML in collusion with Roger Jones.

up quick index

$Id: PP100thms.doc,v 1.20 2008/05/03 13:52:32 rda Exp rda $

V