Detailed Proofs: Limits of Formal Power Series #
This file contains detailed proofs for the theorems about limits of formal power series,
following Section sec.details.gf.lim (Section 7.5 Details) of the source material.
The main theorems are stated in AlgebraicCombinatorics.FPS.Limits. This file provides
the detailed proof arguments that follow the structure of the TeX source closely.
Main Results #
The detailed proofs cover:
lem.fps.lim.xn-equiv(Lemma 7.5.4): Iff_i → f, then for eachn, eventuallyf_i ≡ f (mod x^{n+1}).prop.fps.lim.sum-prod(Proposition 7.5.5): Limits respect addition and multiplication.prop.fps.lim.sum-quot(Proposition 7.5.6): Limits respect division (when denominators are invertible).- Includes Claim 1: The limit
gis invertible if allg_iare invertible.
- Includes Claim 1: The limit
thm.fps.lim.sum-lim(Theorem 7.5.9): Infinite sum is the limit of partial sums.thm.fps.lim.prod-lim(Theorem 7.5.10): Infinite product is the limit of partial products.cor.fps.lim.fps-as-pol(Corollary 7.5.11): Each FPS is a limit of polynomials.thm.fps.lim.sum-lim-conv(Theorem 7.5.12): Converse - if partial sums converge, family is summable.thm.fps.lim.prod-lim-conv(Theorem 7.5.13): Converse - if partial products converge, family is multipliable.
References #
- Source:
AlgebraicCombinatorics/tex/Details/Limits.tex - Main theorems:
AlgebraicCombinatorics/FPS/Limits.lean
Detailed Proofs for Sequence Stabilization #
These lemmas provide the foundational facts about sequence stabilization.
If a sequence stabilizes to a limit, that limit is unique.
(Used in the proof of Lemma lem.fps.lim.xn-equiv)
x^n-Equivalence Properties #
The key property used in all the limit proofs is that x^n-equivalence is preserved by arithmetic operations.
x^n-equivalence is compatible with division (when denominators are invertible).
(Theorem thm.fps.xneq.props (e), used in prop.fps.lim.sum-quot)
This is a key lemma: if f₁ ≡[x^n] f₂ and g₁ ≡[x^n] g₂ with g₁, g₂ invertible,
then f₁/g₁ ≡[x^n] f₂/g₂.
This is already proved as xnEquiv_div in AlgebraicCombinatorics.FPS.Limits.
Detailed Proof of Lemma lem.fps.lim.xn-equiv #
Statement: If lim_{i→∞} f_i = f, then for each n ∈ ℕ, there exists N ∈ ℕ
such that all integers i ≥ N satisfy f_i ≡[x^n] f.
Proof idea:
- By definition of coefficientwise stabilization, for each
k ∈ ℕ, the sequence([x^k] f_i)_{i ∈ ℕ}stabilizes to[x^k] f. - For each
k ∈ {0, 1, ..., n}, letN_kbe the stabilization index. - Set
P = max{N_0, N_1, ..., N_n}. - For any
i ≥ P, we havei ≥ N_kfor allk ≤ n, so[x^k] f_i = [x^k] f. - This means
f_i ≡[x^n] f.
This is already proved as exists_xnEquiv_of_coeffStabilizesTo in the main file.
Detailed Proof of Proposition prop.fps.lim.sum-prod #
Statement: If lim_{i→∞} f_i = f and lim_{i→∞} g_i = g, then:
lim_{i→∞} (f_i + g_i) = f + glim_{i→∞} (f_i * g_i) = f * g
Proof idea for addition:
- By Lemma
lem.fps.lim.xn-equiv, for eachn, eventuallyf_i ≡[x^n] fandg_i ≡[x^n] g. - By the additivity of x^n-equivalence, eventually
f_i + g_i ≡[x^n] f + g. - In particular, eventually
[x^n](f_i + g_i) = [x^n](f + g). - This holds for all
n, so(f_i + g_i)coefficientwise stabilizes tof + g.
Proof idea for multiplication:
- By Lemma
lem.fps.lim.xn-equiv, for eachn, eventuallyf_i ≡[x^n] fandg_i ≡[x^n] g. - By the multiplicativity of x^n-equivalence, eventually
f_i * g_i ≡[x^n] f * g. - In particular, eventually
[x^n](f_i * g_i) = [x^n](f * g). - This holds for all
n, so(f_i * g_i)coefficientwise stabilizes tof * g.
Intermediate result K for prop.fps.lim.sum-prod (Label: prop.fps.lim.sum-prod.K)
If lim_{i→∞} f_i = f, then for each n ∈ ℕ, there exists K ∈ ℕ such that
all integers i ≥ K satisfy f_i ≡[x^n] f.
This is the first intermediate step in the detailed proof of Proposition prop.fps.lim.sum-prod.
It follows directly from Lemma lem.fps.lim.xn-equiv (i.e., exists_xnEquiv_of_coeffStabilizesTo).
The proof proceeds as follows:
- By definition of coefficientwise stabilization, for each
k ∈ ℕ, the sequence([x^k] f_i)_{i ∈ ℕ}stabilizes to[x^k] f. - For each
k ∈ {0, 1, ..., n}, letN_kbe the stabilization index. - Set
K = max{N_0, N_1, ..., N_n}. - For any
i ≥ K, we havei ≥ N_kfor allk ≤ n, so[x^k] f_i = [x^k] f. - This means
f_i ≡[x^n] f.
This result is used together with prop.fps.lim.sum-prod.L (the analogous statement for g_i → g)
to prove the main proposition.
Intermediate result L for prop.fps.lim.sum-prod (Label: prop.fps.lim.sum-prod.L)
If lim_{i→∞} g_i = g, then for each n ∈ ℕ, there exists L ∈ ℕ such that
all integers i ≥ L satisfy g_i ≡[x^n] g.
This is the second intermediate step in the detailed proof of Proposition prop.fps.lim.sum-prod.
It is the exact same statement as prop.fps.lim.sum-prod.K, but applied to the sequence (g_i).
Together with prop.fps.lim.sum-prod.K, this allows us to set P = max{K, L} and conclude
that for all i ≥ P, both f_i ≡[x^n] f and g_i ≡[x^n] g hold simultaneously.
Combined intermediate result for prop.fps.lim.sum-prod
Combining prop.fps.lim.sum-prod.K and prop.fps.lim.sum-prod.L: if f_i → f and g_i → g,
then for each n ∈ ℕ, there exists P ∈ ℕ such that for all i ≥ P:
f_i ≡[x^n] fg_i ≡[x^n] g
This is the key step that allows us to apply the compatibility of x^n-equivalence with arithmetic operations.
Limits respect addition - detailed proof.
(Proposition prop.fps.lim.sum-prod, label: prop.fps.lim.sum-prod)
The same argument as for multiplication, but using the additivity of x^n-equivalence.
Limits respect multiplication - detailed proof.
(Proposition prop.fps.lim.sum-prod, label: prop.fps.lim.sum-prod)
Detailed Proof of Proposition prop.fps.lim.sum-quot #
Statement: If lim_{i→∞} f_i = f, lim_{i→∞} g_i = g, and each g_i is invertible,
then g is invertible and lim_{i→∞} (f_i / g_i) = f / g.
Proof idea:
Claim 1: g is invertible.
- The sequence
([x^0] g_i)stabilizes to[x^0] g. - For large enough
i,[x^0] g_i = [x^0] g. - Since
g_iis invertible,[x^0] g_iis a unit inK. - Therefore
[x^0] gis a unit, sogis invertible.
Main proof:
- By Lemma
lem.fps.lim.xn-equiv, eventuallyf_i ≡[x^n] fandg_i ≡[x^n] g. - By Theorem
thm.fps.xneq.props(e), eventuallyf_i/g_i ≡[x^n] f/g. - In particular, eventually
[x^n](f_i/g_i) = [x^n](f/g).
Note: Claim 1 is already proved as isUnit_constantCoeff_of_coeffStabilizesTo in the main file.
Detailed Proof of Theorem thm.fps.lim.sum-lim #
Statement: If the family (f_n)_{n ∈ ℕ} is summable, then
lim_{i→∞} ∑_{n=0}^{i} f_n = ∑_{n ∈ ℕ} f_n.
Proof idea:
- Define
g_i = ∑_{k=0}^{i} f_kandg = ∑_{k ∈ ℕ} f_k. - Fix
n ∈ ℕ. By summability, only finitely manykhave[x^n] f_k ≠ 0. - Let
mbe an upper bound for thesek. - For
i ≥ m, we have[x^n] g_i = ∑_{k=0}^{i} [x^n] f_k = ∑_{k=0}^{m} [x^n] f_k(since[x^n] f_k = 0fork > m). - Similarly,
[x^n] g = ∑_{k ∈ ℕ} [x^n] f_k = ∑_{k=0}^{m} [x^n] f_k. - Therefore
[x^n] g_i = [x^n] gfori ≥ m.
Infinite sum is the limit of partial sums - detailed proof.
(Theorem thm.fps.lim.sum-lim, label: thm.fps.lim.sum-lim)
The proof follows the tex source structure:
- Define
g_i = ∑_{k=0}^{i} f_kandg = ∑_{k ∈ ℕ} f_k. - Fix
n ∈ ℕ. By summability, only finitely manykhave[x^n] f_k ≠ 0. - Let
Jbe this finite set, with upper boundm. - For
i ≥ m:[x^n] g = ∑_{k ∈ ℕ} [x^n] f_k = ∑_{k=0}^{i} [x^n] f_k(since terms fork > mare 0)[x^n] g_i = ∑_{k=0}^{i} [x^n] f_k
- Therefore
[x^n] g_i = [x^n] gfori ≥ m.
Detailed Proof of Theorem thm.fps.lim.prod-lim #
Statement: If the family (f_n)_{n ∈ ℕ} is multipliable, then
lim_{i→∞} ∏_{n=0}^{i} f_n = ∏_{n ∈ ℕ} f_n.
Proof idea:
- Define
g_i = ∏_{k=0}^{i} f_kandg = ∏_{k ∈ ℕ} f_k. - Fix
n ∈ ℕ. By multipliability, the x^n-coefficient is finitely determined. - Let
Mbe a finite subset that determines this coefficient, with upper boundm. - For
i ≥ m, we haveM ⊆ {0, 1, ..., i}, so[x^n](∏_{k ∈ {0,...,i}} f_k) = [x^n](∏_{k ∈ M} f_k). - By definition of the infinite product,
[x^n] g = [x^n](∏_{k ∈ M} f_k). - Therefore
[x^n] g_i = [x^n] gfori ≥ m.
Infinite product is the limit of partial products - detailed proof.
(Theorem thm.fps.lim.prod-lim, label: thm.fps.lim.prod-lim)
The proof follows the tex source structure:
- Define
g_i = ∏_{k=0}^{i} f_kandg = ∏_{k ∈ ℕ} f_k. - Fix
n ∈ ℕ. By multipliability, the x^n-coefficient is finitely determined. - Let
Mbe a finite subset that determines this coefficient, with upper boundm. - For
i ≥ m, we haveM ⊆ {0, 1, ..., i}, so[x^n](∏_{k ∈ {0,...,i}} f_k) = [x^n](∏_{k ∈ M} f_k). - By definition of the infinite product,
[x^n] g = [x^n](∏_{k ∈ M} f_k). - Therefore
[x^n] g_i = [x^n] gfori ≥ m.
Detailed Proof of Corollary cor.fps.lim.fps-as-pol #
Statement: Any FPS a = ∑_{n ∈ ℕ} a_n x^n satisfies
a = lim_{i→∞} ∑_{n=0}^{i} a_n x^n.
Proof idea:
- The family
(a_n x^n)_{n ∈ ℕ}is summable (by Corollarycor.fps.sumakxk). - By Theorem
thm.fps.lim.sum-lim,lim_{i→∞} ∑_{n=0}^{i} a_n x^n = ∑_{n ∈ ℕ} a_n x^n = a.
This is already proved as coeffStabilizesTo_trunc in the main file.
Detailed Proof of Theorem thm.fps.lim.sum-lim-conv #
Statement: If the limit lim_{i→∞} ∑_{n=0}^{i} f_n exists, then the family
(f_n)_{n ∈ ℕ} is summable and the limit equals ∑_{n ∈ ℕ} f_n.
Proof idea:
- Let
g = lim_{i→∞} g_iwhereg_i = ∑_{k=0}^{i} f_k. - Fix
n ∈ ℕ. The sequence([x^n] g_i)stabilizes to[x^n] g. - Let
Nbe the stabilization index. SetM = {0, 1, ..., N}. - For
i ∈ ℕ \ M(i.e.,i > N), we have:[x^n] g_i = [x^n] gand[x^n] g_{i-1} = [x^n] g- Since
g_i = f_i + g_{i-1}, we get[x^n] f_i = 0.
- Therefore all but finitely many
khave[x^n] f_k = 0. - This holds for all
n, so(f_n)is summable.
If partial sums converge, the family is summable - detailed proof.
(Theorem thm.fps.lim.sum-lim-conv, label: thm.fps.lim.sum-lim-conv)
The proof follows the tex source structure:
- Let
g = lim_{i→∞} g_iwhereg_i = ∑_{k=0}^{i} f_k. - Fix
n ∈ ℕ. The sequence([x^n] g_i)stabilizes to[x^n] g. - Let
Nbe the stabilization index. SetM = {0, 1, ..., N}. - For
i ∈ ℕ \ M(i.e.,i > N), we have:[x^n] g_i = [x^n] gand[x^n] g_{i-1} = [x^n] g- Since
g_i = f_i + g_{i-1}, we get[x^n] g_i = [x^n] f_i + [x^n] g_{i-1} - Therefore
[x^n] f_i = 0.
- All but finitely many
khave[x^n] f_k = 0. - This holds for all
n, so(f_n)is summable.
If partial sums converge, the limit equals the infinite sum - detailed proof.
(Theorem thm.fps.lim.sum-lim-conv, label: thm.fps.lim.sum-lim-conv)
Once we know the family is summable, we can apply Theorem thm.fps.lim.sum-lim
to conclude that the partial sums converge to the infinite sum.
Since limits are unique, the limit must equal the infinite sum.
Detailed Proof of Theorem thm.fps.lim.prod-lim-conv #
Statement: If the limit lim_{i→∞} ∏_{n=0}^{i} f_n exists and each f_n has
constant term 1, then the family (f_n)_{n ∈ ℕ} is multipliable and the limit
equals ∏_{n ∈ ℕ} f_n.
Proof idea:
- Let
g = lim_{i→∞} g_iwhereg_i = ∏_{k=0}^{i} f_k. - Fix
n ∈ ℕ. By Lemmalem.fps.lim.xn-equiv, there existsNsuch thatg_i ≡[x^n] gfor alli ≥ N. - Set
M = {0, 1, ..., N}. - Claim 1: For each integer
j > N, we haveg ≡[x^n] g * f_j.- Since
g_{j-1} ≡[x^n] gandg_j ≡[x^n] gandg_j = g_{j-1} * f_j, we getg ≡[x^n] g * f_j.
- Since
- Claim 2: For any finite
U ⊇ M, we haveg ≡[x^n] ∏_{k ∈ U} f_k.- By induction on
|U \ M|.
- By induction on
- For any finite
J ⊇ M, we have[x^n](∏_{k ∈ J} f_k) = [x^n](∏_{k ∈ M} f_k). - This shows
Mdetermines the x^n-coefficient.
If partial products converge, the family is multipliable - detailed proof.
(Theorem thm.fps.lim.prod-lim-conv, label: thm.fps.lim.prod-lim-conv)
The proof follows the tex source structure:
- Let
g = lim_{i→∞} g_iwhereg_i = ∏_{k=0}^{i} f_k. - Fix
n ∈ ℕ. By Lemmalem.fps.lim.xn-equiv, there existsNsuch thatg_i ≡[x^n] gfor alli ≥ N. - Set
M = {0, 1, ..., N}.
Claim 1: For each integer j > N, we have g ≡[x^n] g * f_j.
- Since
g_{j-1} ≡[x^n] gandg_j ≡[x^n] gandg_j = g_{j-1} * f_j, by multiplicativity of x^n-equivalence:g_{j-1} * f_j ≡[x^n] g * f_j. Thusg_j ≡[x^n] g * f_j, and sinceg ≡[x^n] g_j, we getg ≡[x^n] g * f_j.
Claim 2: For any finite U ⊇ M, we have g ≡[x^n] ∏_{k ∈ U} f_k.
- By induction on
|U \ M|:- Base case:
U = M, so∏_{k ∈ U} f_k = g_N ≡[x^n] g. - Inductive step: If
U ⊃ M, picku ∈ U \ M(sou > N). By IH,g ≡[x^n] ∏_{k ∈ U \ {u}} f_k. By Claim 1,g ≡[x^n] g * f_u. Combining:g * f_u ≡[x^n] (∏_{k ∈ U \ {u}} f_k) * f_u = ∏_{k ∈ U} f_k. By transitivity,g ≡[x^n] ∏_{k ∈ U} f_k.
- Base case:
- For any finite
J ⊇ M, we have[x^n](∏_{k ∈ J} f_k) = [x^n](∏_{k ∈ M} f_k). - This shows
Mdetermines the x^n-coefficient.
If partial products converge, the limit equals the infinite product.
(Theorem thm.fps.lim.prod-lim-conv, label: thm.fps.lim.prod-lim-conv)
Once we know the family is multipliable, we can apply Theorem thm.fps.lim.prod-lim
to conclude that the partial products converge to the infinite product.
Since limits are unique, the limit must equal the infinite product.