Skip to content

Commit c8b681a

Browse files
authored
Ch01, proof 4: state subgoals (#54)
* add lemma for proof 4 * Ch01, proof 4: state subgoals
1 parent c1fe976 commit c8b681a

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

FormalBook/Ch01_Six_proofs_of_the_infinity_of_primes.lean

+17
Original file line numberDiff line numberDiff line change
@@ -207,13 +207,30 @@ using elementary calculus
207207
-/
208208
open Filter
209209

210+
noncomputable def primeCountingReal (x : ℝ) : ℕ :=
211+
if (x > 0) then primeCounting ⌊x⌋.natAbs else 0
212+
213+
def S₁ (x : ℝ) : Set ℕ :=
214+
{ n | ∀ p, Nat.Prime p → p ∣ n → p ≤ x }
215+
210216
theorem infinity_of_primes₄ : Tendsto π atTop atTop := by
211217
-- two parts:
212218
-- (1) log x ≤ π x + 1
213219
-- (2) This implies that it is not bounded
220+
have H_log_le_primeCountingReal_add_one (n : ℕ) (x : ℝ) (hxge : x ≥ n) (hxlt : x < n + 1) :
221+
Real.log x ≤ primeCountingReal x + 1 :=
222+
calc
223+
Real.log x ≤ ∑ k in Icc 1 n, (k : ℝ)⁻¹ := by sorry
224+
_ ≤ (∑' m : (S₁ x), (m : ℝ)⁻¹) := by sorry
225+
_ ≤ (∏ p in primesBelow ⌊x⌋.natAbs, (∑' k : ℕ, (p ^ k : ℝ)⁻¹)) := by sorry
226+
_ ≤ (∏ k in Icc 1 (primeCountingReal x), (nth Nat.Prime k) / ((nth Nat.Prime k) - 1)) := by sorry
227+
_ ≤ (∏ k in Icc 1 (primeCountingReal x), (k + 1) / k) := by sorry
228+
_ ≤ primeCountingReal x + 1 := by sorry
214229
sorry
215230

216231
-- This might be useful for the proof. Rename as you like.
232+
theorem monotone_primeCountingReal : Monotone primeCountingReal := by sorry
233+
217234
lemma H_P4_1 {k p: ℝ} (hk: k > 0) (hp: p ≥ k + 1): p / (p - 1) ≤ (k + 1) / k := by
218235
have h_k_nonzero: k ≠ 0 := ne_iff_lt_or_gt.mpr (Or.inr hk)
219236
have h_p_pred_pos: p - 1 > 0 := by linarith

0 commit comments

Comments
 (0)