Mathlib.Analysis.FinitePolynomialAlternationDuality
Compact-interval approximation theory for real polynomials: affine Markov derivative bounds, Chebyshev interpolation controls, and finite alternating moment-dual certificates for best uniform approximation.
Basic 4 core · 1 supporting 3 to review This module defines the compact-interval supremum norm, the uniform error of a real polynomial against a target, and the best error under a degree bound. ★ intervalSupNorm_le_iff
Uniform polynomial approximation on a compact real interval
This module defines the compact-interval supremum norm, the uniform error of a real polynomial against a target, and the best error under a degree bound. The definitions are shared by the Markov and alternation developments.
The compact-interval supremum norm of a real function is the supremum of its absolute values on the indicated closed interval. the stated inputs establish the defined object.
The uniform error of a polynomial against a real target on a closed interval is the compact-interval supremum norm of their residual. the stated inputs establish the defined object.
Definition (Lean source)
The best degree-L uniform polynomial-approximation error is the infimum of the uniform errors of all real polynomials of degree at most L. the stated inputs establish the defined object.
Definition (Lean source)
For a continuous function on a nonempty closed interval, its interval supremum norm is at most C exactly when every pointwise absolute value is at most C. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
1 supporting declaration (lemmas, instances)
-
uniformApproxError_nonnegtheorem — On a nonempty interval, the uniform approximation error is nonnegative. the stated inputs establish the stated conclusion.Proof (Lean source)
theorem uniformApproxError_nonneg {f : ℝ → ℝ} {r s : ℝ} (hrs : r ≤ s) (Q : Polynomial ℝ) : 0 ≤ uniformApproxError f r s Q := by -- Proof plan: split on boundedness of the residual image. In the bounded -- case compare the supremum with the residual at `r`; in the unbounded case -- use the convention for `sSup` of an unbounded real set. unfold uniformApproxError intervalSupNorm apply Real.sSup_nonneg rintro y ⟨x, hx, rfl⟩ exact abs_nonneg _
ChebyshevChordDefinitions 4 core · 0 supporting 2 to review This module defines the finite chord list used in the trigonometric proof of the Chebyshev vertical-modulus comparison.
Chord data for the Chebyshev root grid
This module defines the finite chord list used in the trigonometric proof of the Chebyshev vertical-modulus comparison. The list records the two circle chords associated with each cosine root.
The angle (2k+1)π/(2L) of the k-th degree-L Chebyshev root. the stated inputs establish the defined object.
Definition (Lean source)
The k-th cosine root used in the degree-L Chebyshev product, indexed by 0 ≤ k < L. the stated inputs establish the defined object.
Definition (Lean source)
The squared chord length from 1 to the point of the unit circle with argument θ. The stated angle determines the defined object.
Definition (Lean source)
The 2L chord squares associated with an abscissa angle θ, listed in the two-element pairs belonging to the L Chebyshev root angles. The degree and angle determine the defined object.
Definition (Lean source)
PairingRearrangement 2 core · 2 supporting 1 to review This module isolates the purely finite inequality used in the Duffin--Schaeffer chord proof. ★ adjacentPairProduct_le_of_perm_sorted
A finite adjacent-pair product rearrangement inequality
This module isolates the purely finite inequality used in the Duffin--Schaeffer chord proof. If a nonnegative list is sorted in decreasing order, pairing adjacent entries maximizes the product of the pairwise products after adding the same nonnegative constant to every pair.
adjacentPairProduct t xs multiplies a * b + t over consecutive pairs a, b of xs. A final unpaired entry contributes no factor. the stated inputs establish the defined object.
Definition (Lean source)
Let xs be a decreasing list of nonnegative real numbers of even length. For every permutation ys of xs, the consecutive-pair product of ys is at most the consecutive-pair product of xs itself. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
2 supporting declarations (lemmas, instances)
-
crossingPairProduct_le_adjacentPairProductlemma — For four decreasing real numbers, replacing the crossing pairs (a,c) and (b,d) by the adjacent pairs (a,b) and (c,d) cannot decrease the product after adding the same nonnegative constant to each pair. the stated inputs establish the stated conclusion.hypothesesa b c d t :ℝht :0 ≤ thab :b ≤ ahbc :c ≤ bhcd :d ≤ cconclusion(a * c + t) * (b * d + t) ≤ (a * b + t) * (c * d + t)Proof (Lean source)
lemma crossingPairProduct_le_adjacentPairProduct {a b c d t : ℝ} (ht : 0 ≤ t) (hab : b ≤ a) (hbc : c ≤ b) (hcd : d ≤ c) : (a * c + t) * (b * d + t) ≤ (a * b + t) * (c * d + t) := by have had : d ≤ a := hcd.trans (hbc.trans hab) have hnonneg : 0 ≤ t * (a - d) * (b - c) := mul_nonneg (mul_nonneg ht (sub_nonneg.mpr had)) (sub_nonneg.mpr hbc) calc (a * c + t) * (b * d + t) ≤ (a * c + t) * (b * d + t) + t * (a - d) * (b - c) := le_add_of_nonneg_right hnonneg _ = (a * b + t) * (c * d + t) := by ring -
nestedPairProduct_le_adjacentPairProductlemma — For four decreasing real numbers, replacing the outer/inner pairs (a,d) and (b,c) by the adjacent pairs (a,b) and (c,d) cannot decrease the product after adding the same nonnegative constant to each pair. the stated inputs establish the stated conclusion.hypothesesa b c d t :ℝht :0 ≤ thab :b ≤ ahbc :c ≤ bhcd :d ≤ cconclusion(a * d + t) * (b * c + t) ≤ (a * b + t) * (c * d + t)Proof (Lean source)
lemma nestedPairProduct_le_adjacentPairProduct {a b c d t : ℝ} (ht : 0 ≤ t) (hab : b ≤ a) (hbc : c ≤ b) (hcd : d ≤ c) : (a * d + t) * (b * c + t) ≤ (a * b + t) * (c * d + t) := by have hac : c ≤ a := hbc.trans hab have hbd : d ≤ b := hcd.trans hbc have hnonneg : 0 ≤ t * (a - c) * (b - d) := mul_nonneg (mul_nonneg ht (sub_nonneg.mpr hac)) (sub_nonneg.mpr hbd) calc (a * d + t) * (b * c + t) ≤ (a * d + t) * (b * c + t) + t * (a - c) * (b - d) := le_add_of_nonneg_right hnonneg _ = (a * b + t) * (c * d + t) := by ring
Alternation 4 core · 1 supporting 1 to review This module packages the classical alternation theorem for degree-bounded uniform approximation on a compact real interval. ★ exists_alternationDualCertificate
Finite Chebyshev alternation and moment-dual certificates
This module packages the classical alternation theorem for degree-bounded uniform approximation on a compact real interval. The alternating extrema are combined with normalized signed Lagrange weights to obtain a finite moment functional that attains the best approximation error.
An alternation dual certificate consists of a best degree-L approximant, L+2 ordered extrema of its residual, and the normalized signed Lagrange weights on those nodes, with the exact oriented target evaluation. the stated inputs establish the described certificate.
Definition (Lean source)
Every continuous real target on a nondegenerate compact interval admits a finite Chebyshev alternation dual certificate for degree-L approximation. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
A finite moment dual packages L+2 ordered interval nodes and normalized signed weights that annihilate moments through degree L and separate the target by exactly its best uniform approximation error. the stated inputs establish the described certificate.
Definition (Lean source)
Forgetting the best approximant and orientation from an alternation certificate yields the paper-independent finite moment-dual package. the stated inputs establish the defined object.
Definition (Lean source)
1 supporting declaration (lemmas, instances)
-
exists_finiteMomentDualtheorem — Every continuous real target on a nondegenerate compact interval admits L+2 ordered, normalized finite weights annihilating moments through degree L and attaining the best approximation error in absolute value. the stated inputs establish the stated conclusion.hypothesesconclusionNonempty (FiniteMomentDual f r s L)Proof (Lean source)
theorem exists_finiteMomentDual {f : ℝ → ℝ} {r s : ℝ} (hrs : r < s) (hf : ContinuousOn f (Icc r s)) (L : ℕ) : Nonempty (FiniteMomentDual f r s L) := by exact Nonempty.map AlternationDualCertificate.toFiniteMomentDual (exists_alternationDualCertificate hrs hf L)
Affine 2 core · 3 supporting 1 to review This module defines the pullback of a polynomial from [r,s] to [-1,1] and records its evaluation, degree, derivative, and supremum-norm behavior. ★ intervalSupNorm_pullbackToUnitInterval
Affine transport of real polynomials between compact intervals
This module defines the pullback of a polynomial from [r,s] to [-1,1]
and records its evaluation, degree, derivative, and supremum-norm behavior.
Pull a polynomial on [r,s] back along the affine map sending [-1,1] onto [r,s]. the stated inputs establish the defined object.
Definition (Lean source)
On a nondegenerate interval, affine pullback preserves the compact supremum norm exactly. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
3 supporting declarations (lemmas, instances)
-
eval_pullbackToUnitIntervaltheorem — Evaluating the affine pullback at t equals evaluating the original polynomial at the corresponding point of [r,s]. the stated inputs establish the stated conclusion.hypothesesQ :r s t :ℝconclusion(pullbackToUnitInterval Q r s).eval t = Q.eval (((s - r) / 2) * t + (r + s) / 2)Proof (Lean source)
theorem eval_pullbackToUnitInterval (Q : Polynomial ℝ) (r s t : ℝ) : (pullbackToUnitInterval Q r s).eval t = Q.eval (((s - r) / 2) * t + (r + s) / 2) := by simp [pullbackToUnitInterval] -
natDegree_pullbackToUnitInterval_letheorem — Affine pullback does not increase the natural degree of a real polynomial. the stated inputs establish the stated conclusion.Proof (Lean source)
theorem natDegree_pullbackToUnitInterval_le (Q : Polynomial ℝ) (r s : ℝ) : (pullbackToUnitInterval Q r s).natDegree ≤ Q.natDegree := by unfold pullbackToUnitInterval calc (Q.comp (C ((s - r) / 2) * X + C ((r + s) / 2))).natDegree ≤ Q.natDegree * (C ((s - r) / 2) * X + C ((r + s) / 2)).natDegree := Polynomial.natDegree_comp_le _ ≤ Q.natDegree * 1 := Nat.mul_le_mul_left _ Polynomial.natDegree_linear_le _ = Q.natDegree := by simp -
derivative_eval_pullbackToUnitIntervaltheorem — The derivative of the affine pullback is the original derivative evaluated at the corresponding point, multiplied by the interval half-length. the stated inputs establish the stated conclusion.hypothesesQ :r s t :ℝconclusion(pullbackToUnitInterval Q r s).derivative.eval t= ((s - r) / 2) * Q.derivative.eval (((s - r) / 2) * t + (r + s) / 2)Proof (Lean source)
theorem derivative_eval_pullbackToUnitInterval (Q : Polynomial ℝ) (r s t : ℝ) : (pullbackToUnitInterval Q r s).derivative.eval t = ((s - r) / 2) * Q.derivative.eval (((s - r) / 2) * t + (r + s) / 2) := by simp [pullbackToUnitInterval, Polynomial.derivative_comp]
BestApproximation 1 core · 2 supporting This module realizes bounded-degree real polynomials as a finite-dimensional subspace of continuous functions on a compact interval and records attainment of the best uniform approximation error. ★ exists_bestPolynomial
Existence of best bounded-degree uniform approximants
This module realizes bounded-degree real polynomials as a finite-dimensional subspace of continuous functions on a compact interval and records attainment of the best uniform approximation error.
A continuous real target on a nondegenerate compact interval has a real polynomial of degree at most L attaining the best uniform error. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
2 supporting declarations (lemmas, instances)
-
bestUniformApproxError_letheorem — Every degree-at-most-L polynomial has uniform error at least the best degree-L error. the stated inputs establish the stated conclusion.hypothesesconclusionbestUniformApproxError f r s L ≤ uniformApproxError f r s QProof (Lean source)
theorem bestUniformApproxError_le {f : ℝ → ℝ} {r s : ℝ} (hrs : r < s) (hf : ContinuousOn f (Icc r s)) {L : ℕ} {Q : Polynomial ℝ} (hQ : Q.natDegree ≤ L) : bestUniformApproxError f r s L ≤ uniformApproxError f r s Q := by unfold bestUniformApproxError apply csInf_le · refine ⟨0, ?_⟩ rintro e ⟨P, -, rfl⟩ exact uniformApproxError_nonneg hrs.le P · exact ⟨Q, hQ, rfl⟩ -
bestUniformApproxError_nonnegtheorem — For a continuous target on a nondegenerate interval, the best bounded-degree uniform approximation error is nonnegative. the stated inputs establish the stated conclusion.hypothesesconclusion0 ≤ bestUniformApproxError f r s LProof (Lean source)
theorem bestUniformApproxError_nonneg {f : ℝ → ℝ} {r s : ℝ} (hrs : r < s) (hf : ContinuousOn f (Icc r s)) (L : ℕ) : 0 ≤ bestUniformApproxError f r s L := by obtain ⟨Q, -, hQ⟩ := exists_bestPolynomial hrs hf L rw [← hQ] exact uniformApproxError_nonneg hrs.le Q
CenteredRemainder 1 core · 0 supporting This module isolates the Archimedean reduction of a real angle modulo a positive step to a centered fundamental interval. ★ exists_int_abs_sub_mul_pi_div_le
Centered real remainders
This module isolates the Archimedean reduction of a real angle modulo a positive step to a centered fundamental interval.
Every real angle differs from an integer multiple of π/L by at most half of that positive step. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
ChebyshevChordFactorization 1 core · 0 supporting This module converts the adjacent-pair product of the trigonometric chord list into the squared complex root-distance product. ★ adjacentPairProduct_chebyshevPairedChordList
Factorization of paired Chebyshev chords
This module converts the adjacent-pair product of the trigonometric chord list into the squared complex root-distance product.
Pairing the two chord squares belonging to each Chebyshev root converts a*b + 4y² into four times the squared distance from cos θ + iy to that root. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
ChebyshevChordGeometry 1 core · 0 supporting This module isolates the trigonometric geometry in the Duffin--Schaeffer vertical-modulus argument. ★ exists_rootProduct_dominating_abscissa_past_chebyshevZeros
Finite chord geometry for Chebyshev roots
This module isolates the trigonometric geometry in the Duffin--Schaeffer
vertical-modulus argument. The purely finite rearrangement inequality lives
in PairingRearrangement; here it is applied to chord squares between roots
of unity.
Given a positive degree, a point of the unit interval, and a real height, some abscissa in that interval, weakly to the right of all degree-L Chebyshev roots, has at least as large a vertical root-distance product.
Formal statement
Proof (Lean source)
ChebyshevChordOrdering 1 core · 0 supporting For an angle in the centered cell of the odd Chebyshev grid, the two chord squares belonging to each root become an adjacent pair after decreasing sorting. ★ exists_sorted_chebyshevChordList_with_adjacentPairProduct_eq_of_centered
Adjacent ordering of centered Chebyshev chords
For an angle in the centered cell of the odd Chebyshev grid, the two chord squares belonging to each root become an adjacent pair after decreasing sorting. This is the order-theoretic core of the chord rearrangement proof.
At a centered angle |φ| ≤ π/(2L), decreasingly sorting all 2L chord squares can be done without changing the product obtained from the root-angle pairing, for any common additive term. The degree, its positivity, the angle, and the additive term establish the stated conclusion.
Formal statement
Proof (Lean source)
ChebyshevChordPermutation 1 core · 0 supporting The union of the positive and negative degree-L Chebyshev root angles is the odd 2L-point grid on the circle. ★ chebyshevPairedChordList_add_int_mul_pi_div_perm
Cyclic permutation of the Chebyshev chord grid
The union of the positive and negative degree-L Chebyshev root angles is
the odd 2L-point grid on the circle. Translating the base angle by an
integer multiple of π/L therefore only permutes its chord squares.
Shifting an angle by any integer multiple of π/L permutes the paired list of the 2L Chebyshev chord squares. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
ChebyshevDerivativeWeights 2 core · 1 supporting 1 to review This module isolates the analytic core of the Duffin--Schaeffer refinement. ★ sum_abs_chebyshevDerivativeWeight_le_sq
Derivative weights at Chebyshev extrema
This module isolates the analytic core of the Duffin--Schaeffer refinement.
It expresses differentiation through the Lagrange basis at the Chebyshev
extrema and states the sharp L² bound for the resulting differentiation
weights.
The Chebyshev differentiation weight at x and node index i is the derivative at x of the corresponding Lagrange cardinal polynomial. the stated inputs establish the defined object.
On [-1,1], the total absolute mass of the degree-L Chebyshev differentiation weights is at most L² when L is positive. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
1 supporting declaration (lemmas, instances)
-
eval_derivative_eq_sum_chebyshevDerivativeWeighttheorem — The derivative of every degree-at-most-L polynomial is the weighted sum of its values at the L+1 Chebyshev extrema, with the Chebyshev differentiation weights. the stated inputs establish the stated conclusion.hypothesesconclusionQ.derivative.eval xProof (Lean source)
theorem eval_derivative_eq_sum_chebyshevDerivativeWeight (Q : Polynomial ℝ) {L : ℕ} (hQ : Q.natDegree ≤ L) (x : ℝ) : Q.derivative.eval x = ∑ i ∈ range (L + 1), Q.eval (node L i) * chebyshevDerivativeWeight L x i := by classical have hdegree : Q.degree < (range (L + 1)).card := by rw [Finset.card_range] exact lt_of_le_of_lt Q.degree_le_natDegree (by exact_mod_cast (Nat.lt_succ_of_le hQ)) have hinterp := Lagrange.eq_interpolate (Polynomial.Chebyshev.strictAntiOn_node L).injOn hdegree calc Q.derivative.eval x = (Lagrange.interpolate (range (L + 1)) (node L) (fun i ↦ Q.eval (node L i))).derivative.eval x := by rw [← hinterp] _ = ∑ i ∈ range (L + 1), Q.eval (node L i) * chebyshevDerivativeWeight L x i := by simp [Lagrange.interpolate_apply, eval_finsetSum, chebyshevDerivativeWeight]
ChebyshevRootDerivativePropagation 1 core · 0 supporting This module isolates the real first-derivative specialization of the Duffin--Schaeffer comparison theorem. ★ abs_eval_derivative_le_sq_of_chebyshev_root_control
Propagating derivative control from Chebyshev roots
This module isolates the real first-derivative specialization of the
Duffin--Schaeffer comparison theorem. Control of a degree-L polynomial's
derivative at every zero of T_L propagates to the sharp global L² bound
on [-1,1].
If a degree-at-most-L real polynomial has derivative no larger than T_L' at every zero of T_L, then its derivative is bounded by L² throughout [-1,1]. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
ChebyshevRootProduct 1 core · 1 supporting This module isolates the two finite-product facts behind the complex vertical-line modulus bound for Chebyshev polynomials: the explicit product factorization over the cosine roots, and the Duffin--Schaeffer rearrangemen ★ norm_eval_chebyshev_eq_leadingCoeff_mul_rootProduct
Root-product form of the Chebyshev vertical comparison
This module isolates the two finite-product facts behind the complex vertical-line modulus bound for Chebyshev polynomials: the explicit product factorization over the cosine roots, and the Duffin--Schaeffer rearrangement inequality for that product.
For positive degree, the complex norm of a Chebyshev evaluation is its leading-coefficient norm times the product of the distances to the explicit cosine roots. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
1 supporting declaration (lemmas, instances)
-
prod_norm_sub_chebyshevZero_le_endpointtheorem — The product of distances from a point above [-1,1] to the degree-L Chebyshev roots is no larger than the corresponding product above the endpoint 1 at the same height. the stated inputs establish the stated conclusion.hypothesesProof (Lean source)
theorem prod_norm_sub_chebyshevZero_le_endpoint {L : ℕ} (hL : 0 < L) {x : ℝ} (hx : x ∈ Icc (-1) 1) (y : ℝ) : (∏ k ∈ range L, ‖((x - chebyshevZero L k : ℝ) : ℂ) + (y : ℂ) * Complex.I‖) ≤ ∏ k ∈ range L, ‖((1 - chebyshevZero L k : ℝ) : ℂ) + (y : ℂ) * Complex.I‖ := by rcases exists_rootProduct_dominating_abscissa_past_chebyshevZeros hL hx y with ⟨x₀, hx₀, hzeros, hdom⟩ refine hdom.trans ?_ apply Finset.prod_le_prod · intro k hk positivity intro k hk exact vertical_rootDistance_le_endpoint (hzeros k hk) hx₀.2
ChebyshevRootReflection 1 core · 0 supporting This module isolates the algebraic half of the Duffin--Schaeffer comparison. ★ exists_chebyshevRootReflection
Reflection across a vertical line at Chebyshev roots
This module isolates the algebraic half of the Duffin--Schaeffer comparison. Rootwise derivative control yields a reflected complex polynomial whose boundary modulus is the Chebyshev modulus and whose derivative dominates the original derivative at the reflection line.
If a degree-at-most-L real polynomial has derivative bounded by T_L' at every real zero of T_L, then at any real base point there is a reflected degree-at-most-L complex polynomial with the same vertical boundary modulus as the translated T_L and with derivative at zero dominating the original derivative at the base point. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
ChebyshevVerticalModulus 1 core · 0 supporting This module isolates the complex-modulus input in the Duffin--Schaeffer proof of Markov's inequality. ★ norm_eval_chebyshev_le_endpoint_vertical
Complex vertical-line domination for Chebyshev polynomials
This module isolates the complex-modulus input in the Duffin--Schaeffer proof
of Markov's inequality. On every horizontal slice, the modulus of T_L above
[-1,1] is dominated by its modulus above the endpoint 1.
Above any point x of [-1,1], the complex modulus of the degree-L Chebyshev polynomial is no larger than its modulus at the point with the same imaginary part above the endpoint 1. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
ChebyshevZeroDerivativeComparison 1 core · 0 supporting This module isolates the first classical comparison lemma in the Duffin--Schaeffer proof. ★ abs_eval_derivative_le_chebyshev_at_root
Derivative comparison at Chebyshev zeros
This module isolates the first classical comparison lemma in the Duffin--Schaeffer proof. Nodal control at the extrema of a Chebyshev polynomial bounds the derivative at each zero of that Chebyshev polynomial.
If a degree-at-most-L real polynomial has absolute value at most one at all L+1 extrema of T_L, then at every real zero of T_L its derivative is no larger in absolute value than the derivative of T_L. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
DuffinSchaeffer 1 core · 0 supporting This module isolates the sharp discrete interpolation step behind Markov's derivative inequality. ★ duffinSchaeffer_derivative_le
The Duffin--Schaeffer refinement of Markov's inequality
This module isolates the sharp discrete interpolation step behind Markov's
derivative inequality. Control at the L+1 extrema of the degree-L
Chebyshev polynomial already controls the derivative everywhere on [-1,1].
If a real polynomial of degree at most L, with L > 0, is bounded by C at every degree-L Chebyshev extremum, then its derivative is bounded by L² C throughout [-1,1]. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
Equioscillation 2 core · 0 supporting This module isolates the necessity direction of the classical Chebyshev alternation theorem. ★ exists_equioscillationWitness
Equioscillation of a best bounded-degree approximant
This module isolates the necessity direction of the classical Chebyshev alternation theorem. The downstream certificate module adds the canonical normalized Lagrange weights to these extrema.
An equioscillation witness records a best degree-L polynomial and L+2 ordered interval points where its residual has the common optimal magnitude with alternating signs. the stated inputs establish the described certificate.
Definition (Lean source)
Every continuous real target on a nondegenerate compact interval has a best degree-L polynomial whose residual equioscillates at L+2 strictly ordered interval points. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
ExtremalPerturbation 1 core · 0 supporting This module isolates the compactness argument used in alternation proofs. ★ exists_strict_uniformImprovement
Uniform improvement from a sign-matching perturbation
This module isolates the compactness argument used in alternation proofs. A continuous perturbation that points strictly inward at every point of maximum absolute residual decreases the uniform norm after sufficiently small positive scaling.
If a polynomial has the strict sign of a positive-norm continuous residual at every norm-attaining point of a compact interval, then subtracting a sufficiently small positive multiple of that polynomial strictly decreases the residual's uniform norm. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
ExtremalSignPolynomial 2 core · 0 supporting 1 to review This module isolates the ordered sign-block argument in the necessity proof of Chebyshev's alternation theorem. ★ exists_signPolynomial_of_no_alternatingExtrema
Sign polynomials for extremal residual sets
This module isolates the ordered sign-block argument in the necessity proof of Chebyshev's alternation theorem. If a continuous residual has too few alternating extrema, a low-degree polynomial can match its sign at every point where the residual has maximum absolute value.
A residual has L+2 alternating uniform extrema when it attains its supremum magnitude with alternating signs at that many strictly ordered points of the interval. the stated inputs establish the defined object.
Definition (Lean source)
If a continuous residual on a nondegenerate interval has positive supremum norm but no L+2 alternating extrema, some polynomial of degree at most L has the residual's strict sign at every norm-attaining point. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
HalfPlaneBoundaryDerivative 1 core · 0 supporting This module isolates the analytic half-plane input in the first-derivative Duffin--Schaeffer argument. ★ norm_eval_derivative_zero_le_chebyshev_endpoint_of_vertical
Half-plane derivative comparison against a shifted Chebyshev polynomial
This module isolates the analytic half-plane input in the first-derivative Duffin--Schaeffer argument. Boundary modulus domination on the imaginary axis propagates to derivative domination at the origin because the shifted Chebyshev denominator has all roots in the opposite half-plane.
A degree-at-most-L complex polynomial dominated on the imaginary axis by z ↦ T_L(1+z) has derivative at zero no larger than |T_L'(1)|. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
HalfPlaneDerivativeComparison 1 core · 0 supporting This module isolates the half-plane comparison input in the Duffin--Schaeffer proof. ★ abs_eval_derivative_le_chebyshev_endpoint_of_root_control
Half-plane derivative comparison at Chebyshev roots
This module isolates the half-plane comparison input in the Duffin--Schaeffer proof. It is the first-derivative, Chebyshev-denominator specialization of the classical comparison theorem: derivative control at the real roots propagates from a vertical modulus comparison to the endpoint.
Suppose a degree-at-most-L real polynomial has derivative bounded by T_L' at every real zero of T_L. At a point x ∈ [-1,1], if the complex modulus of T_L on the vertical line through x is dominated by the vertical line through 1, then the polynomial's derivative at x is bounded by |T_L'(1)|. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
LagrangeWeights 2 core · 3 supporting 1 to review This module defines normalized barycentric Lagrange weights for L+2 real nodes. ★ sum_normalizedLagrangeWeight_mul_eval_eq_zero
Normalized signed Lagrange weights on ordered nodes
This module defines normalized barycentric Lagrange weights for L+2 real
nodes. For strictly ordered nodes it records normalization, alternating signs,
and annihilation of every monomial through degree L.
The normalized signed Lagrange weight at a node is its barycentric nodal weight divided by the sum of the absolute barycentric weights. the stated inputs establish the defined object.
For L+2 distinct real nodes, the normalized signed Lagrange weights annihilate the values of every real polynomial of degree at most L. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
3 supporting declarations (lemmas, instances)
-
sum_abs_normalizedLagrangeWeight_eq_onetheorem — For L+2 distinct real nodes, the normalized signed Lagrange weights have total absolute mass one. the stated inputs establish the stated conclusion.hypothesesconclusion∑ i, |normalizedLagrangeWeight nodes i| = 1Proof (Lean source)
theorem sum_abs_normalizedLagrangeWeight_eq_one {L : ℕ} {nodes : Fin (L + 2) → ℝ} (hnodes : Injective nodes) : ∑ i, |normalizedLagrangeWeight nodes i| = 1 := by classical let Z := ∑ k : Fin (L + 2), |Lagrange.nodalWeight univ nodes k| have hweight : Lagrange.nodalWeight univ nodes (0 : Fin (L + 2)) ≠ 0 := Lagrange.nodalWeight_ne_zero hnodes.injOn (Finset.mem_univ _) have hZ : 0 < Z := by apply Finset.sum_pos' · exact fun k _ ↦ abs_nonneg _ · exact ⟨0, Finset.mem_univ _, abs_pos.mpr hweight⟩ change ∑ i, |Lagrange.nodalWeight univ nodes i / Z| = 1 simp_rw [abs_div, abs_of_pos hZ] simp_rw [div_eq_mul_inv] rw [← Finset.sum_mul] exact mul_inv_cancel₀ (ne_of_gt hZ) -
normalizedLagrangeWeight_alternatestheorem — For L+2 strictly increasing real nodes, the normalized Lagrange weight at index i has sign (-1)^(L+1-i). the stated inputs establish the stated conclusion.hypothesesconclusionnormalizedLagrangeWeight nodes i= (-1 : ℝ) ^ (L + 1 - (i : ℕ)) * |normalizedLagrangeWeight nodes i|Proof (Lean source)
theorem normalizedLagrangeWeight_alternates {L : ℕ} {nodes : Fin (L + 2) → ℝ} (hnodes : StrictMono nodes) (i : Fin (L + 2)) : normalizedLagrangeWeight nodes i = (-1 : ℝ) ^ (L + 1 - (i : ℕ)) * |normalizedLagrangeWeight nodes i| := by classical have hfactor (k : Fin (L + 2)) (hk : k ∈ (Finset.univ : Finset (Fin (L + 2))).erase i) : (nodes i - nodes k)⁻¹ = (if i < k then (-1 : ℝ) else 1) * |(nodes i - nodes k)⁻¹| := by by_cases hik : i < k · rw [if_pos hik, abs_of_neg] · ring · exact inv_neg''.mpr (sub_neg.mpr (hnodes hik)) · rw [if_neg hik, one_mul, abs_of_pos] have hki : k < i := lt_of_le_of_ne (le_of_not_gt hik) (Finset.ne_of_mem_erase hk) exact inv_pos.mpr (sub_pos.mpr (hnodes hki)) have hsign : (∏ k ∈ (Finset.univ : Finset (Fin (L + 2))).erase i, if i < k then (-1 : ℝ) else 1) = (-1 : ℝ) ^ (L + 1 - (i : ℕ)) := by rw [Finset.prod_ite] simp only [Finset.prod_const, one_pow, mul_one] have hfilter : ((Finset.univ : Finset (Fin (L + 2))).erase i).filter (fun k ↦ i < k) = Finset.Ioi i := by ext k simp only [mem_filter, Finset.mem_erase, Finset.mem_univ, Finset.mem_Ioi] constructor · exact fun h ↦ h.2 · exact fun h ↦ ⟨⟨ne_of_gt h, trivial⟩, h⟩ rw [hfilter, Fin.card_Ioi] rw [show L + 2 - 1 - (i : ℕ) = L + 1 - (i : ℕ) by omega] have hweight : Lagrange.nodalWeight Finset.univ nodes i = (-1 : ℝ) ^ (L + 1 - (i : ℕ)) * |Lagrange.nodalWeight Finset.univ nodes i| := by rw [Lagrange.nodalWeight] calc (∏ k ∈ Finset.univ.erase i, (nodes i - nodes k)⁻¹) = ∏ k ∈ Finset.univ.erase i, ((if i < k then (-1 : ℝ) else 1) * |(nodes i - nodes k)⁻¹|) := by apply Finset.prod_congr rfl intro k hk exact hfactor k hk _ = (∏ k ∈ Finset.univ.erase i, if i < k then (-1 : ℝ) else 1) * (∏ k ∈ Finset.univ.erase i, |(nodes i - nodes k)⁻¹|) := by rw [Finset.prod_mul_distrib] _ = (-1 : ℝ) ^ (L + 1 - (i : ℕ)) * |∏ k ∈ Finset.univ.erase i, (nodes i - nodes k)⁻¹| := by rw [hsign, Finset.abs_prod] let Z := ∑ k : Fin (L + 2), |Lagrange.nodalWeight Finset.univ nodes k| have hnodeInjective : Injective nodes := hnodes.injective have hweight_ne : Lagrange.nodalWeight Finset.univ nodes i ≠ 0 := Lagrange.nodalWeight_ne_zero hnodeInjective.injOn (Finset.mem_univ _) have hZ : 0 < Z := by apply Finset.sum_pos' · exact fun k _ ↦ abs_nonneg _ · exact ⟨i, Finset.mem_univ _, abs_pos.mpr hweight_ne⟩ change Lagrange.nodalWeight Finset.univ nodes i / Z = (-1 : ℝ) ^ (L + 1 - (i : ℕ)) * |Lagrange.nodalWeight Finset.univ nodes i / Z| rw [abs_div, abs_of_pos hZ] nth_rewrite 1 [hweight] ring -
sum_normalizedLagrangeWeight_mul_pow_eq_zerotheorem — For L+2 distinct real nodes, the normalized signed Lagrange weights annihilate the monomial x^j whenever j ≤ L. the stated inputs establish the stated conclusion.hypothesesconclusion∑ i, normalizedLagrangeWeight nodes i * nodes i ^ j = 0Proof (Lean source)
theorem sum_normalizedLagrangeWeight_mul_pow_eq_zero {L j : ℕ} {nodes : Fin (L + 2) → ℝ} (hnodes : Injective nodes) (hj : j ≤ L) : ∑ i, normalizedLagrangeWeight nodes i * nodes i ^ j = 0 := by classical let Z := ∑ k : Fin (L + 2), |Lagrange.nodalWeight Finset.univ nodes k| have hdegree : (X ^ j : Polynomial ℝ).degree < (Finset.univ : Finset (Fin (L + 2))).card := by rw [degree_X_pow] norm_cast simpa using (show j < L + 2 by omega) have hcoeff := Lagrange.coeff_eq_sum (s := (Finset.univ : Finset (Fin (L + 2)))) (v := nodes) hnodes.injOn (P := (X ^ j : Polynomial ℝ)) hdegree have hsum : ∑ i : Fin (L + 2), Lagrange.nodalWeight Finset.univ nodes i * nodes i ^ j = 0 := by simpa [Lagrange.nodalWeight, div_eq_mul_inv, Finset.prod_inv_distrib, mul_comm, ne_of_gt (lt_of_le_of_lt hj (Nat.lt_succ_self L))] using hcoeff.symm change ∑ i : Fin (L + 2), (Lagrange.nodalWeight Finset.univ nodes i / Z) * nodes i ^ j = 0 simp_rw [div_mul_eq_mul_div, div_eq_mul_inv] rw [← Finset.sum_mul, hsum, zero_mul]
Markov 1 core · 0 supporting This module transports the unit-interval Markov inequality through the affine equivalence from [-1,1] to an arbitrary nondegenerate interval [r,s]. ★ markov_derivative_Icc
Markov's derivative inequality on a compact real interval
This module transports the unit-interval Markov inequality through the affine
equivalence from [-1,1] to an arbitrary nondegenerate interval [r,s].
If r < s and a real polynomial has degree at most L, then its derivative supremum norm on [r,s] is at most 2 L²/(s-r) times the polynomial's supremum norm on that interval. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
MarkovUnit 1 core · 0 supporting This module contains the sharp first-derivative Markov inequality for a real polynomial on [-1,1]. ★ markov_derivative_unitInterval
Markov's derivative inequality on the unit interval
This module contains the sharp first-derivative Markov inequality for a real
polynomial on [-1,1]. Affine transport to a general interval is separated
into the downstream Markov module.
A real polynomial of degree at most L has derivative supremum norm on [-1,1] at most L² times its own supremum norm there. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
Rational 2 core · 1 supporting 1 to review This module specializes the generic finite alternation-duality API to the continuous rational function x ↦ x/(x+a) on any interval avoiding its pole. ★ exists_rationalFiniteMomentDual
Finite moment duality for a pole-separated rational target
This module specializes the generic finite alternation-duality API to the
continuous rational function x ↦ x/(x+a) on any interval avoiding its pole.
The rational target with parameter a is the function x ↦ x/(x+a). the stated inputs establish the defined object.
Definition (Lean source)
On a nondegenerate interval avoiding -a, there are L+2 ordered, normalized finite weights that match moments through degree L and whose rational-target separation is the exact best degree-L uniform error. the stated inputs establish the stated conclusion.
Formal statement
Proof (Lean source)
1 supporting declaration (lemmas, instances)
-
continuousOn_rationalTargettheorem — If the pole -a is outside a closed interval, the rational target x ↦ x/(x+a) is continuous on that interval. the stated inputs establish the stated conclusion.Proof (Lean source)
theorem continuousOn_rationalTarget {a r s : ℝ} (hpole : -a ∉ Icc r s) : ContinuousOn (rationalTarget a) (Icc r s) := by unfold rationalTarget apply continuousOn_id.div (continuousOn_id.add continuousOn_const) intro x hx hzero apply hpole change x + a = 0 at hzero have hxa : x = -a := by linarith simpa [hxa] using hx