Compfiles/Imo1989P3.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
International Mathematical Olympiad 1989, Problem 3
Let $n$ and $k$ be positive integers and let $S$ be a set of $n$ points in the plane such that (i) no three points of $S$ are collinear, and (ii) for each point $P$ of $S$ there are at least $k$ points of $S$ equidistant from $P$. Prove that $k < \frac{1}{2} + \sqrt{2n}$.
Imports (8)
Imported by 1 file
- abbrev
Imo1989P3.Ptline 35 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Proof uses:
EuclideanSpace,Real,Fin,OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
- lemma
Imo1989P3.inner_sub_eq_zero_of_dist_eqIfPandQare both equidistant fromAandB, thenP - Qis orthogonal toB - Aline 43 sourceSource documentation
If
PandQare both equidistant fromAandB, thenP - Qis orthogonal toB - A.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Imo1989P3.Pt,
Eq,Real,Dist.dist,OfNat.ofNat,ENNReal,Fin,Nat,Inner.inner,HSub.hSubProof uses:
HAdd.hAdd,HPow.hPow,Norm.norm,HMul.hMul,Eq.mpr,id,congrArg,Eq.mp,dist_eq_norm,Eq.refl,norm_sub_sq_real,congrFun',Eq.trans,inner_sub_right,congr,inner_sub_left,Mathlib.Tactic.LinearCombination.eq_of_eq,HDiv.hDiv,Mathlib.Tactic.LinearCombination.div_eq_const,Mathlib.Tactic.LinearCombination.add_eq_eqand 77 more144 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma inner_sub_eq_zero_of_dist_eq {A B P Q : Pt} (hP : dist P A = dist P B) (hQ : dist Q A = dist Q B) : ⟪P - Q, B - A⟫_ℝ = 0 := by …Mentions: P, Imo1989P3.Pt
- lemma
Imo1989P3.collinear_of_dist_eqThree points that are all equidistant from two distinct pointsA,Bare collinear (they lie on the perpendicular bisector ofAandB, which is a line) line 59 sourceSource documentation
Three points that are all equidistant from two distinct points
A,Bare collinear (they lie on the perpendicular bisector ofAandB, which is a line).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Imo1989P3.Pt,
Ne,Eq,Real,Dist.dist,OfNat.ofNat,ENNReal,Fin,Nat,Collinear,Insert.insert,Set,Singleton.singletonProof uses:
HSub.hSub,Iff.mpr,sub_ne_zero,Ne.symm,Membership.mem,Submodule,Submodule.orthogonal,Submodule.span,Inner.inner,Submodule.mem_orthogonal_singleton_iff_inner_right,Iff.mp,inner_eq_zero_symm, Imo1989P3.inner_sub_eq_zero_of_dist_eq,Fact,Module.finrank,HAdd.hAdd,Fact.mk,Eq.mpr,id,congrArgand 36 more152 instances, coercions and auxiliary constants left out.
Tactic trace: 22 steps
Open to load the checked before-and-after goal states.
lemma collinear_of_dist_eq {A B : Pt} (hAB : A ≠ B) {p₁ p₂ p₃ : Pt} (h₁₂ : p₁ ≠ p₂) (h1 : dist p₁ A = dist p₁ B) (h2 : dist p₂ A = dist p₂ B) (h3 : dist p₃ A = dist p₃ B) : Collinear ℝ ({p₁, p₂, p₃} : Set Pt) := by …Mentions: Imo1989P3.Pt
- problem
Imo1989P3.imo1989_p3line 88 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,Finset, Imo1989P3.Pt,Eq,Finset.card,Membership.mem,Ne,Not,Collinear,Real,ENNReal,Fin,Insert.insert,Set,Singleton.singleton,Exists,And,LE.leand 5 moreProof uses:
Finset.powersetCard,rfl,Prod,Finset.filter,Prod.snd,Prod.fst,Classical.propDecidable,SProd.sprod,Decidable.byContradiction,Eq.mp,False,Iff.mp,Finset.one_lt_card_iff,Finset.erase,Iff.mpr,Finset.mem_erase,And.intro,Ne.symm,Eq.mpr,HSub.hSuband 156 more232 instances, coercions and auxiliary constants left out.
Tactic trace: 110 steps
Open to load the checked before-and-after goal states.