Theorems 58 to 78
TheoremFormula for the Number of Combinations#
Mathlib records this with 2 declarations.
Finset.card_powersetCard: Formula for the Number of Combinations
Finset.card_powersetCard.{u_1} {α : Type u_1} (n : ℕ) (s : Finset α) :
(Finset.powersetCard n s).card = s.card.choose n
Finset.mem_powersetCard.
Finset.mem_powersetCard.{u_1} {α : Type u_1} {n : ℕ} {s t : Finset α} :
s ∈ Finset.powersetCard n t ↔ s ⊆ t ∧ s.card = n
Sources
Uses 2 · Used by 5
TheoremBezout’s Theorem#
Bézout's lemma: given x y : ℕ, gcd x y = x * a + y * b, where a = gcd_a x y and
b = gcd_b x y are computed by the extended Euclidean algorithm.
Nat.gcd_eq_gcd_ab (x y : ℕ) : ↑(x.gcd y) = ↑x * x.gcdA y + ↑y * x.gcdB y
Sources
Uses 1 · Used by 2
TheoremTheorem of Ceva#
Ceva's theorem for a triangle, expressed using division of distances.
Affine.Triangle.prod_dist_div_dist_eq_one_of_mem_line_of_mem_line.{u_1, u_2, u_3} {𝕜 : Type u_1}
{V : Type u_2} {P : Type u_3} [SeminormedAddCommGroup V] [NormedField 𝕜] [NormedSpace 𝕜 V]
[MetricSpace P] [NormedAddTorsor V P] {t : Affine.Triangle 𝕜 P} {p : Fin 3 → P} {p' : P}
(hp0 : ∀ (i : Fin 3), p i ≠ t.points (i + 2))
(hp : ∀ (i : Fin 3), p i ∈ line[𝕜, t.points (i + 1), t.points (i + 2)])
(hp' : ∀ (i : Fin 3), p' ∈ line[𝕜, t.points i, p i]) :
∏ i, dist (t.points (i + 1)) (p i) / dist (p i) (t.points (i + 2)) = 1
Sources
- Mathlib documentation:
Affine.Triangle.prod_dist_div_dist_eq_one_of_mem_line_of_mem_line - Source of
Affine.Triangle.prod_dist_div_dist_eq_one_of_mem_line_of_mem_linein Mathlib/Analysis/Normed/Affine/Ceva.lean - Freek Wiedijk's 100 theorems, no. 61
- 1000+ theorems list: Q213603
- 1000+ theorems project: Q213603
- Wikipedia: Ceva's theorem
- Wikidata: Q213603
Uses 7
TheoremCantor’s Theorem#
Cantor's diagonal argument implies that there are no surjective functions from α
to Set α.
Function.cantor_surjective.{u_4} {α : Type u_4} (f : α → Set α) : ¬Function.Surjective f
Sources
Uses 1 · Used by 1
TheoremL’Hopital’s Rule#
L'Hôpital's rule for approaching a real, deriv version
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
Sources
Uses 13
TheoremIsosceles Triangle Theorem#
Isosceles Triangle Theorem: Pons asinorum, angle-at-point form.
EuclideanGeometry.angle_eq_angle_of_dist_eq.{u_1, u_2} {V : Type u_1} {P : Type u_2}
[NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P]
{p₁ p₂ p₃ : P} (h : dist p₁ p₂ = dist p₁ p₃) :
EuclideanGeometry.angle p₁ p₂ p₃ = EuclideanGeometry.angle p₁ p₃ p₂
Sources
Uses 2
TheoremSum of a Geometric Series#
Mathlib records this with 2 declarations.
geom_sum_Ico.
geom_sum_Ico.{u_1} {K : Type u_1} [DivisionRing K] {x : K} (hx : x ≠ 1) {m n : ℕ} (hmn : m ≤ n) :
∑ i ∈ Finset.Ico m n, x ^ i = (x ^ n - x ^ m) / (x - 1)
NNReal.hasSum_geometric: Sum of a Geometric Series
NNReal.hasSum_geometric {r : NNReal} (hr : r < 1) : HasSum (fun n => r ^ n) (1 - r)⁻¹
Sources
Uses 9 · Used by 3
TheoremSum of an arithmetic series#
Gauss' summation formula
Finset.sum_range_id (n : ℕ) : ∑ i ∈ Finset.range n, i = n * (n - 1) / 2
Sources
Uses 2
DefinitionGreatest Common Divisor Algorithm#
Mathlib records this with 3 declarations.
EuclideanDomain.gcd: gcd a b is a (non-unique) element such that gcd a b ∣ a gcd a b ∣ b, and for
any element c such that c ∣ a and c ∣ b, then c ∣ gcd a b
EuclideanDomain.gcd.{u} {R : Type u} [EuclideanDomain R] [DecidableEq R] (a b : R) : R
EuclideanDomain.gcd_dvd.
EuclideanDomain.gcd_dvd.{u} {R : Type u} [EuclideanDomain R] [DecidableEq R] (a b : R) :
EuclideanDomain.gcd a b ∣ a ∧ EuclideanDomain.gcd a b ∣ b
EuclideanDomain.dvd_gcd.
EuclideanDomain.dvd_gcd.{u} {R : Type u} [EuclideanDomain R] [DecidableEq R] {a b c : R} :
c ∣ a → c ∣ b → c ∣ EuclideanDomain.gcd a b
Sources
- Mathlib documentation:
EuclideanDomain.gcd - Source of
EuclideanDomain.gcdin Mathlib/Algebra/EuclideanDomain/Defs.lean - Mathlib documentation:
EuclideanDomain.gcd_dvd - Source of
EuclideanDomain.gcd_dvdin Mathlib/Algebra/EuclideanDomain/Basic.lean - Mathlib documentation:
EuclideanDomain.dvd_gcd - Source of
EuclideanDomain.dvd_gcdin Mathlib/Algebra/EuclideanDomain/Basic.lean - Freek Wiedijk's 100 theorems, no. 69
Uses 2 · Used by 1
TheoremThe Perfect Number Theorem#
Perfect Number Theorem: Euler's theorem that even perfect numbers can be factored as a power of two times a Mersenne prime.
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)
Sources
- Mathlib documentation:
Theorems100.Nat.eq_two_pow_mul_prime_mersenne_of_even_perfect - Source of
Theorems100.Nat.eq_two_pow_mul_prime_mersenne_of_even_perfectin Archive/Wiedijk100Theorems/PerfectNumbers.lean - Freek Wiedijk's 100 theorems, no. 70
- 1000+ theorems list: Q18206266
- 1000+ theorems project: Q18206266
- Wikipedia: Euclid–Euler theorem
- Wikidata: Q18206266
Uses 5
TheoremAscending or Descending Sequences (Erdős–Szekeres Theorem)#
Erdős–Szekeres Theorem: Given a sequence of more than r * s distinct values, there is an
increasing sequence of length longer than r or a decreasing sequence of length longer than s.
Proof idea:
We label each value in the sequence with two numbers specifying the longest increasing
subsequence ending there, and the longest decreasing subsequence ending there.
We then show the pair of labels must be unique. Now if there is no increasing sequence longer than
r and no decreasing sequence longer than s, then there are at most r * s possible labels,
which is a contradiction if there are more than r * s elements.
Theorems100.erdos_szekeres.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [LinearOrder α]
[LinearOrder β] {r s : ℕ} {f : α → β} (hn : r * s < Fintype.card α) (hf : Function.Injective f) :
(∃ t, r < t.card ∧ StrictMonoOn f ↑t) ∨ ∃ t, s < t.card ∧ StrictAntiOn f ↑t
Sources
- Mathlib documentation:
Theorems100.erdos_szekeres - Source of
Theorems100.erdos_szekeresin Archive/Wiedijk100Theorems/AscendingDescendingSequences.lean - Freek Wiedijk's 100 theorems, no. 73
- 1000+ theorems list: Q976607
- 1000+ theorems project: Q976607
- Wikipedia: Erdős–Szekeres theorem
- Wikidata: Q976607
Uses 2
TheoremThe Mean Value Theorem (Freek Wiedijk's 100 theorems)#
Lagrange's Mean Value Theorem, deriv version.
exists_deriv_eq_slope (f : ℝ → ℝ) {a b : ℝ} (hab : a < b) (hfc : ContinuousOn f (Set.Icc a b))
(hfd : DifferentiableOn ℝ f (Set.Ioo a b)) : ∃ c ∈ Set.Ioo a b, deriv f c = (f b - f a) / (b - a)
The 1000+ list (Q189136) also cites exists_ratio_deriv_eq_ratio_slope.
Sources
Uses 10 · Used by 2
DefinitionFourier Series#
Mathlib records this with 2 declarations.
fourierCoeff: The n-th Fourier coefficient of a function AddCircle T → E, for E a complete normed
ℂ-vector space, defined as the integral over AddCircle T of fourier (-n) t • f t.
fourierCoeff.{u_1} {T : ℝ} [hT : Fact (0 < T)] {E : Type u_1} [NormedAddCommGroup E]
[NormedSpace ℂ E] (f : AddCircle T → E) (n : ℤ) : E
hasSum_fourier_series_L2: The Fourier series of an L2 function f sums to f, in the L² space of AddCircle T.
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
Sources
Uses 17 · Used by 3
TheoremSum of kth powers#
Mathlib records this with 2 declarations.
sum_range_pow: Faulhaber's theorem relating the sum of p-th powers to the Bernoulli numbers:
$\(\sum_{k=0}^{n-1} k^p = \sum_{i=0}^p B_i\binom{p+1}{i}\frac{n^{p+1-i}}{p+1}.\)$
See https://proofwiki.org/wiki/Faulhaber%27s_Formula and [orosi2018faulhaber] for
the proof provided here.
sum_range_pow (n p : ℕ) :
∑ k ∈ Finset.range n, ↑k ^ p =
∑ i ∈ Finset.range (p + 1), bernoulli i * ↑((p + 1).choose i) * ↑n ^ (p + 1 - i) / (↑p + 1)
sum_Ico_pow: Alternate form of Faulhaber's theorem, relating the sum of p-th powers to the Bernoulli
numbers:
$\(\sum_{k=1}^{n} k^p = \sum_{i=0}^p (-1)^iB_i\binom{p+1}{i}\frac{n^{p+1-i}}{p+1}.\)$
Deduced from sum_range_pow.
sum_Ico_pow (n p : ℕ) :
∑ k ∈ Finset.Ico 1 (n + 1), ↑k ^ p =
∑ i ∈ Finset.range (p + 1), bernoulli' i * ↑((p + 1).choose i) * ↑n ^ (p + 1 - i) / (↑p + 1)
Sources
Uses 10 · Used by 1
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.