Diophantine approximation and transcendence
The declarations the status of Tau Ceti's roadmap names, and the other results named in the modules where only this status names declarations, or in folders below the areas where only it names 2 or more, as Tau Ceti has them at commit ace60277.
TheoremRoth's theorem (Roth, 1955)#
If α is a real algebraic number and κ > 2, then only
finitely many rational numbers ξ satisfy |ξ - α| ≤ H(ξ) ^ (-κ), where H is the
multiplicative height on ℚ.
IsAlgebraic.finite_setOfPred_abs_sub_le_mulHeight₁_rpow_neg {α : ℝ} (hα : IsAlgebraic ℚ α) {κ : ℝ}
(hκ : 2 < κ) : {ξ | |↑ξ - α| ≤ Height.mulHeight₁ ξ ^ (-κ)}.Finite
Lean
Formalized in Tau Ceti as IsAlgebraic.finite_setOfPred_abs_sub_le_mulHeight₁_rpow_neg.
Other forms
Roth's theorem as a lower bound (Evertse, Theorem 6.2). Formalized in Tau Ceti as IsAlgebraic.exists_pos_mul_mulHeight₁_rpow_neg_le_abs_sub.
IsAlgebraic.exists_pos_mul_mulHeight₁_rpow_neg_le_abs_sub {α : ℝ} (hα : IsAlgebraic ℚ α) {κ : ℝ}
(hκ : 2 < κ) : ∃ c, 0 < c ∧ ∀ (ξ : ℚ), ↑ξ ≠ α → c * Height.mulHeight₁ ξ ^ (-κ) ≤ |↑ξ - α|
Roth's theorem. Formalized in Tau Ceti as IsAlgebraic.exists_pos_mul_mulHeight₁_rpow_neg_le_norm_sub.
IsAlgebraic.exists_pos_mul_mulHeight₁_rpow_neg_le_norm_sub {α : ℂ} (hα : IsAlgebraic ℚ α) {κ : ℝ}
(hκ : 2 < κ) : ∃ c, 0 < c ∧ ∀ (ξ : ℚ), ↑ξ ≠ α → c * Height.mulHeight₁ ξ ^ (-κ) ≤ ‖↑ξ - α‖
Roth's theorem in terms of Liouville exponents. Formalized in Tau Ceti as IsAlgebraic.not_liouvilleWith.
IsAlgebraic.not_liouvilleWith {α : ℝ} (hα : IsAlgebraic ℚ α) {p : ℝ} (hp : 2 < p) :
¬LiouvilleWith p α
Roth's theorem for a linear form. Formalized in Tau Ceti as IsAlgebraic.exists_pos_mul_max_abs_rpow_le_norm_sub_mul.
IsAlgebraic.exists_pos_mul_max_abs_rpow_le_norm_sub_mul {α : ℂ} (hα : IsAlgebraic ℚ α) {κ : ℝ}
(hκ : 2 < κ) :
∃ c, 0 < c ∧ ∀ (x y : ℤ), ↑x - α * ↑y ≠ 0 → c * max |↑x| |↑y| ^ (1 - κ) ≤ ‖↑x - α * ↑y‖
Sources
TheoremIsAlgebraic.irrationalityExponent_eq_two#
The irrationality exponent of a real algebraic irrational number is two.
IsAlgebraic.irrationalityExponent_eq_two {α : ℝ} (hα : IsAlgebraic ℚ α) (hirr : Irrational α) :
TauCeti.irrationalityExponent α = 2
Uses 1
TheoremThe Lindemann–Weierstrass theorem, in Baker's form#
The exponentials of pairwise distinct
algebraic numbers are linearly independent over the field integralClosure ℚ ℂ of algebraic
numbers.
TauCeti.linearIndependent_exp.{u_1} {ι : Type u_1} (u : ι → ↥(integralClosure ℚ ℂ))
(u_inj : Function.Injective u) :
LinearIndependent ↥(integralClosure ℚ ℂ) fun i => Complex.exp ↑(u i)
Informally uses
Lean
Formalized in Tau Ceti as TauCeti.linearIndependent_exp.
Sources
Used by 1
TheoremThe Lindemann–Weierstrass theorem, algebraic independence form#
If the algebraic numbers
u i are linearly independent over ℕ (equivalently, over ℚ), then their exponentials are
algebraically independent over the field integralClosure ℚ ℂ of algebraic numbers.
TauCeti.algebraicIndependent_exp.{u_1} {ι : Type u_1} (u : ι → ↥(integralClosure ℚ ℂ))
(hu : LinearIndependent ℕ u) :
AlgebraicIndependent ↥(integralClosure ℚ ℂ) fun i => Complex.exp ↑(u i)
Lean
Formalized in Tau Ceti as TauCeti.algebraicIndependent_exp.
Other forms
The Lindemann–Weierstrass theorem over a Galois number field. Formalized in Tau Ceti as TauCeti.LindemannWeierstrass.expEval_injective.
TauCeti.LindemannWeierstrass.expEval_injective.{u_1} {K : Type u_1} [Field K] [NumberField K]
[IsGalois ℚ K] [Algebra K ℂ] : Function.Injective ⇑(TauCeti.LindemannWeierstrass.expEval K)
The Lindemann–Weierstrass theorem over a Galois number field, linear independence form. Formalized in Tau Ceti as TauCeti.LindemannWeierstrass.linearIndependent_exp_algebraMap.
TauCeti.LindemannWeierstrass.linearIndependent_exp_algebraMap.{u_1} {K : Type u_1} [Field K]
[NumberField K] [IsGalois ℚ K] [Algebra K ℂ] :
LinearIndependent K fun γ => Complex.exp ((algebraMap K ℂ) γ)
Sources
TheoremThe Thue–Roth inequality for binary forms (Evertse, Theorem 6.3)#
Let F ∈ ℤ[X₀, X₁] be
a binary form of degree d with no squared linear factor over ℂ, and let κ > 2. Then there
is c > 0 with |F(x, y)| ≥ c max(|x|, |y|) ^ (d - κ) for all integers x, y with
F(x, y) ≠ 0. The proof is ineffective: it gives no value of c.
MvPolynomial.IsHomogeneous.exists_pos_mul_max_abs_rpow_le_abs_eval {F : MvPolynomial (Fin 2) ℤ}
{d : ℕ} (hF : F.IsHomogeneous d)
(hsq :
∀ (a b : ℂ),
(a, b) ≠ (0, 0) →
¬(MvPolynomial.C a * MvPolynomial.X 0 + MvPolynomial.C b * MvPolynomial.X 1) ^ 2 ∣
(MvPolynomial.map (Int.castRingHom ℂ)) F)
{κ : ℝ} (hκ : 2 < κ) :
∃ c,
0 < c ∧
∀ (x y : ℤ),
(MvPolynomial.eval ![x, y]) F ≠ 0 →
c * max |↑x| |↑y| ^ (↑d - κ) ≤ |↑((MvPolynomial.eval ![x, y]) F)|
Lean
Formalized in Tau Ceti as MvPolynomial.IsHomogeneous.exists_pos_mul_max_abs_rpow_le_abs_eval.
Sources
- Tau Ceti documentation:
MvPolynomial.IsHomogeneous.exists_pos_mul_max_abs_rpow_le_abs_eval - Source of
MvPolynomial.IsHomogeneous.exists_pos_mul_max_abs_rpow_le_abs_evalin TauCeti/NumberTheory/DiophantineApproximation/Roth/BinaryForm.lean - Tau Ceti roadmap status: Diophantine approximation and transcendence
Uses 2 · Used by 1
TheoremKronecker's approximation theorem#
If 1 and the real numbers αᵢ satisfy no
nontrivial integer relation, that is, if they are linearly independent over ℚ, then for every
θ ∈ ℝ^ι and ε > 0 there are infinitely many integer pairs (x, y), x ∈ ℤ^ι, y ∈ ℤ, with
|y αᵢ - xᵢ - θᵢ| ≤ ε for every i.
TauCeti.kronecker_approximation.{u_1} {ι : Type u_1} [Fintype ι] {α : ι → ℝ}
(hα : ∀ (x : ℤ × (ι → ℤ)), ↑x.1 + ∑ i, ↑(x.2 i) * α i = 0 → x = 0) (θ : ι → ℝ) {ε : ℝ}
(hε : 0 < ε) : {p | ∀ (i : ι), |α i * ↑p.2 - ↑(p.1 i) - θ i| ≤ ε}.Infinite
Lean
Formalized in Tau Ceti as TauCeti.kronecker_approximation.
Other forms
Kronecker's approximation theorem with positive multipliers. Formalized in Tau Ceti as TauCeti.kronecker_approximation_nat.
TauCeti.kronecker_approximation_nat.{u_1} {ι : Type u_1} [Fintype ι] {α : ι → ℝ}
(hα : ∀ (x : ℤ × (ι → ℤ)), ↑x.1 + ∑ i, ↑(x.2 i) * α i = 0 → x = 0) (θ : ι → ℝ) {ε : ℝ}
(hε : 0 < ε) : {n | ∃ x, ∀ (i : ι), |α i * ↑n - ↑(x i) - θ i| ≤ ε}.Infinite
Sources
Uses 1
TheoremThe one-factor estimate#
Let K be a nonarchimedean local field of characteristic zero,
that is, a finite extension of ℚ_[p]. For every fixed α ∈ K there is a constant C,
depending on α and K, such that
v_K(α ^ b - 1) ≤ C (1 + log max(1, |b|)) for every integer b with α ^ b ≠ 1.
TauCeti.exists_log_normalizedValuationWithZero_zpow_sub_one_le.{u_1} {K : Type u_1} [Field K]
[ValuativeRel K] [TopologicalSpace K] [IsNonarchimedeanLocalField K] [CharZero K] (α : K) :
∃ C,
∀ (b : ℤ),
α ^ b ≠ 1 →
↑((TauCeti.normalizedValuationWithZero K) (α ^ b - 1)).log ≤ C * (1 + Real.log (max 1 |↑b|))
Lean
Formalized in Tau Ceti as TauCeti.exists_log_normalizedValuationWithZero_zpow_sub_one_le.
Sources
Uses 1
TheoremThe one-factor estimate, explicit form#
Let x ∈ Kˣ have a power x ^ M ≠ 1 in a
positive-depth step U(K,i), and let b be an integer with (|b| : K) ≠ 0 such that
v_K(ℓ) < (ℓ - 1) * i for every prime ℓ ∣ b. Then
v_K(x ^ b - 1) ≤ v_K(x ^ M - 1) + v_K(|b|).
TauCeti.log_normalizedValuationWithZero_zpow_sub_one_le.{u_1} {K : Type u_1} [Field K]
[ValuativeRel K] [TopologicalSpace K] [IsNonarchimedeanLocalField K] {x : Kˣ} {M i : ℕ}
(hi0 : i ≠ 0) (hM : x ^ M ∈ TauCeti.unitFiltration K i) (hM1 : x ^ M ≠ 1) {b : ℤ}
(hb : ↑b.natAbs ≠ 0)
(hi :
∀ (ℓ : ℕ),
Nat.Prime ℓ →
∀ (hℓK : ↑ℓ ≠ 0), ℓ ∣ b.natAbs → TauCeti.natCastValuation K ℓ hℓK < (ℓ - 1) * i) :
((TauCeti.normalizedValuationWithZero K) (↑x ^ b - 1)).log ≤
((TauCeti.normalizedValuationWithZero K) (↑x ^ M - 1)).log +
↑(TauCeti.natCastValuation K b.natAbs hb)
Lean
Formalized in Tau Ceti as TauCeti.log_normalizedValuationWithZero_zpow_sub_one_le.
Sources
Used by 1
DefinitionTauCeti.mahlerMeasure#
The Mahler measure M(x) of x: the Mahler measure of its primitive minimal polynomial
F_x, mapped to ℂ[X]. For algebraic x this is a₀ ∏ max(1, |x⁽ⁱ⁾|) over the complex
conjugates of x (mahlerMeasure_eq_leadingCoeff_mul_prod); for transcendental x it is 1.
TauCeti.mahlerMeasure.{u_1} {F : Type u_1} [Field F] [CharZero F] (x : F) : ℝ
DefinitionMvPolynomial.weightedIndex#
The weighted index is the least reciprocal-weighted order of a nonzero Hasse jet;
the infimum of the empty set is ⊤.
MvPolynomial.weightedIndex.{u_1, u_2} {σ : Type u_1} {R : Type u_2} [CommSemiring R] (r : σ → ℕ)
(a : σ → R) (P : MvPolynomial σ R) : ENNReal
DefinitionThe structure of the rational S-units#
If S consists of primes, the map
x ↦ (sign x, (v_p(x))_{p ∈ S}) is an isomorphism from the rational S-units to
ℤˣ × Multiplicative (S → ℤ); its inverse sends (ε, z) to ε ∏_{p ∈ S} p ^ z_p
(TauCeti.coe_sUnitsRatMulEquiv_symm_apply).
TauCeti.sUnitsRatMulEquiv {S : Finset ℕ} (hS : ∀ p ∈ S, Nat.Prime p) :
↥({v | ↑(Rat.HeightOneSpectrum.primesEquiv v) ∈ S}.unit ℚ) ≃* ℤˣ × Multiplicative (↥S → ℤ)
TheoremHermite's estimate#
if C bounds ‖f‖ on the closed disc of radius ‖z‖, then
‖F_f(z)‖ ≤ ‖z‖ exp ‖z‖ C.
Polynomial.norm_hermiteIntegral_le {f : Polynomial ℂ} {z : ℂ} {C : ℝ}
(hC : ∀ (u : ℂ), ‖u‖ ≤ ‖z‖ → ‖Polynomial.eval u f‖ ≤ C) :
‖f.hermiteIntegral z‖ ≤ ‖z‖ * Real.exp ‖z‖ * C
Used by 1
TheoremHermite's identity#
integration by parts evaluates Hermite's integral as
F_f(z) = exp z * (sumIDeriv f)(0) - (sumIDeriv f)(z).
Polynomial.hermiteIntegral_eq_sumIDeriv (f : Polynomial ℂ) (z : ℂ) :
f.hermiteIntegral z =
Complex.exp z * Polynomial.eval 0 (Polynomial.sumIDeriv f) -
Polynomial.eval z (Polynomial.sumIDeriv f)
Used by 1
TheoremKronecker's theorem, density form#
If 1 and the real numbers αᵢ satisfy no
nontrivial integer relation, that is, if they are linearly independent over ℚ, then the
points (y αᵢ - xᵢ)ᵢ, for y ∈ ℤ and x ∈ ℤ^ι, are dense in ℝ^ι.
TauCeti.denseRange_mul_sub_intCast.{u_1} {ι : Type u_1} [Fintype ι] {α : ι → ℝ}
(hα : ∀ (x : ℤ × (ι → ℤ)), ↑x.1 + ∑ i, ↑(x.2 i) * α i = 0 → x = 0) :
DenseRange fun p i => α i * ↑p.2 - ↑(p.1 i)
Used by 1
TheoremRoth's auxiliary polynomial (Pottmeyer, Theorem 2.6.5)#
Let α be an algebraic number
of degree d in a field of characteristic zero, and let b ≥ 1 be an integer such that b α is
integral over ℤ. Let ε ≥ 0 and let ι be a finite set of n variables with
2 d ≤ exp (ε² n / 2). For all positive integers rᵢ, i ∈ ι, there is a nonzero
P ∈ ℤ[Xᵢ : i ∈ ι] with deg_{Xᵢ} P ≤ rᵢ, whose index at (α, …, α) with weights r is at
least (n / 2) (1 - ε), and whose coefficients have absolute value at most
(12 b max(1, ⌈α⌉)) ^ (∑ᵢ rᵢ), where ⌈α⌉ is the house of α.
TauCeti.exists_roth_auxiliary_polynomial.{u_2, u_3} {ι : Type u_2} [Fintype ι] {F : Type u_3}
[Field F] [CharZero F] {α : F} {b : ℕ} (hb : 0 < b) (hbα : IsIntegral ℤ (↑b * α)) {ε : ℝ}
(hε : 0 ≤ ε) (hn : 2 * ↑(minpoly ℚ α).natDegree ≤ Real.exp (ε ^ 2 * ↑(Fintype.card ι) / 2))
{r : ι → ℕ} (hr : ∀ (i : ι), r i ≠ 0) :
∃ P,
P ≠ 0 ∧
(∀ (i : ι), MvPolynomial.degreeOf i P ≤ r i) ∧
ENNReal.ofReal (↑(Fintype.card ι) / 2 * (1 - ε)) ≤
MvPolynomial.weightedIndex r (fun x => α) ((MvPolynomial.map (Int.castRingHom F)) P) ∧
∀ (m : ι →₀ ℕ), |↑(P.coeff m)| ≤ (12 * ↑b * max 1 (TauCeti.house α)) ^ ∑ i, r i
Uses 3 · Used by 1
TheoremRoth's lemma (Pottmeyer, Theorem 3.4.1)#
Let P ≠ 0 be a polynomial in n ≥ 1
variables over a number field K, with partial degrees deg_{Xᵢ} P ≤ rᵢ for positive weights
rᵢ satisfying rᵢ₊₁ ≤ σ rᵢ, where 0 < σ ≤ 1 / 2. If
σ⁻¹ (h(P) + 4 n r₀ [K : ℚ]) ≤ rᵢ h(βᵢ) for every i, then the index of P at β with
weights r is at most 2 n σ ^ (1 / 2 ^ (n - 1)). Heights are relative logarithmic heights.
TauCeti.weightedIndex_le_of_logHeight_le.{u_1} {K : Type u_1} [Field K] [NumberField K] {n : ℕ}
[NeZero n] {P : MvPolynomial (Fin n) K} (hP : P ≠ 0) {r : Fin n → ℕ} (hr : ∀ (i : Fin n), 0 < r i)
(hdeg : ∀ (i : Fin n), MvPolynomial.degreeOf i P ≤ r i) {σ : ℝ} (hσ₀ : 0 < σ) (hσ : σ ≤ 1 / 2)
(hratio : ∀ (i j : Fin n), ↑j = ↑i + 1 → ↑(r j) ≤ σ * ↑(r i)) (β : Fin n → K)
(hβ :
∀ (i : Fin n),
σ⁻¹ * (P.logHeight + 4 * ↑n * ↑(r 0) * ↑(Module.finrank ℚ K)) ≤
↑(r i) * Height.logHeight₁ (β i)) :
MvPolynomial.weightedIndex r β P ≤ ENNReal.ofReal (2 * ↑n * σ ^ (1 / 2 ^ (n - 1)))
Uses 2 · Used by 1
TheoremThe Thue inequality (Evertse, Corollary 6.4)#
Let F ∈ ℤ[X₀, X₁] be a binary form such
that F(X, 1) has at least three distinct complex zeros. Then for every bound B, the
inequality 0 < |F(x, y)| ≤ B has only finitely many integer solutions. Like Roth's theorem,
the proof is ineffective.
MvPolynomial.IsHomogeneous.finite_setOf_eval_ne_zero_and_abs_le_of_three_le_card_roots
{F : MvPolynomial (Fin 2) ℤ} {d : ℕ} (hF : F.IsHomogeneous d)
(hroots :
3 ≤
(Polynomial.map (Int.castRingHom ℂ)
((MvPolynomial.aeval ![Polynomial.X, 1]) F)).roots.toFinset.card)
(B : ℤ) :
{p | (MvPolynomial.eval ![p.1, p.2]) F ≠ 0 ∧ |(MvPolynomial.eval ![p.1, p.2]) F| ≤ B}.Finite
Lean
Formalized in Tau Ceti as MvPolynomial.IsHomogeneous.finite_setOf_eval_ne_zero_and_abs_le_of_three_le_card_roots.
Other forms
The Thue inequality for square-free binary forms (Evertse, Corollary 6.4, square-free case). Formalized in Tau Ceti as MvPolynomial.IsHomogeneous.finite_setOf_eval_ne_zero_and_abs_le.
MvPolynomial.IsHomogeneous.finite_setOf_eval_ne_zero_and_abs_le {F : MvPolynomial (Fin 2) ℤ} {d : ℕ}
(hF : F.IsHomogeneous d)
(hsq :
∀ (a b : ℂ),
(a, b) ≠ (0, 0) →
¬(MvPolynomial.C a * MvPolynomial.X 0 + MvPolynomial.C b * MvPolynomial.X 1) ^ 2 ∣
(MvPolynomial.map (Int.castRingHom ℂ)) F)
(hd : 3 ≤ d) (B : ℤ) :
{p | (MvPolynomial.eval ![p.1, p.2]) F ≠ 0 ∧ |(MvPolynomial.eval ![p.1, p.2]) F| ≤ B}.Finite
Sources
Uses 1 · Used by 1
TheoremThue's theorem (Thue 1909; Evertse, Corollary 6.4)#
Let F ∈ ℤ[X₀, X₁] be a binary form
such that F(X, 1) has at least three distinct complex zeros, and let m ≠ 0. Then the Thue
equation F(x, y) = m has only finitely many integer solutions. Like Roth's theorem, the proof
is ineffective.
MvPolynomial.IsHomogeneous.finite_setOf_eval_eq_of_three_le_card_roots {F : MvPolynomial (Fin 2) ℤ}
{d : ℕ} (hF : F.IsHomogeneous d)
(hroots :
3 ≤
(Polynomial.map (Int.castRingHom ℂ)
((MvPolynomial.aeval ![Polynomial.X, 1]) F)).roots.toFinset.card)
{m : ℤ} (hm : m ≠ 0) : {p | (MvPolynomial.eval ![p.1, p.2]) F = m}.Finite
Lean
Formalized in Tau Ceti as MvPolynomial.IsHomogeneous.finite_setOf_eval_eq_of_three_le_card_roots.
Other forms
Thue's theorem for square-free binary forms (Evertse, Corollary 6.4, square-free case). Formalized in Tau Ceti as MvPolynomial.IsHomogeneous.finite_setOf_eval_eq.
MvPolynomial.IsHomogeneous.finite_setOf_eval_eq {F : MvPolynomial (Fin 2) ℤ} {d : ℕ}
(hF : F.IsHomogeneous d)
(hsq :
∀ (a b : ℂ),
(a, b) ≠ (0, 0) →
¬(MvPolynomial.C a * MvPolynomial.X 0 + MvPolynomial.C b * MvPolynomial.X 1) ^ 2 ∣
(MvPolynomial.map (Int.castRingHom ℂ)) F)
(hd : 3 ≤ d) {m : ℤ} (hm : m ≠ 0) : {p | (MvPolynomial.eval ![p.1, p.2]) F = m}.Finite
Sources
Uses 1
TheoremThe weak Lindemann–Weierstrass theorem#
Let K be a number field, Galois over ℚ and
embedded in ℂ. If a nonzero formal exponential sum x = ∑ δ_γ [γ] ∈ K[K] is fixed by the
conjugation galConj τ for every τ ∈ Gal(K/ℚ), then ∑ δ_γ exp γ ≠ 0.
TauCeti.LindemannWeierstrass.expEval_ne_zero_of_forall_galConj_eq.{u_1} {K : Type u_1} [Field K]
[NumberField K] [IsGalois ℚ K] [Algebra K ℂ] {x : AddMonoidAlgebra K K} (hx : x ≠ 0)
(hfix : ∀ (τ : Gal(K/ℚ)), (TauCeti.LindemannWeierstrass.galConj τ) x = x) :
(TauCeti.LindemannWeierstrass.expEval K) x ≠ 0
Lean
Formalized in Tau Ceti as TauCeti.LindemannWeierstrass.expEval_ne_zero_of_forall_galConj_eq.
Sources
Uses 2 · Used by 1
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.