Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 263833c

Browse files
feat(data/nat/factorization): add le_of_mem_factorization (#12032)
`le_of_mem_factors`: every factor of `n` is `≤ n` `le_of_mem_factorization`: everything in `n.factorization.support` is `≤ n`
1 parent 1a3c069 commit 263833c

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/data/nat/factorization.lean

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,9 @@ prime_of_mem_factors ∘ (@factor_iff_mem_factorization n p).mp
7979
lemma pos_of_mem_factorization {n p : ℕ} : p ∈ n.factorization.support → 0 < p :=
8080
prime.pos ∘ (@prime_of_mem_factorization n p)
8181

82+
lemma le_of_mem_factorization {n p : ℕ} (h : p ∈ n.factorization.support) : p ≤ n :=
83+
le_of_mem_factors (factor_iff_mem_factorization.mp h)
84+
8285
lemma factorization_eq_zero_of_non_prime (n p : ℕ) (hp : ¬p.prime) : n.factorization p = 0 :=
8386
not_mem_support_iff.1 (mt prime_of_mem_factorization hp)
8487

src/data/nat/prime.lean

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,13 @@ lemma mem_factors {n p} (hn : n ≠ 0) : p ∈ factors n ↔ prime p ∧ p ∣ n
696696
⟨λ h, ⟨prime_of_mem_factors h, (mem_factors_iff_dvd hn $ prime_of_mem_factors h).mp h⟩,
697697
λ ⟨hprime, hdvd⟩, (mem_factors_iff_dvd hn hprime).mpr hdvd⟩
698698

699+
lemma le_of_mem_factors {n p : ℕ} (h : p ∈ n.factors) : p ≤ n :=
700+
begin
701+
rcases n.eq_zero_or_pos with rfl | hn,
702+
{ rw factors_zero at h, cases h },
703+
{ exact le_of_dvd hn (dvd_of_mem_factors h) },
704+
end
705+
699706
/-- **Fundamental theorem of arithmetic**-/
700707
lemma factors_unique {n : ℕ} {l : list ℕ} (h₁ : prod l = n) (h₂ : ∀ p ∈ l, prime p) :
701708
l ~ factors n :=

0 commit comments

Comments
 (0)