100 theorems

Freek Wiedijk maintains a list tracking progress of theorem provers in formalizing 100 classic theorems in mathematics as a way of comparing prominent theorem provers. Currently 81 of them are formalized in Lean. We also have a page with the theorems from the list not yet in Lean.

To make updates to this list, please make a pull request to mathlib after editing the yaml source file. This can be done entirely on GitHub, see "Editing files in another user's repository".

1. The Irrationality of the Square Root of 2 #

Author: mathlib

docs, source

2. Fundamental Theorem of Algebra #

Author: Chris Hughes

theorem Complex.exists_root {f : Polynomial } (hf : 0 < f.degree) :
∃ (z : ), f.IsRoot z

docs, source

3. The Denumerability of the Rational Numbers #

Author: Chris Hughes

docs, source

4. Pythagorean Theorem #

Author: Joseph Myers

docs, source

6. Gödel’s Incompleteness Theorem #

Author: Shogo Saito

results

website

7. Law of Quadratic Reciprocity #

Authors: Chris Hughes (first) and Michael Stoll (second)

theorem legendreSym.quadratic_reciprocity {p q : } [Fact (Nat.Prime p)] [Fact (Nat.Prime q)] (hp : p 2) (hq : q 2) (hpq : p q) :
legendreSym q p * legendreSym p q = (-1) ^ (p / 2 * (q / 2))

docs, source

theorem jacobiSym.quadratic_reciprocity {a b : } (ha : Odd a) (hb : Odd b) :
jacobiSym (↑a) b = (-1) ^ (a / 2 * (b / 2)) * jacobiSym (↑b) a

docs, source

9. The Area of a Circle #

Authors: James Arthur and Benjamin Davidson and Andrew Souther

theorem Theorems100.area_disc (r : NNReal) :
MeasureTheory.volume (Theorems100.disc r) = NNReal.pi * r ^ 2

docs, source

10. Euler’s Generalization of Fermat’s Little Theorem #

Author: Chris Hughes

theorem Nat.ModEq.pow_totient {x n : } (h : x.Coprime n) :
x ^ n.totient 1 [MOD n]

docs, source

11. The Infinitude of Primes #

Author: Jeremy Avigad

theorem Nat.exists_infinite_primes (n : ) :
∃ (p : ), n p Nat.Prime p

docs, source

14. Euler’s Summation of 1 + (1/2)^2 + (1/3)^2 + …. #

Authors: Marc Masdeu and David Loeffler

theorem hasSum_zeta_two :
HasSum (fun (n : ) => 1 / n ^ 2) (Real.pi ^ 2 / 6)

docs, source

15. Fundamental Theorem of Integral Calculus #

Authors: Yury G. Kudryashov (first) and Benjamin Davidson (second)

theorem intervalIntegral.integral_hasStrictDerivAt_of_tendsto_ae_right {E : Type u_3} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] {f : E} {c : E} {a b : } (hf : IntervalIntegrable f MeasureTheory.volume a b) (hmeas : StronglyMeasurableAtFilter f (nhds b) MeasureTheory.volume) (hb : Filter.Tendsto f (nhds b MeasureTheory.ae MeasureTheory.volume) (nhds c)) :
HasStrictDerivAt (fun (u : ) => ∫ (x : ) in a..u, f x) c b

docs, source

theorem intervalIntegral.integral_eq_sub_of_hasDeriv_right_of_le {E : Type u_3} [NormedAddCommGroup E] [NormedSpace E] {a b : } [CompleteSpace E] {f f' : E} (hab : a b) (hcont : ContinuousOn f (Set.Icc a b)) (hderiv : xSet.Ioo a b, HasDerivWithinAt f (f' x) (Set.Ioi x) x) (f'int : IntervalIntegrable f' MeasureTheory.volume a b) :
∫ (y : ) in a..b, f' y = f b - f a

docs, source

16. Insolvability of General Higher Degree Equations (Abel-Ruffini Theorem) #

Author: Thomas Browning

docs, source

17. De Moivre’s Formula #

Author: Abhimanyu Pallavi Sudhir

docs, source

18. Liouville’s Theorem and the Construction of Transcendental Numbers #

Author: Jujian Zhang

docs, source

19. Four Squares Theorem #

Author: Chris Hughes

theorem Nat.sum_four_squares (n : ) :
∃ (a : ) (b : ) (c : ) (d : ), a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = n

docs, source

20. All Primes (1 mod 4) Equal the Sum of Two Squares #

Author: Chris Hughes

theorem Nat.Prime.sq_add_sq {p : } [Fact (Nat.Prime p)] (hp : p % 4 3) :
∃ (a : ) (b : ), a ^ 2 + b ^ 2 = p

docs, source

22. The Non-Denumerability of the Continuum #

Author: Floris van Doorn

theorem Cardinal.not_countable_real :
¬Set.univ.Countable

docs, source

23. Formula for Pythagorean Triples #

Author: Paul van Wamelen

theorem PythagoreanTriple.classification {x y z : } :
PythagoreanTriple x y z ∃ (k : ) (m : ) (n : ), (x = k * (m ^ 2 - n ^ 2) y = k * (2 * m * n) x = k * (2 * m * n) y = k * (m ^ 2 - n ^ 2)) (z = k * (m ^ 2 + n ^ 2) z = -k * (m ^ 2 + n ^ 2))

docs, source

24. The Independence of the Continuum Hypothesis #

Authors: Jesse Michael Han and Floris van Doorn

result

website

see the README file in the linked repository.

25. Schroeder-Bernstein Theorem #

Author: Mario Carneiro

theorem Function.Embedding.schroeder_bernstein {α : Type u} {β : Type v} {f : αβ} {g : βα} (hf : Function.Injective f) (hg : Function.Injective g) :
∃ (h : αβ), Function.Bijective h

docs, source

26. Leibniz’s Series for Pi #

Author: Benjamin Davidson

theorem Real.tendsto_sum_pi_div_four :
Filter.Tendsto (fun (k : ) => iFinset.range k, (-1) ^ i / (2 * i + 1)) Filter.atTop (nhds (Real.pi / 4))

docs, source

27. Sum of the Angles of a Triangle #

Author: Joseph Myers

docs, source

30. The Ballot Problem #

Authors: Bhavik Mehta and Kexing Ying

theorem Ballot.ballot_problem (q p : ) :

docs, source

31. Ramsey’s Theorem #

Author: Bhavik Mehta

result

34. Divergence of the Harmonic Series #

Authors: Anatole Dedecker and Yury Kudryashov

theorem Real.tendsto_sum_range_one_div_nat_succ_atTop :
Filter.Tendsto (fun (n : ) => iFinset.range n, 1 / (i + 1)) Filter.atTop Filter.atTop

docs, source

35. Taylor’s Theorem #

Author: Moritz Doll

theorem taylor_mean_remainder_lagrange {f : } {x x₀ : } {n : } (hx : x₀ < x) (hf : ContDiffOn (↑n) f (Set.Icc x₀ x)) (hf' : DifferentiableOn (iteratedDerivWithin n f (Set.Icc x₀ x)) (Set.Ioo x₀ x)) :
x'Set.Ioo x₀ x, f x - taylorWithinEval f n (Set.Icc x₀ x) x₀ x = iteratedDerivWithin (n + 1) f (Set.Icc x₀ x) x' * (x - x₀) ^ (n + 1) / (n + 1).factorial

docs, source

theorem taylor_mean_remainder_cauchy {f : } {x x₀ : } {n : } (hx : x₀ < x) (hf : ContDiffOn (↑n) f (Set.Icc x₀ x)) (hf' : DifferentiableOn (iteratedDerivWithin n f (Set.Icc x₀ x)) (Set.Ioo x₀ x)) :
x'Set.Ioo x₀ x, f x - taylorWithinEval f n (Set.Icc x₀ x) x₀ x = iteratedDerivWithin (n + 1) f (Set.Icc x₀ x) x' * (x - x') ^ n / n.factorial * (x - x₀)

docs, source

36. Brouwer Fixed Point Theorem #

Author: Brendan Seamas Murphy

result

37. The Solution of a Cubic #

Author: Jeoff Lee

theorem Theorems100.cubic_eq_zero_iff {K : Type u_1} [Field K] (a b c d : K) {ω p q r s t : K} [Invertible 2] [Invertible 3] (ha : a 0) (hω : IsPrimitiveRoot ω 3) (hp : p = (3 * a * c - b ^ 2) / (9 * a ^ 2)) (hp_nonzero : p 0) (hq : q = (9 * a * b * c - 2 * b ^ 3 - 27 * a ^ 2 * d) / (54 * a ^ 3)) (hr : r ^ 2 = q ^ 2 + p ^ 3) (hs3 : s ^ 3 = q + r) (ht : t * s = p) (x : K) :
a * x ^ 3 + b * x ^ 2 + c * x + d = 0 x = s - t - b / (3 * a) x = s * ω - t * ω ^ 2 - b / (3 * a) x = s * ω ^ 2 - t * ω - b / (3 * a)

docs, source

38. Arithmetic Mean/Geometric Mean #

Author: Yury G. Kudryashov

theorem Real.geom_mean_le_arith_mean_weighted {ι : Type u} (s : Finset ι) (w z : ι) (hw : is, 0 w i) (hw' : is, w i = 1) (hz : is, 0 z i) :
is, z i ^ w i is, w i * z i

docs, source

39. Solutions to Pell’s Equation #

Author: Mario Carneiro (first), Michael Stoll (second)

theorem Pell.eq_pell {a : } (a1 : 1 < a) {x y : } (hp : x * x - Pell.d✝ a1 * y * y = 1) :
∃ (n : ), x = Pell.xn a1 n y = Pell.yn a1 n

docs, source

theorem Pell.exists_of_not_isSquare {d : } (h₀ : 0 < d) (hd : ¬IsSquare d) :
∃ (x : ) (y : ), x ^ 2 - d * y ^ 2 = 1 y 0

docs, source

In pell.eq_pell, d is defined to be a*a - 1 for an arbitrary a > 1.

40. Minkowski’s Fundamental Theorem #

Authors: Alex J. Best and Yaël Dillies

theorem MeasureTheory.exists_ne_zero_mem_lattice_of_measure_mul_two_pow_lt_measure {E : Type u_1} [MeasurableSpace E] {μ : MeasureTheory.Measure E} {F s : Set E} [NormedAddCommGroup E] [NormedSpace E] [BorelSpace E] [FiniteDimensional E] [μ.IsAddHaarMeasure] {L : AddSubgroup E} [Countable L] (fund : MeasureTheory.IsAddFundamentalDomain (↥L) F μ) (h_symm : xs, -x s) (h_conv : Convex s) (h : μ F * 2 ^ Module.finrank E < μ s) :
∃ (x : L), x 0 x s

docs, source

42. Sum of the Reciprocals of the Triangular Numbers #

Authors: Jalex Stark and Yury Kudryashov

theorem Theorems100.inverse_triangle_sum (n : ) :
kFinset.range n, 2 / (k * (k + 1)) = if n = 0 then 0 else 2 - 2 / n

docs, source

44. The Binomial Theorem #

Author: Chris Hughes

theorem add_pow {R : Type u_1} [CommSemiring R] (x y : R) (n : ) :
(x + y) ^ n = mFinset.range (n + 1), x ^ m * y ^ (n - m) * (n.choose m)

docs, source

45. The Partition Theorem #

Authors: Bhavik Mehta and Aaron Anderson

docs, source

46. The Solution of the General Quartic Equation #

Author: Thomas Zhu

theorem Theorems100.quartic_eq_zero_iff {K : Type u_1} [Field K] (a b c d e : K) {p q r s u v w : K} [Invertible 2] (ha : a 0) (hp : p = (8 * a * c - 3 * b ^ 2) / (8 * a ^ 2)) (hq : q = (b ^ 3 - 4 * a * b * c + 8 * a ^ 2 * d) / (8 * a ^ 3)) (hq_nonzero : q 0) (hr : r = (16 * a * b ^ 2 * c + 256 * a ^ 3 * e - 3 * b ^ 4 - 64 * a ^ 2 * b * d) / (256 * a ^ 4)) (hu : u ^ 3 - p * u ^ 2 - 4 * r * u + 4 * p * r - q ^ 2 = 0) (hs : s ^ 2 = u - p) (hv : v ^ 2 = 4 * s ^ 2 - 8 * (u - q / s)) (hw : w ^ 2 = 4 * s ^ 2 - 8 * (u + q / s)) (x : K) :
a * x ^ 4 + b * x ^ 3 + c * x ^ 2 + d * x + e = 0 x = (-2 * s - v) / 4 - b / (4 * a) x = (-2 * s + v) / 4 - b / (4 * a) x = (2 * s - w) / 4 - b / (4 * a) x = (2 * s + w) / 4 - b / (4 * a)

docs, source

48. Dirichlet’s Theorem #

Author: David Loeffler, Michael Stoll

theorem Nat.setOf_prime_and_eq_mod_infinite {q : } [NeZero q] {a : ZMod q} (ha : IsUnit a) :
{p : | Nat.Prime p p = a}.Infinite

docs, source

49. The Cayley-Hamilton Theorem #

Author: Kim Morrison

theorem Matrix.aeval_self_charpoly {R : Type u_1} [CommRing R] {n : Type u_4} [DecidableEq n] [Fintype n] (M : Matrix n n R) :
(Polynomial.aeval M) M.charpoly = 0

docs, source

51. Wilson’s Lemma #

Author: Chris Hughes

theorem ZMod.wilsons_lemma (p : ) [Fact (Nat.Prime p)] :
(p - 1).factorial = -1

docs, source

52. The Number of Subsets of a Set #

Author: mathlib

theorem Finset.card_powerset {α : Type u_1} (s : Finset α) :
s.powerset.card = 2 ^ s.card

docs, source

54. Königsberg Bridges Problem #

Author: Kyle Miller

theorem Konigsberg.not_isEulerian {u v : Konigsberg.Verts} (p : Konigsberg.graph.Walk u v) (h : p.IsEulerian) :

docs, source

55. Product of Segments of Chords #

Author: Manuel Candales

docs, source

57. Heron’s Formula #

Author: Matt Kempster

theorem Theorems100.heron {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {p1 p2 p3 : P} (h1 : p1 p2) (h2 : p3 p2) :
let a := dist p1 p2; let b := dist p3 p2; let c := dist p1 p3; let s := (a + b + c) / 2; 1 / 2 * a * b * Real.sin (EuclideanGeometry.angle p1 p2 p3) = (s * (s - a) * (s - b) * (s - c))

docs, source

58. Formula for the Number of Combinations #

Author: mathlib

theorem Finset.card_powersetCard {α : Type u_1} (n : ) (s : Finset α) :
(Finset.powersetCard n s).card = s.card.choose n

docs, source

theorem Finset.mem_powersetCard {α : Type u_1} {n : } {s t : Finset α} :
s Finset.powersetCard n t s t s.card = n

docs, source

59. The Laws of Large Numbers #

Author: Sébastien Gouëzel

theorem ProbabilityTheory.strong_law_ae {Ω : Type u_1} {mΩ : MeasurableSpace Ω} {μ : MeasureTheory.Measure Ω} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] [MeasurableSpace E] [BorelSpace E] (X : ΩE) (hint : MeasureTheory.Integrable (X 0) μ) (hindep : Pairwise ((fun (x1 x2 : ΩE) => ProbabilityTheory.IndepFun x1 x2 μ) on X)) (hident : ∀ (i : ), ProbabilityTheory.IdentDistrib (X i) (X 0) μ μ) :
∀ᵐ (ω : Ω) ∂μ, Filter.Tendsto (fun (n : ) => (↑n)⁻¹ iFinset.range n, X i ω) Filter.atTop (nhds (∫ (x : Ω), X 0 xμ))

docs, source

60. Bezout’s Theorem #

Author: mathlib

theorem Nat.gcd_eq_gcd_ab (x y : ) :
(x.gcd y) = x * x.gcdA y + y * x.gcdB y

docs, source

62. Fair Games Theorem #

Author: Kexing Ying

theorem MeasureTheory.submartingale_iff_expected_stoppedValue_mono {Ω : Type u_1} {m0 : MeasurableSpace Ω} {μ : MeasureTheory.Measure Ω} {𝒢 : MeasureTheory.Filtration m0} {f : Ω} [MeasureTheory.IsFiniteMeasure μ] (hadp : MeasureTheory.Adapted 𝒢 f) (hint : ∀ (i : ), MeasureTheory.Integrable (f i) μ) :
MeasureTheory.Submartingale f 𝒢 μ ∀ (τ π : Ω), MeasureTheory.IsStoppingTime 𝒢 τMeasureTheory.IsStoppingTime 𝒢 πτ π(∃ (N : ), ∀ (x : Ω), π x N)∫ (x : Ω), MeasureTheory.stoppedValue f τ xμ ∫ (x : Ω), MeasureTheory.stoppedValue f π xμ

docs, source

63. Cantor’s Theorem #

Authors: Johannes Hölzl and Mario Carneiro

theorem Function.cantor_surjective {α : Type u_4} (f : αSet α) :

docs, source

64. L’Hopital’s Rule #

Author: Anatole Dedecker

theorem deriv.lhopital_zero_nhds {a : } {l : Filter } {f g : } (hdf : ∀ᶠ (x : ) in nhds a, DifferentiableAt f x) (hg' : ∀ᶠ (x : ) in nhds a, deriv g x 0) (hfa : Filter.Tendsto f (nhds a) (nhds 0)) (hga : Filter.Tendsto g (nhds a) (nhds 0)) (hdiv : Filter.Tendsto (fun (x : ) => deriv f x / deriv g x) (nhds a) l) :
Filter.Tendsto (fun (x : ) => f x / g x) (nhdsWithin a {a}) l

docs, source

65. Isosceles Triangle Theorem #

Author: Joseph Myers

docs, source

66. Sum of a Geometric Series #

Authors: Sander R. Dahmen (finite) and Johannes Hölzl (infinite)

theorem geom_sum_Ico {α : Type u} [DivisionRing α] {x : α} (hx : x 1) {m n : } (hmn : m n) :
iFinset.Ico m n, x ^ i = (x ^ n - x ^ m) / (x - 1)

docs, source

theorem NNReal.hasSum_geometric {r : NNReal} (hr : r < 1) :
HasSum (fun (n : ) => r ^ n) (1 - r)⁻¹

docs, source

67. e is Transcendental #

Author: Jujian Zhang

result

website

68. Sum of an arithmetic series #

Author: Johannes Hölzl

theorem Finset.sum_range_id (n : ) :
iFinset.range n, i = n * (n - 1) / 2

docs, source

69. Greatest Common Divisor Algorithm #

Author: mathlib

def EuclideanDomain.gcd {R : Type u} [EuclideanDomain R] [DecidableEq R] (a b : R) :
R

docs, source

docs, source

theorem EuclideanDomain.dvd_gcd {R : Type u} [EuclideanDomain R] [DecidableEq R] {a b c : R} :
c ac bc EuclideanDomain.gcd a b

docs, source

70. The Perfect Number Theorem #

Author: Aaron Anderson

theorem Theorems100.Nat.eq_two_pow_mul_prime_mersenne_of_even_perfect {n : } (ev : Even n) (perf : n.Perfect) :
∃ (k : ), Nat.Prime (mersenne (k + 1)) n = 2 ^ k * mersenne (k + 1)

docs, source

71. Order of a Subgroup #

Author: mathlib

theorem Subgroup.card_subgroup_dvd_card {α : Type u_1} [Group α] (s : Subgroup α) :

docs, source

72. Sylow’s Theorem #

Author: Chris Hughes

theorem Sylow.exists_subgroup_card_pow_prime {G : Type u} [Group G] [Finite G] (p : ) {n : } [Fact (Nat.Prime p)] (hdvd : p ^ n Nat.card G) :
∃ (K : Subgroup G), Nat.card K = p ^ n

docs, source

instance Sylow.isPretransitive_of_finite {p : } {G : Type u_1} [Group G] [hp : Fact (Nat.Prime p)] [Finite (Sylow p G)] :

docs, source

theorem Sylow.card_dvd_index {p : } {G : Type u_1} [Group G] [Fact (Nat.Prime p)] [Finite (Sylow p G)] (P : Sylow p G) :
Nat.card (Sylow p G) (↑P).index

docs, source

theorem card_sylow_modEq_one (p : ) (G : Type u_1) [Group G] [Fact (Nat.Prime p)] [Finite (Sylow p G)] :

docs, source

73. Ascending or Descending Sequences (Erdős–Szekeres Theorem) #

Author: Bhavik Mehta

theorem Theorems100.erdos_szekeres {α : Type u_1} [LinearOrder α] {r s n : } {f : Fin nα} (hn : r * s < n) (hf : Function.Injective f) :
(∃ (t : Finset (Fin n)), r < t.card StrictMonoOn f t) ∃ (t : Finset (Fin n)), s < t.card StrictAntiOn f t

docs, source

74. The Principle of Mathematical Induction #

Author: Leonardo de Moura

inductive Nat :

docs, source

Automatically generated when defining the natural numbers

75. The Mean Value Theorem #

Author: Yury G. Kudryashov

theorem exists_deriv_eq_slope (f : ) {a b : } (hab : a < b) (hfc : ContinuousOn f (Set.Icc a b)) (hfd : DifferentiableOn f (Set.Ioo a b)) :
cSet.Ioo a b, deriv f c = (f b - f a) / (b - a)

docs, source

76. Fourier Series #

Author: Heather Macbeth

def fourierCoeff {T : } [hT : Fact (0 < T)] {E : Type} [NormedAddCommGroup E] [NormedSpace E] (f : AddCircle TE) (n : ) :
E

docs, source

theorem hasSum_fourier_series_L2 {T : } [hT : Fact (0 < T)] (f : (MeasureTheory.Lp 2 AddCircle.haarAddCircle)) :
HasSum (fun (i : ) => fourierCoeff (↑f) i fourierLp 2 i) f

docs, source

77. Sum of kth powers #

Authors: Moritz Firsching and Fabian Kruse and Ashvni Narayanan

theorem sum_range_pow (n p : ) :
kFinset.range n, k ^ p = iFinset.range (p + 1), bernoulli i * ((p + 1).choose i) * n ^ (p + 1 - i) / (p + 1)

docs, source

theorem sum_Ico_pow (n p : ) :
kFinset.Ico 1 (n + 1), k ^ p = iFinset.range (p + 1), bernoulli' i * ((p + 1).choose i) * n ^ (p + 1 - i) / (p + 1)

docs, source

78. The Cauchy-Schwarz Inequality #

Author: Zhouhang Zhou

theorem inner_mul_inner_self_le {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] (x y : E) :
inner x y * inner y x RCLike.re (inner x x) * RCLike.re (inner y y)

docs, source

theorem norm_inner_le_norm {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] (x y : E) :

docs, source

79. The Intermediate Value Theorem #

Authors: Rob Lewis and Chris Hughes

theorem intermediate_value_Icc {α : Type u} [ConditionallyCompleteLinearOrder α] [TopologicalSpace α] [OrderTopology α] [DenselyOrdered α] {δ : Type u_1} [LinearOrder δ] [TopologicalSpace δ] [OrderClosedTopology δ] {a b : α} (hab : a b) {f : αδ} (hf : ContinuousOn f (Set.Icc a b)) :
Set.Icc (f a) (f b) f '' Set.Icc a b

docs, source

80. The Fundamental Theorem of Arithmetic #

Author: Chris Hughes

theorem Nat.primeFactorsList_unique {n : } {l : List } (h₁ : l.prod = n) (h₂ : pl, Nat.Prime p) :
l.Perm n.primeFactorsList

docs, source

docs, source

docs, source

class UniqueFactorizationMonoid (α : Type u_2) [CancelCommMonoidWithZero α] extends IsWellFounded α DvdNotUnit :

docs, source

theorem UniqueFactorizationMonoid.factors_unique {α : Type u_1} [CancelCommMonoidWithZero α] [UniqueFactorizationMonoid α] {f g : Multiset α} (hf : xf, Irreducible x) (hg : xg, Irreducible x) (h : Associated f.prod g.prod) :
Multiset.Rel Associated f g

docs, source

it also has a generalized version, by showing that every Euclidean domain is a unique factorization domain, and showing that the integers form a Euclidean domain.

81. Divergence of the Prime Reciprocal Series #

Author: Manuel Candales (archive), Michael Stoll (mathlib)

theorem Theorems100.Real.tendsto_sum_one_div_prime_atTop :
Filter.Tendsto (fun (n : ) => pFinset.filter (fun (p : ) => Nat.Prime p) (Finset.range n), 1 / p) Filter.atTop Filter.atTop

docs, source

theorem not_summable_one_div_on_primes :
¬Summable ({p : | Nat.Prime p}.indicator fun (n : ) => 1 / n)

docs, source

82. Dissection of Cubes (J.E. Littlewood’s ‘elegant’ proof) #

Author: Floris van Doorn

theorem Theorems100.«82».cannot_cube_a_cube {n : } :
n 3∀ {s : Set (Theorems100.«82».Cube n)}, s.Finites.Nontrivials.PairwiseDisjoint Theorems100.«82».Cube.toSetcs, c.toSet = Theorems100.«82».Cube.unitCube.toSetSet.InjOn Theorems100.«82».Cube.w sFalse

docs, source

83. The Friendship Theorem #

Authors: Aaron Anderson and Jalex Stark and Kyle Miller

docs, source

85. Divisibility by 3 Rule #

Author: Kim Morrison

theorem Nat.three_dvd_iff (n : ) :
3 n 3 (Nat.digits 10 n).sum

docs, source

86. Lebesgue Measure and Integration #

Author: Johannes Hölzl

def MeasureTheory.lintegral {α : Type u_5} {x✝ : MeasurableSpace α} (μ : MeasureTheory.Measure α) (f : αENNReal) :

docs, source

88. Derangements Formula #

Author: Henry Swanson

docs, source

theorem numDerangements_sum (n : ) :
(numDerangements n) = kFinset.range (n + 1), (-1) ^ k * ((k + 1).ascFactorial (n - k))

docs, source

89. The Factor and Remainder Theorems #

Author: Chris Hughes

theorem Polynomial.dvd_iff_isRoot {R : Type u} {a : R} [CommRing R] {p : Polynomial R} :
Polynomial.X - Polynomial.C a p p.IsRoot a

docs, source

theorem Polynomial.mod_X_sub_C_eq_C_eval {R : Type u} [Field R] (p : Polynomial R) (a : R) :
p % (Polynomial.X - Polynomial.C a) = Polynomial.C (Polynomial.eval a p)

docs, source

90. Stirling’s Formula #

Authors: Moritz Firsching and Fabian Kruse and Nikolas Kuhn and Heather Macbeth

docs, source

91. The Triangle Inequality #

Author: Zhouhang Zhou

theorem norm_add_le {E : Type u_5} [SeminormedAddGroup E] (a b : E) :

docs, source

93. The Birthday Problem #

Author: Eric Rodriguez

theorem Theorems100.birthday :
2 * Fintype.card (Fin 23 Fin 365) < Fintype.card (Fin 23Fin 365) 2 * Fintype.card (Fin 22 Fin 365) > Fintype.card (Fin 22Fin 365)

docs, source

theorem Theorems100.birthday_measure :
MeasureTheory.volume {f : Fin 23Fin 365 | Function.Injective f} < 1 / 2

docs, source

94. The Law of Cosines #

Author: Joseph Myers

docs, source

95. Ptolemy’s Theorem #

Author: Manuel Candales

docs, source

96. Principle of Inclusion/Exclusion #

Author: Neil Strickland (outside mathlib), Yaël Dillies (in mathlib)

theorem Finset.inclusion_exclusion_sum_biUnion {ι : Type u_1} {α : Type u_2} {G : Type u_3} [DecidableEq α] [AddCommGroup G] (s : Finset ι) (S : ιFinset α) (f : αG) :
as.biUnion S, f a = t : { x : Finset ι // x Finset.filter (fun (x : Finset ι) => x.Nonempty) s.powerset }, (-1) ^ ((↑t).card + 1) a(↑t).inf' S, f a

docs, source

theorem Finset.inclusion_exclusion_card_biUnion {ι : Type u_1} {α : Type u_2} [DecidableEq α] (s : Finset ι) (S : ιFinset α) :
(s.biUnion S).card = t : { x : Finset ι // x Finset.filter (fun (x : Finset ι) => x.Nonempty) s.powerset }, (-1) ^ ((↑t).card + 1) * ((↑t).inf' S).card

docs, source

theorem Finset.inclusion_exclusion_sum_inf_compl {ι : Type u_1} {α : Type u_2} {G : Type u_3} [DecidableEq α] [AddCommGroup G] [Fintype α] (s : Finset ι) (S : ιFinset α) (f : αG) :
as.inf fun (i : ι) => (S i), f a = ts.powerset, (-1) ^ t.card at.inf S, f a

docs, source

theorem Finset.inclusion_exclusion_card_inf_compl {ι : Type u_1} {α : Type u_2} [DecidableEq α] [Fintype α] (s : Finset ι) (S : ιFinset α) :
(s.inf fun (i : ι) => (S i)).card = ts.powerset, (-1) ^ t.card * (t.inf S).card

docs, source

github

97. Cramer’s Rule #

Author: Anne Baanen

theorem Matrix.mulVec_cramer {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) (b : nα) :
A.mulVec (A.cramer b) = A.det b

docs, source

98. Bertrand’s Postulate #

Authors: Bolton Bailey and Patrick Stevens

theorem Nat.bertrand (n : ) (hn0 : n 0) :
∃ (p : ), Nat.Prime p n < p p 2 * n

docs, source

99. Buffon Needle Problem #

Author: Enrico Z. Borba

theorem BuffonsNeedle.buffon_short {Ω : Type u_1} [MeasureTheory.MeasureSpace Ω] (d l : ) (hd : 0 < d) (hl : 0 < l) (B : Ω × ) (hBₘ : Measurable B) (hB : MeasureTheory.pdf.IsUniform B (Set.Icc (-d / 2) (d / 2) ×ˢ Set.Icc 0 Real.pi) MeasureTheory.volume MeasureTheory.volume) (h : l d) :
∫ (x : Ω), BuffonsNeedle.N l B x = 2 * l * (d * Real.pi)⁻¹

docs, source

theorem BuffonsNeedle.buffon_long {Ω : Type u_1} [MeasureTheory.MeasureSpace Ω] (d l : ) (hd : 0 < d) (hl : 0 < l) (B : Ω × ) (hBₘ : Measurable B) (hB : MeasureTheory.pdf.IsUniform B (Set.Icc (-d / 2) (d / 2) ×ˢ Set.Icc 0 Real.pi) MeasureTheory.volume MeasureTheory.volume) (h : d l) :
∫ (x : Ω), BuffonsNeedle.N l B x = 2 * l / (d * Real.pi) - 2 / (d * Real.pi) * ((l ^ 2 - d ^ 2) + d * Real.arcsin (d / l)) + 1

docs, source

100. Descartes Rule of Signs #

Author: Alex Meiburg

github