Compfiles/CIIM2022P6.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned compfiles documentation, Pinned compfiles corpus index
5 declarations, 0 contain sorry, 0 declared as axioms
Iberoamerican Interuniversity Mathematics Competition 2022, Problem 6
Given a positive integer m, let d(m) be the number of postive divisors of m. Show that for every positive integer n, one has d((n + 1)!) ≤ 2d(n!).
Imports (2)
Imported by 1 file
- def
CIIM2022P6.dline 27 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Finset.card,Nat.divisors - lemma
CIIM2022P6.mul_le_self_powIfp ≥ 2and1 ≤ vthenv * p ≤ p ^ vline 33 sourceSource documentation
If
p ≥ 2and1 ≤ vthenv * p ≤ p ^ v.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,HMul.hMul,HPow.hPowProof uses:
HSub.hSub,LT.lt,Nat.lt_two_pow_self,Nat.pow_le_pow_left,LE.le.trans,Trans.trans,Eq,Nat.mul_le_mul,le_rfl,Eq.mpr,HAdd.hAdd,id,congrArg,Eq.symm,pow_succ,HPow,Eq.rec,Eq.refl30 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma mul_le_self_pow {p v : ℕ} (hp : 2 ≤ p) (hv : 1 ≤ v) : v * p ≤ p ^ v := by … - lemma
CIIM2022P6.sum_div_pow_le_oneKey combinatorial estimate line 46 sourceSource documentation
Key combinatorial estimate. Let
Pbe a finset of primes with multiplicitiesv p ≥ 1, and setN = ∏ p ∈ P, p ^ v p. Then the sum of(∏ p ∈ S, p ^ v p) / N ^ |S|over nonemptyS ⊆ Pis at most1. (Proof: induction onP, peeling off one prime.) This is the exact estimate behindd((n+1)!) ≤ 2 d(n!).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Finset,Nat,Membership.mem,Nat.Prime,LE.le,OfNat.ofNat,Rat,Finset.sum,Finset.erase,Finset.powerset,EmptyCollection.emptyCollection,HDiv.hDiv,Finset.prod,HPow.hPow,Finset.cardProof uses:
Finset.strongInductionOn,LT.lt,Eq,Finset.Nonempty,Or,Finset.eq_empty_or_nonempty,of_eq_true,Eq.trans,True,congrFun',congrArg,congr,Finset.erase_singleton,funext,Nat.cast_prod,Finset.prod_congr,Eq.refl,Nat.cast_pow,Nat.cast_one,one_powand 212 more209 instances, coercions and auxiliary constants left out.
Tactic trace: 179 steps
Open to load the checked before-and-after goal states.
lemma sum_div_pow_le_one (P : Finset ℕ) (v : ℕ → ℕ) : (∀ p ∈ P, p.Prime) → (∀ p ∈ P, 1 ≤ v p) → ∑ S ∈ P.powerset.erase ∅, ((∏ p ∈ S, p ^ v p : ℕ) : ℚ) / (∏ p ∈ P, p ^ v p : ℕ) ^ S.card ≤ 1 := by … - lemma
CIIM2022P6.prod_factorization_leThe multiplicative bound∏_{p | n+1} (v_p(n!) + v_p(n+1) + 1) ≤ 2 ∏_{p | n+1} (v_p(n!) + 1)line 223 sourceSource documentation
The multiplicative bound
∏_{p | n+1} (v_p(n!) + v_p(n+1) + 1) ≤ 2 ∏_{p | n+1} (v_p(n!) + 1). Together with the factorization of(n+1)!this is the heart of the problem.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,LE.le,Finset.prod,Nat.primeFactors,HAdd.hAdd,Finsupp,Nat.factorization,Nat.factorial,HMul.hMulProof uses:
Finset,Eq.mpr,id,Eq,congrArg,rfl,Ne,Membership.mem,Nat.Prime,And.left,And,Dvd.dvd,Iff.mp,Nat.mem_primeFactors,Nat.Prime.factorization_pos_of_dvd,And.right,HPow.hPow,Eq.symm,Nat.prod_primeFactors_pow_factorization,Orand 147 more203 instances, coercions and auxiliary constants left out.
Tactic trace: 91 steps
Open to load the checked before-and-after goal states.
lemma prod_factorization_le (n : ℕ) (hn : 0 < n) : ∏ p ∈ (n + 1).primeFactors, ((Nat.factorial n).factorization p + (n + 1).factorization p + 1) ≤ 2 * ∏ p ∈ (n + 1).primeFactors, ((Nat.factorial n).factorization p + 1) := by … - problem
CIIM2022P6.ciim2022_p6line 347 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,LE.le, CIIM2022P6.d,Nat.factorial,HAdd.hAdd,HMul.hMulProof uses:
Ne,Nat.factorial_ne_zero,Eq,Finsupp,Nat.factorization,Eq.mpr,id,congrArg,Nat.factorial_succ,Nat.factorization_mul,Finsupp.add_apply,Nat.add_comm,Eq.refl,Finset,Nat.primeFactors,Union.union,Finset.ext,Iff,Membership.mem,Andand 74 more67 instances, coercions and auxiliary constants left out.
Tactic trace: 73 steps
Open to load the checked before-and-after goal states.