Documentation

LeanCourse.MIL.C05_Elementary_Number_Theory.S03_Infinitely_Many_Primes

theorem C05S03.two_le {m : } (h0 : m 0) (h1 : m 1) :
2 m
theorem C05S03.exists_prime_factor {n : } (h : 2 n) :
∃ (p : ), Nat.Prime p p n
theorem C05S03.primes_infinite (n : ) :
p > n, Nat.Prime p
theorem Nat.Prime.eq_of_dvd_of_prime {p : } {q : } (prime_p : Nat.Prime p) (prime_q : Nat.Prime q) (h : p q) :
p = q
theorem C05S03.mem_of_dvd_prod_primes {s : Finset } {p : } (prime_p : Nat.Prime p) :
(∀ ns, Nat.Prime n)p ns, np s
theorem C05S03.primes_infinite' (s : Finset ) :
∃ (p : ), Nat.Prime p ps
theorem C05S03.bounded_of_ex_finset (Q : Prop) :
(∃ (s : Finset ), ∀ (k : ), Q kk s)∃ (n : ), ∀ (k : ), Q kk < n
theorem C05S03.ex_finset_of_bounded (Q : Prop) [DecidablePred Q] :
(∃ (n : ), ∀ (k : ), Q kk n)∃ (s : Finset ), ∀ (k : ), Q k k s
theorem C05S03.mod_4_eq_3_or_mod_4_eq_3 {m : } {n : } (h : m * n % 4 = 3) :
m % 4 = 3 n % 4 = 3
theorem C05S03.two_le_of_mod_4_eq_3 {n : } (h : n % 4 = 3) :
2 n
theorem C05S03.aux {m : } {n : } (h₀ : m n) (h₁ : 2 m) (h₂ : m < n) :
n / m n n / m < n
theorem C05S03.exists_prime_factor_mod_4_eq_3 {n : } (h : n % 4 = 3) :
∃ (p : ), Nat.Prime p p n p % 4 = 3
theorem C05S03.primes_mod_4_eq_3_infinite (n : ) :
p > n, Nat.Prime p p % 4 = 3