FormalConjectures/ErdosProblems/633.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 project documentation, Formal Conjectures paper, arXiv v1
10 declarations, 5 contain sorry, 0 declared as axioms
Erdős Problem 633
Reference:
- erdosproblems.com/633
- [So09] Soifer, Alexander, How Does One Cut a Triangle? I
- [So09c] Soifer, Alexander, Is there anything beyond the solution?
- [BLZ26] Beeson, Michael, Laczkovich, Miklós, and Zhang, Yan, Solution of Erdős problem 633.
Imports (1)
- def
Erdos633.IsCuttableA triangle isn-cuttable if it can be decomposed intoncongruent triangles line 41 sourceSource documentation
A triangle is
n-cuttable if it can be decomposed intoncongruent triangles.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Affine.Triangle,Real,EuclideanSpace,Fin,OfNat.ofNat,ENNRealProof uses:
Exists,And,Congruent,HAdd.hAdd,Affine.Simplex.points,Pairwise,Disjoint,Set,Affine.Simplex.interior,Eq,Set.iUnion,Affine.Simplex.closedInterior65 instances, coercions and auxiliary constants left out.
def IsCuttable : Prop := …
- lemma
Erdos633.IsCuttable.ne_zeroA triangle isn't cuttable into zero triangles line 49 sourceSource documentation
A triangle isn't cuttable into zero triangles.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Affine.Triangle,Real,EuclideanSpace,Fin,OfNat.ofNat,ENNReal, Erdos633.IsCuttable,NeProof uses:
Eq,False,And,Congruent,HAdd.hAdd,Affine.Simplex.points,Pairwise,Disjoint,Set,Affine.Simplex.interior,Set.iUnion,Affine.Simplex.closedInterior,Set.Nonempty.ne_empty, Affine.Simplex.closedInterior_nonempty,Eq.mp,EmptyCollection.emptyCollection,congrArg,Set.iUnion_of_empty,Eq.symm71 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma IsCuttable.ne_zero (hT : IsCuttable n T) : n ≠ 0 := by …
Mentions: Erdos633.IsCuttable
- lemma
Erdos633.IsCuttable.sqEvery triangle is cuttable into any non-zero square number of congruent triangles sorry line 56 sourceSource documentation
Every triangle is cuttable into any non-zero square number of congruent triangles.
depends on sorry what this means
Statement uses:
Nat,Affine.Triangle,Real,EuclideanSpace,Fin,OfNat.ofNat,ENNReal,Ne, Erdos633.IsCuttable,HPow.hPowProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous60 instances, coercions and auxiliary constants left out.
protected lemma IsCuttable.sq (hn : n ≠ 0) : IsCuttable (n ^ 2) T := sorry …
Mentions: Erdos633.IsCuttable
- lemma
Erdos633.IsCuttable.of_isSquareEvery triangle is cuttable into any non-zero square number of congruent triangles line 60 sourceSource documentation
Every triangle is cuttable into any non-zero square number of congruent triangles.
depends on sorry what this means
Statement uses:
Nat,Affine.Triangle,Real,EuclideanSpace,Fin,OfNat.ofNat,ENNReal,Ne,IsSquare, Erdos633.IsCuttableProof uses:
Eq,HMul.hMul,Eq.mpr,HPow.hPow,id,congrArg,Eq.symm,sq, Erdos633.IsCuttable.sq,Eq.mp,Not,Eq.trans,Or,or_self78 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma IsCuttable.of_isSquare (hn₀ : n ≠ 0) (hn : IsSquare n) : IsCuttable n T := by …
Mentions: Erdos633.IsCuttable
- lemma
Erdos633.isCuttable_iff_isSquare_of_linearIndependentA triangle whose side lengths and angles are integrally independent is cuttable only into a non-zero square number of congruent triangles sorry line 66 sourceSource documentation
A triangle whose side lengths and angles are integrally independent is cuttable only into a non-zero square number of congruent triangles. This is proved in [So09c].
depends on sorry what this means
Statement uses:
Nat,Affine.Triangle,Real,EuclideanSpace,Fin,OfNat.ofNat,ENNReal,LinearIndependent,Nat.succ,Int,Matrix.vecCons,Dist.dist,Affine.Simplex.points,HAdd.hAdd,Matrix.vecEmpty,EuclideanGeometry.angle,Iff, Erdos633.IsCuttable,And,Neand 1 moreProof uses:
Iff.intro,And.intro, Erdos633.IsCuttable.ne_zero,sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous, Erdos633.IsCuttable.of_isSquare,And.left,And.right90 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma isCuttable_iff_isSquare_of_linearIndependent (hTsides : LinearIndependent ℤ ![dist (T.points 0) (T.points 1), dist (T.points 1) (T.points 2), dist (T.points 2) (T.points 0)]) (hTangles : LinearIndependent ℤ ![∠ (T.points 0) (T.points 1) (T.points 2), ∠ (T.points 1) (T.points 2) (T.points 0), ∠ (T.points 2) (T.points 0) (T.points 1)]) : IsCuttable n T ↔ n ≠ 0 ∧ IsSquare n := by …Mentions: Erdos633.IsCuttable
- lemma
Erdos633.erdos_633Which triangles can only be decomposed into a square number of congruent triangles? sorry line 88 sourceSource documentation
Which triangles can only be decomposed into a square number of congruent triangles?
Beeson, Laczkovich, and Zhang [BLZ26] classify the triangles that can be tiled only into a square number of congruent triangles, settling this problem. The classification is too involved to encode in the answer slot here, so the answer is left as
sorryand the reference records the result.depends on sorry what this means
Statement uses:
Affine.Triangle,Real,EuclideanSpace,Fin,OfNat.ofNat,Nat,ENNReal,Iff,Membership.mem,Set,sorryAx,Bool.false, Erdos633.IsCuttable,IsSquareProof uses:
Lean.Name,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous56 instances, coercions and auxiliary constants left out.
lemma erdos_633 : T ∈ (answer(sorry) : Set <| Triangle ℝ ℝ²) ↔ ∀ n, IsCuttable n T → IsSquare n := sorry …Mentions: Erdos633.IsCuttable
- def
Erdos633.IsSimiliCuttableA triangle isn-simili-cuttable if it can be decomposed intonsimilar triangles line 93 sourceSource documentation
A triangle is
n-simili-cuttable if it can be decomposed intonsimilar triangles.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Affine.Triangle,Real,EuclideanSpace,Fin,OfNat.ofNat,ENNRealProof uses:
Exists,And,Similar,HAdd.hAdd,Affine.Simplex.points,Pairwise,Disjoint,Set,Affine.Simplex.interior,Eq,Set.iUnion,Affine.Simplex.closedInterior65 instances, coercions and auxiliary constants left out.
def IsSimiliCuttable (n : ℕ) (T : Triangle ℝ ℝ²) : Prop := …
- lemma
Erdos633.IsSimiliCuttable.ne_zeroA triangle isn't simili-cuttable into zero triangles line 101 sourceSource documentation
A triangle isn't simili-cuttable into zero triangles.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Affine.Triangle,Real,EuclideanSpace,Fin,OfNat.ofNat,ENNReal, Erdos633.IsSimiliCuttable,NeProof uses:
Eq,False,And,Similar,HAdd.hAdd,Affine.Simplex.points,Pairwise,Disjoint,Set,Affine.Simplex.interior,Set.iUnion,Affine.Simplex.closedInterior,Set.Nonempty.ne_empty, Affine.Simplex.closedInterior_nonempty,Eq.mp,EmptyCollection.emptyCollection,congrArg,Set.iUnion_of_empty,Eq.symm71 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma IsSimiliCuttable.ne_zero (hT : IsSimiliCuttable n T) : n ≠ 0 := by …
Mentions: Erdos633.IsSimiliCuttable
- lemma
Erdos633.IsSimiliCuttable.of_ne_zero_two_three_fiveEvery triangle is simili-cuttable into any number of similar triangles, except 0, 2, 3, 5 sorry line 109 sourceSource documentation
Every triangle is simili-cuttable into any number of similar triangles, except 0, 2, 3, 5. This is proved in [So09].
depends on sorry what this means
Statement uses:
Nat,Affine.Triangle,Real,EuclideanSpace,Fin,OfNat.ofNat,ENNReal,Ne, Erdos633.IsSimiliCuttableProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous52 instances, coercions and auxiliary constants left out.
lemma IsSimiliCuttable.of_ne_zero_two_three_five (hn₀ : n ≠ 0) (hn₂ : n ≠ 2) (hn₃ : n ≠ 3) (hn₅ : n ≠ 5) : IsSimiliCuttable n T := sorry …Mentions: Erdos633.IsSimiliCuttable
- lemma
Erdos633.exists_isSimiliCuttable_iff_ne_zero_two_three_fiveThere exists a triangle which isn't simili-cuttable into 0, 2, 3, 5 parts sorry line 115 sourceSource documentation
There exists a triangle which isn't simili-cuttable into 0, 2, 3, 5 parts. This is proved in [So09].
depends on sorry what this means
Statement uses:
Exists,Affine.Triangle,Real,EuclideanSpace,Fin,OfNat.ofNat,Nat,ENNReal,Iff, Erdos633.IsSimiliCuttable,And,NeProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous52 instances, coercions and auxiliary constants left out.
lemma exists_isSimiliCuttable_iff_ne_zero_two_three_five : ∃ T, ∀ n, IsSimiliCuttable n T ↔ n ≠ 0 ∧ n ≠ 2 ∧ n ≠ 3 ∧ n ≠ 5 := sorry …Mentions: Erdos633.IsSimiliCuttable