Compfiles/Usa1975P3.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
6 declarations, 0 contain sorry, 0 declared as axioms
USA Mathematical Olympiad 1975, Problem 3
A polynomial p(x) of degree n satisfies p(0) = 0, p(1) = 1/2, p(2) = 2/3, ... , p(n) = n/(n+1). Find p(n+1).
Imports (11)
- Mathlib.Algebra.EuclideanDomain.Basic
- Mathlib.Algebra.EuclideanDomain.Field
- Mathlib.Algebra.Polynomial.BigOperators
- Mathlib.Algebra.Polynomial.RingDivision
- Mathlib.Analysis.Normed.Field.Basic
- Mathlib.Data.Nat.Factorial.BigOperators
- Mathlib.RingTheory.Coprime.Lemmas
- Mathlib.Tactic.LinearCombination
- Mathlib.Tactic.Positivity.Basic
- Mathlib.Tactic.Ring
- ProblemExtraction
Imported by 1 file
- determine
Usa1975P3.answerline 36 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,RealProof uses:
ite,Odd,OfNat.ofNat,HDiv.hDiv,HAdd.hAdd13 instances, coercions and auxiliary constants left out.
- lemma
Usa1975P3.natDegree_prod_X_sub_CThe degree of∏_{i < m} (X - i)ismline 41 sourceSource documentation
The degree of
∏_{i < m} (X - i)ism.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Polynomial.natDegree,Real,Finset.prod,Polynomial,Finset.range,HSub.hSub,Polynomial.X,RingHom,Polynomial.CProof uses:
Finset.sum,Polynomial.natDegree_prod,Membership.mem,Finset,Polynomial.X_sub_C_ne_zero,Eq.mpr,id,congrArg,Trans.simple,OfNat.ofNat,Finset.sum_congr,rfl,Polynomial.natDegree_X_sub_C,of_eq_true,Eq.trans,True,congrFun',HSMul.hSMul,Finset.card,Finset.sum_constand 3 more44 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
lemma natDegree_prod_X_sub_C (m : ℕ) : (∏ i ∈ Finset.range m, (X - C (i : ℝ))).natDegree = m := by … - lemma
Usa1975P3.prod_range_add_one_cast∏_{i < m} (i + 1) = m!, cast to the reals line 52 sourceSource documentation
∏_{i < m} (i + 1) = m!, cast to the reals.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Real,Finset.prod,Finset.range,HAdd.hAdd,OfNat.ofNat,Nat.factorialProof uses:
cast,Eq.symm,Eq.trans,congrFun',congrArg,Finset.prod_congr,Eq.refl,Finset,Membership.mem,Nat.cast_one,Finset.prod_range_add_one_eq_factorial38 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma prod_range_add_one_cast (m : ℕ) : ∏ i ∈ Finset.range m, ((i : ℝ) + 1) = (Nat.factorial m : ℝ) := by … - lemma
Usa1975P3.eval_prod_X_sub_C_neg_one∏_{i < m} (X - i)evaluated at-1equals(-1)^m * m!line 57 sourceSource documentation
∏_{i < m} (X - i)evaluated at-1equals(-1)^m * m!.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Real,Polynomial.eval,Neg.neg,OfNat.ofNat,Finset.prod,Polynomial,Finset.range,HSub.hSub,Polynomial.X,RingHom,Polynomial.C,HMul.hMul,HPow.hPow,Nat.factorialProof uses:
Eq.mpr,id,congrArg,Polynomial.eval_prod,congrFun',Finset.prod_congr,Eq.refl,Finset,Membership.mem,Eq.trans,Polynomial.eval_sub,congr,Polynomial.eval_X,Polynomial.eval_C,HAdd.hAdd,Mathlib.Tactic.Ring.of_eq,Int.rawCast,inferInstance,Ring,Int.negOfNatand 37 more81 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma eval_prod_X_sub_C_neg_one (m : ℕ) : (∏ i ∈ Finset.range m, (X - C (i : ℝ))).eval (-1 : ℝ) = (-1 : ℝ) ^ m * (Nat.factorial m : ℝ) := by … - lemma
Usa1975P3.eval_prod_X_sub_C_self∏_{i < m} (X - i)evaluated atmequalsm!line 67 sourceSource documentation
∏_{i < m} (X - i)evaluated atmequalsm!.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Real,Polynomial.eval,Finset.prod,Polynomial,Finset.range,HSub.hSub,Polynomial.X,RingHom,Polynomial.C,Nat.factorialProof uses:
Eq.mpr,id,congrArg,Polynomial.eval_prod,congrFun',Finset.prod_congr,Eq.refl,Finset,Membership.mem,Eq.trans,Polynomial.eval_sub,congr,Polynomial.eval_X,Polynomial.eval_C,OfNat.ofNat,GT.gt,Or,Nat.eq_zero_or_pos,of_eq_true,Trueand 48 more91 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
lemma eval_prod_X_sub_C_self (m : ℕ) : (∏ i ∈ Finset.range m, (X - C (i : ℝ))).eval (m : ℝ) = (Nat.factorial m : ℝ) := by … - problem
Usa1975P3.usa1975_p3line 86 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Polynomial,Real,Eq,Polynomial.natDegree,Membership.mem,Finset,Finset.range,HAdd.hAdd,OfNat.ofNat,Polynomial.eval,HDiv.hDiv, Usa1975P3.answerProof uses:
GT.gt,Or,Nat.eq_zero_or_pos,Iff.mpr,LT.lt,Finset.mem_range,Nat.one_pos,Eq.mp,congr,congrArg,congrFun',CharP.cast_eq_zero,Eq.trans,zero_add,div_one,RingHom,Polynomial.C,Finsupp,Polynomial.coeff,Polynomial.eq_C_of_natDegree_eq_zeroand 167 more202 instances, coercions and auxiliary constants left out.
Tactic trace: 130 steps
Open to load the checked before-and-after goal states.