mathlib documentation

algebra.geom_sum

Partial sums of geometric series #

This file determines the values of the geometric series $\sum_{i=0}^{n-1} x^i$ and $\sum_{i=0}^{n-1} x^i y^{n-1-i}$ and variants thereof.

Main definitions #

Main statements #

Several variants are recorded, generalising in particular to the case of a noncommutative ring in which x and y commute. Even versions not using division or subtraction, valid in each semiring, are recorded.

def geom_sum {α : Type u} [semiring α] (x : α) (n : ) :
α

Sum of the finite geometric series $\sum_{i=0}^{n-1} x^i$.

Equations
theorem geom_sum_def {α : Type u} [semiring α] (x : α) (n : ) :
geom_sum x n = ∑ (i : ) in finset.range n, x ^ i
@[simp]
theorem geom_sum_zero {α : Type u} [semiring α] (x : α) :
geom_sum x 0 = 0
@[simp]
theorem geom_sum_one {α : Type u} [semiring α] (x : α) :
geom_sum x 1 = 1
@[simp]
theorem op_geom_sum {α : Type u} [ring α] (x : α) (n : ) :
def geom_sum₂ {α : Type u} [semiring α] (x y : α) (n : ) :
α

Sum of the finite geometric series $\sum_{i=0}^{n-1} x^i y^{n-1-i}$.

Equations
theorem geom_sum₂_def {α : Type u} [semiring α] (x y : α) (n : ) :
geom_sum₂ x y n = ∑ (i : ) in finset.range n, (x ^ i) * y ^ (n - 1 - i)
@[simp]
theorem geom_sum₂_zero {α : Type u} [semiring α] (x y : α) :
geom_sum₂ x y 0 = 0
@[simp]
theorem geom_sum₂_one {α : Type u} [semiring α] (x y : α) :
geom_sum₂ x y 1 = 1
@[simp]
theorem op_geom_sum₂ {α : Type u} [ring α] (x y : α) (n : ) :
@[simp]
theorem geom_sum₂_with_one {α : Type u} [semiring α] (x : α) (n : ) :
theorem commute.geom_sum₂_mul_add {α : Type u} [semiring α] {x y : α} (h : commute x y) (n : ) :
(geom_sum₂ (x + y) y n) * x + y ^ n = (x + y) ^ n

$x^n-y^n = (x-y) \sum x^ky^{n-1-k}$ reformulated without - signs.

theorem geom_sum₂_self {α : Type u_1} [comm_ring α] (x : α) (n : ) :
geom_sum₂ x x n = (n) * x ^ (n - 1)
theorem geom_sum₂_mul_add {α : Type u} [comm_semiring α] (x y : α) (n : ) :
(geom_sum₂ (x + y) y n) * x + y ^ n = (x + y) ^ n

$x^n-y^n = (x-y) \sum x^ky^{n-1-k}$ reformulated without - signs.

theorem geom_sum_mul_add {α : Type u} [semiring α] (x : α) (n : ) :
(geom_sum (x + 1) n) * x + 1 = (x + 1) ^ n
theorem commute.geom_sum₂_mul {α : Type u} [ring α] {x y : α} (h : commute x y) (n : ) :
(geom_sum₂ x y n) * (x - y) = x ^ n - y ^ n
theorem commute.mul_neg_geom_sum₂ {α : Type u} [ring α] {x y : α} (h : commute x y) (n : ) :
(y - x) * geom_sum₂ x y n = y ^ n - x ^ n
theorem commute.mul_geom_sum₂ {α : Type u} [ring α] {x y : α} (h : commute x y) (n : ) :
(x - y) * geom_sum₂ x y n = x ^ n - y ^ n
theorem geom_sum₂_mul {α : Type u} [comm_ring α] (x y : α) (n : ) :
(geom_sum₂ x y n) * (x - y) = x ^ n - y ^ n
theorem geom_sum_mul {α : Type u} [ring α] (x : α) (n : ) :
(geom_sum x n) * (x - 1) = x ^ n - 1
theorem mul_geom_sum {α : Type u} [ring α] (x : α) (n : ) :
(x - 1) * geom_sum x n = x ^ n - 1
theorem geom_sum_mul_neg {α : Type u} [ring α] (x : α) (n : ) :
(geom_sum x n) * (1 - x) = 1 - x ^ n
theorem mul_neg_geom_sum {α : Type u} [ring α] (x : α) (n : ) :
(1 - x) * geom_sum x n = 1 - x ^ n
theorem commute.geom_sum₂ {α : Type u} [division_ring α] {x y : α} (h' : commute x y) (h : x y) (n : ) :
geom_sum₂ x y n = (x ^ n - y ^ n) / (x - y)
theorem geom₂_sum {α : Type u} [field α] {x y : α} (h : x y) (n : ) :
geom_sum₂ x y n = (x ^ n - y ^ n) / (x - y)
theorem geom_sum_eq {α : Type u} [division_ring α] {x : α} (h : x 1) (n : ) :
geom_sum x n = (x ^ n - 1) / (x - 1)
theorem commute.mul_geom_sum₂_Ico {α : Type u} [ring α] {x y : α} (h : commute x y) {m n : } (hmn : m n) :
(x - y) * ∑ (i : ) in finset.Ico m n, (x ^ i) * y ^ (n - 1 - i) = x ^ n - (x ^ m) * y ^ (n - m)
theorem commute.geom_sum₂_succ_eq {α : Type u} [ring α] {x y : α} (h : commute x y) {n : } :
geom_sum₂ x y (n + 1) = x ^ n + y * geom_sum₂ x y n
theorem geom_sum₂_succ_eq {α : Type u} [comm_ring α] (x y : α) {n : } :
geom_sum₂ x y (n + 1) = x ^ n + y * geom_sum₂ x y n
theorem mul_geom_sum₂_Ico {α : Type u} [comm_ring α] (x y : α) {m n : } (hmn : m n) :
(x - y) * ∑ (i : ) in finset.Ico m n, (x ^ i) * y ^ (n - 1 - i) = x ^ n - (x ^ m) * y ^ (n - m)
theorem commute.geom_sum₂_Ico_mul {α : Type u} [ring α] {x y : α} (h : commute x y) {m n : } (hmn : m n) :
(∑ (i : ) in finset.Ico m n, (x ^ i) * y ^ (n - 1 - i)) * (x - y) = x ^ n - (y ^ (n - m)) * x ^ m
theorem geom_sum_Ico_mul {α : Type u} [ring α] (x : α) {m n : } (hmn : m n) :
(∑ (i : ) in finset.Ico m n, x ^ i) * (x - 1) = x ^ n - x ^ m
theorem geom_sum_Ico_mul_neg {α : Type u} [ring α] (x : α) {m n : } (hmn : m n) :
(∑ (i : ) in finset.Ico m n, x ^ i) * (1 - x) = x ^ m - x ^ n
theorem commute.geom_sum₂_Ico {α : Type u} [division_ring α] {x y : α} (h : commute x y) (hxy : x y) {m n : } (hmn : m n) :
∑ (i : ) in finset.Ico m n, (x ^ i) * y ^ (n - 1 - i) = (x ^ n - (y ^ (n - m)) * x ^ m) / (x - y)
theorem geom_sum₂_Ico {α : Type u} [field α] {x y : α} (hxy : x y) {m n : } (hmn : m n) :
∑ (i : ) in finset.Ico m n, (x ^ i) * y ^ (n - 1 - i) = (x ^ n - (y ^ (n - m)) * x ^ m) / (x - y)
theorem geom_sum_Ico {α : Type u} [division_ring α] {x : α} (hx : x 1) {m n : } (hmn : m n) :
∑ (i : ) in finset.Ico m n, x ^ i = (x ^ n - x ^ m) / (x - 1)
theorem geom_sum_Ico' {α : Type u} [division_ring α] {x : α} (hx : x 1) {m n : } (hmn : m n) :
∑ (i : ) in finset.Ico m n, x ^ i = (x ^ m - x ^ n) / (1 - x)
theorem geom_sum_inv {α : Type u} [division_ring α] {x : α} (hx1 : x 1) (hx0 : x 0) (n : ) :
geom_sum x⁻¹ n = (x - 1)⁻¹ * (x - (x⁻¹ ^ n) * x)
theorem ring_hom.map_geom_sum {α : Type u} {β : Type u_1} [semiring α] [semiring β] (x : α) (n : ) (f : α →+* β) :
f (geom_sum x n) = geom_sum (f x) n
theorem ring_hom.map_geom_sum₂ {α : Type u} {β : Type u_1} [semiring α] [semiring β] (x y : α) (n : ) (f : α →+* β) :
f (geom_sum₂ x y n) = geom_sum₂ (f x) (f y) n