Compfiles/Usa1987P3.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
4 declarations, 0 contain sorry, 0 declared as axioms
USA Mathematical Olympiad 1987, Problem 3
X is the smallest set of polynomials p(x) such that: (1) p(x) = x belongs to X; and (2) if r(x) belongs to X, then x·r(x) and (x + (1 - x)·r(x)) both belong to X.
Show that if r(x) and s(x) are distinct elements of X, then r(x) ≠ s(x) for any 0 < x < 1.
Imported by 1 file
- inductive
Usa1987P3.InXDocumented declaration: InX line 37 sourceSource documentation
The set
Xof the problem, as an inductive predicate: it is the smallest set of polynomials that contains the identity polynomialXand is closed under the two operationsr ↦ X * randr ↦ X + (1 - X) * r.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Polynomial,Real1 instances, coercions and auxiliary constants left out.
inductive InX : Polynomial ℝ → Prop | base : InX X | mul {r : Polynomial ℝ} (hr : InX r) : InX (X * r) | comb {r : Polynomial ℝ} (hr : InX r) : InX (X + (1 - X) * r) /-- Every polynomial of `X` maps the open interval `(0, 1)` into itself. -/Mentions: base
- lemma
Usa1987P3.InX.eval_mem_IooEvery polynomial ofXmaps the open interval(0, 1)into itself line 43 sourceSource documentation
Every polynomial of
Xmaps the open interval(0, 1)into itself.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Polynomial,Real, Usa1987P3.InX,LT.lt,OfNat.ofNat,And,Polynomial.evalProof uses:
Usa1987P3.InX.rec,Eq.mpr,Polynomial.X,id,Eq,congrArg,Polynomial.eval_X,And.intro,HMul.hMul,congr,Eq.trans,Polynomial.eval_mul,congrFun',mul_pos,And.left,LT.lt.trans,LT.lt.trans_eq,mul_lt_mul_of_pos_left,And.right,mul_oneand 11 more79 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma InX.eval_mem_Ioo {r : Polynomial ℝ} (hr : InX r) {x : ℝ} (hx0 : 0 < x) (hx1 : x < 1) : 0 < r.eval x ∧ r.eval x < 1 := by …Mentions: Usa1987P3.InX
- lemma
Usa1987P3.InX.trichotomyThe key trichotomy: two elements ofXare either equal as polynomials, or one of them is strictly smaller than the other throughout the whole open interval(0, 1)line 67 sourceSource documentation
The key trichotomy: two elements of
Xare either equal as polynomials, or one of them is strictly smaller than the other throughout the whole open interval(0, 1). The proof goes by induction on the construction ofrand case analysis on the construction ofs; it is a form of lexicographic comparison of the operation sequences (cf. the informal solution, where+counts as larger than "no further operation", which in turn counts as larger than-).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Polynomial,Real, Usa1987P3.InX,Or,Eq,LT.lt,OfNat.ofNat,Polynomial.evalProof uses:
Usa1987P3.InX.rec,HEq,Polynomial.X,Usa1987P3.InX.base,Or.inl,rfl,Eq.symm,HMul.hMul,Usa1987P3.InX.mul,Or.inr,Eq.mpr,id,congr,congrArg,Eq.trans,Polynomial.eval_mul,congrFun',Polynomial.eval_X,LT.lt.trans_eq,mul_lt_mul_of_pos_leftand 19 more77 instances, coercions and auxiliary constants left out.
Tactic trace: 54 steps
Open to load the checked before-and-after goal states.
lemma InX.trichotomy {r : Polynomial ℝ} (hr : InX r) : ∀ {s : Polynomial ℝ}, InX s → r = s ∨ (∀ x : ℝ, 0 < x → x < 1 → r.eval x < s.eval x) ∨ (∀ x : ℝ, 0 < x → x < 1 → s.eval x < r.eval x) := by …Mentions: Usa1987P3.InX
- problem
Usa1987P3.usa1987_p3line 135 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,Polynomial,Real,Membership.mem,Polynomial.X,HMul.hMul,HAdd.hAdd,HSub.hSub,OfNat.ofNat,LE.le,Ne,LT.lt,Polynomial.evalProof uses:
Set.ofPred, Usa1987P3.InX,Usa1987P3.InX.base,Usa1987P3.InX.mul,Usa1987P3.InX.comb,Eq,Or, Usa1987P3.InX.trichotomy,absurd,ne_of_lt,ne_of_gt34 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.