x^n-Equivalence of Formal Power Series #
This file formalizes the notion of x^n-equivalence of formal power series from
Section sec.gf.xneq of the source text.
Main Definitions #
PowerSeries.XnEquiv n f g: Two FPS are x^n-equivalent if their first n+1 coefficients agree. This is written asf ≡ g [mod X^(n+1)]in the source, and is equivalent toX^(n+1) ∣ (f - g).
Main Results #
PowerSeries.XnEquiv.equivalence: x^n-equivalence is an equivalence relation.PowerSeries.XnEquiv.add: x^n-equivalence is preserved by addition.PowerSeries.XnEquiv.sub: x^n-equivalence is preserved by subtraction.PowerSeries.XnEquiv.mul: x^n-equivalence is preserved by multiplication.PowerSeries.XnEquiv.smul: x^n-equivalence is preserved by scalar multiplication.PowerSeries.XnEquiv.invOfUnit: x^n-equivalence is preserved by inversion (for invertible FPS).PowerSeries.XnEquiv.sum: x^n-equivalence is preserved by finite sums.PowerSeries.XnEquiv.prod: x^n-equivalence is preserved by finite products.PowerSeries.xnEquiv_iff_dvd: f ≡ g [mod X^(n+1)] iff X^(n+1) ∣ (f - g).PowerSeries.XnEquiv.comp: x^n-equivalence is preserved by composition (with constant term 0).
Implementation Notes #
We define x^n-equivalence in terms of coefficient equality rather than divisibility,
as this is more directly usable in proofs. The equivalence to divisibility is
established in xnEquiv_iff_dvd.
The definition uses n for the degree, so XnEquiv n f g means the first n+1
coefficients agree (i.e., coefficients 0, 1, ..., n).
References #
- Section
sec.gf.xneq(x^n-equivalence) of the source text.
Tags #
power series, equivalence, truncation, congruence
Definition of x^n-equivalence #
Two formal power series are x^n-equivalent if their first n+1 coefficients agree.
This corresponds to Definition def.fps.xneq in the source text.
We say XnEquiv n f g to mean that for all m ∈ {0, 1, ..., n},
we have [x^m] f = [x^m] g.
Equations
- (f ≡[x^n] g) = ∀ m ≤ n, (PowerSeries.coeff m) f = (PowerSeries.coeff m) g
Instances For
Notation for x^n-equivalence: f ≡[x^n] g means XnEquiv n f g.
This notation is used throughout the limits and infinite products theory.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Basic properties: Equivalence relation (Theorem thm.fps.xneq.props (a)) #
x^n-equivalence is reflexive.
x^n-equivalence is symmetric.
x^n-equivalence is transitive.
x^n-equivalence is an equivalence relation (Theorem thm.fps.xneq.props (a)).
x^n-equivalence implies x^m-equivalence for m ≤ n.
Simp lemmas for basic cases #
x^0-equivalence is equivalent to having equal constant coefficients. This is a useful simplification lemma for the base case of x^n-equivalence.
Any FPS is x^n-equivalent to itself (reflexivity as a simp lemma).
Algebraic properties (Theorem thm.fps.xneq.props (b), (c)) #
x^n-equivalence is preserved by addition (Theorem thm.fps.xneq.props (b), eq.thm.fps.xneq.props.b.+).
x^n-equivalence is preserved by scalar multiplication (Theorem thm.fps.xneq.props (c)).
x^n-equivalence is preserved by multiplication (Theorem thm.fps.xneq.props (b), eq.thm.fps.xneq.props.b.*).
Inversion (Theorem thm.fps.xneq.props (d)) #
x^n-equivalence is preserved by inversion via invOfUnit for FPS with invertible constant term
(Theorem thm.fps.xneq.props (d)).
The proof proceeds by strong induction on the coefficient index, using the formula for coefficients of the inverse.
x^n-equivalence is preserved by inversion for FPS over a field
(Theorem thm.fps.xneq.props (d)).
Variant of XnEquiv.invOfUnit where the units may be different but their values agree.
This is useful when working with limits where we have different units for each term.
x^n-equivalence is preserved by division (Theorem thm.fps.xneq.props (e)).
Finite sums and products (Theorem thm.fps.xneq.props (f)) #
x^n-equivalence is preserved by finite sums (Theorem thm.fps.xneq.props (f), eq.thm.fps.xneq.props.e.+).
x^n-equivalence is preserved by finite products (Theorem thm.fps.xneq.props (f), eq.thm.fps.xneq.props.e.*).
Characterization via divisibility (Proposition prop.fps.xneq-multiple) #
This section proves prop.fps.xneq-multiple: Two FPS f and g satisfy
f ≡ g [mod X^(n+1)] if and only if the FPS f - g is a multiple of X^(n+1).
x^n-equivalence is equivalent to divisibility by X^(n+1)
(Proposition prop.fps.xneq-multiple).
Two FPS f and g satisfy f ≡ g [mod X^(n+1)] if and only if X^(n+1) divides f - g.
This is the main characterization theorem that connects the coefficient-wise definition of x^n-equivalence to the divisibility formulation.
Alternative statement of prop.fps.xneq-multiple:
f ≡ g [mod X^(n+1)] iff f - g is a multiple of X^(n+1).
This is definitionally equal to xnEquiv_iff_dvd since divisibility is defined
as the existence of such a quotient. The explicit existential form is sometimes
more convenient to work with.
Truncation characterization #
x^n-equivalence is equivalent to having equal truncations.
Every FPS is x^n-equivalent to some polynomial (Example (d) in the source).
Powers #
x^n-equivalence is preserved by powers.
Composition (Proposition prop.fps.xneq.comp) #
Coefficients of f^k are zero for indices < k when constantCoeff f = 0. This is a key lemma for proving that composition preserves x^n-equivalence.
x^n-equivalence is preserved by composition when the inner series have constant term 0
(Proposition prop.fps.xneq.comp).
If a ≡ b [mod X^(n+1)] and c ≡ d [mod X^(n+1)] with [x^0]c = 0 and [x^0]d = 0, then a ∘ c ≡ b ∘ d [mod X^(n+1)].
The proof follows the sketch in the source text:
Connection to equality #
Two FPS are equal iff they are x^n-equivalent for all n.