@@ -3,40 +3,44 @@ Copyright (c) 2022 Yuyang Zhao. All rights reserved.
3
3
Released under Apache 2.0 license as described in the file LICENSE.
4
4
Authors: Yuyang Zhao
5
5
-/
6
-
7
- import Mathlib.Algebra.Order.Floor
8
6
import Mathlib.Data.Nat.Prime.Basic
7
+ import Mathlib.Topology.Algebra.Order.Floor
9
8
10
9
/-!
11
10
# Existence of a sufficiently large prime for which `a * c ^ p / (p - 1)! < 1`
12
11
13
12
This is a technical result used in the proof of the Lindemann-Weierstrass theorem.
14
- -/
15
13
16
- namespace FloorRing
14
+ TODO: delete this file, as all its lemmas have been deprecated.
15
+ -/
17
16
18
17
open scoped Nat
19
18
19
+ @[deprecated eventually_mul_pow_lt_factorial_sub (since := "2024-09-25")]
20
+ theorem Nat.exists_prime_mul_pow_lt_factorial (n a c : ℕ) :
21
+ ∃ p > n, p.Prime ∧ a * c ^ p < (p - 1 )! :=
22
+ ((Filter.frequently_atTop.mpr Nat.exists_infinite_primes).and_eventually
23
+ (eventually_mul_pow_lt_factorial_sub a c 1 )).forall_exists_of_atTop (n + 1 )
24
+
25
+ namespace FloorRing
26
+
20
27
variable {K : Type *}
21
28
29
+ @[deprecated FloorSemiring.eventually_mul_pow_lt_factorial_sub (since := "2024-09-25")]
22
30
theorem exists_prime_mul_pow_lt_factorial [LinearOrderedRing K] [FloorRing K] (n : ℕ) (a c : K) :
23
- ∃ p > n, p.Prime ∧ a * c ^ p < (p - 1 )! := by
24
- obtain ⟨p, pn, pp, h⟩ := n.exists_prime_mul_pow_lt_factorial ⌈|a|⌉.natAbs ⌈|c|⌉.natAbs
25
- use p, pn, pp
26
- calc a * c ^ p
27
- _ ≤ |a * c ^ p| := le_abs_self _
28
- _ ≤ ⌈|a|⌉ * (⌈|c|⌉ : K) ^ p := ?_
29
- _ = ↑(Int.natAbs ⌈|a|⌉ * Int.natAbs ⌈|c|⌉ ^ p) := ?_
30
- _ < ↑(p - 1 )! := Nat.cast_lt.mpr h
31
- · rw [abs_mul, abs_pow]
32
- gcongr <;> try first | positivity | apply Int.le_ceil
33
- · simp_rw [Nat.cast_mul, Nat.cast_pow, Int.cast_natAbs,
34
- abs_eq_self.mpr (Int.ceil_nonneg (abs_nonneg (_ : K)))]
31
+ ∃ p > n, p.Prime ∧ a * c ^ p < (p - 1 )! :=
32
+ ((Filter.frequently_atTop.mpr Nat.exists_infinite_primes).and_eventually
33
+ (FloorSemiring.eventually_mul_pow_lt_factorial_sub a c 1 )).forall_exists_of_atTop (n + 1 )
35
34
35
+ @[deprecated FloorSemiring.tendsto_mul_pow_div_factorial_sub_atTop (since := "2024-09-25")]
36
36
theorem exists_prime_mul_pow_div_factorial_lt_one [LinearOrderedField K] [FloorRing K]
37
37
(n : ℕ) (a c : K) :
38
- ∃ p > n, p.Prime ∧ a * c ^ p / (p - 1 )! < 1 := by
39
- simp_rw [div_lt_one (α := K) (Nat.cast_pos.mpr (Nat.factorial_pos _))]
40
- exact exists_prime_mul_pow_lt_factorial ..
38
+ ∃ p > n, p.Prime ∧ a * c ^ p / (p - 1 )! < 1 :=
39
+ letI := Preorder.topology K
40
+ haveI : OrderTopology K := ⟨rfl⟩
41
+ ((Filter.frequently_atTop.mpr Nat.exists_infinite_primes).and_eventually
42
+ (eventually_lt_of_tendsto_lt zero_lt_one
43
+ (FloorSemiring.tendsto_mul_pow_div_factorial_sub_atTop a c 1 ))).forall_exists_of_atTop
44
+ (n + 1 )
41
45
42
46
end FloorRing
0 commit comments