[Merged by Bors] - feat(Geometry/Polygon): nondegeneracy conditions and interconversion with Affine.Triangle#34598
[Merged by Bors] - feat(Geometry/Polygon): nondegeneracy conditions and interconversion with Affine.Triangle#34598A-M-Berns wants to merge 28 commits intoleanprover-community:masterfrom
Conversation
…angles This introduces basic polygon definitions: - `Polygon P n`: vertices indexed by `Fin n` in any type - `EuclideanPolygon n`: polygon in 2D Euclidean space with `n ≥ 3` - `EuclideanTriangle`: non-degenerate triangle with `Affine.Triangle` compatibility Provides edge representations in both affine (`edgePath`, `edgeSet`) and module (`edgePathModule`, `side`) settings, with equivalence theorems. With help from Claude Code (Opus 4.5).
✅ PR Title Formatted CorrectlyThe title of this PR has been updated to match our commit style conventions. |
PR summary 0e4799ceffImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
|
Additional suggested lemmas: |
|
I've edited the file based on the feedback. I changed the |
|
Could you merge master and resolve the conflicts? |
Co-authored-by: Johan Commelin <[email protected]>
Co-authored-by: Johan Commelin <[email protected]>
|
-awaiting-author |
…with Affine.Triangle (#34598) This PR implements suggestions provided in [this comment](#34393 (comment)) by @jsm28: interconversion between `Polygon P 3` and `Affine.Triangle` as well as the nondegeneracy conditions `NondegenerateVertices` and `NondegenerateEdges`. I tried to keep typeclass restrictions as minimal as possible. Co-authored-by: AnsonBerns <[email protected]> Co-authored-by: A. M. Berns <[email protected]>
|
Pull request successfully merged into master. Build succeeded: |
…with Affine.Triangle (leanprover-community#34598) This PR implements suggestions provided in [this comment](leanprover-community#34393 (comment)) by @jsm28: interconversion between `Polygon P 3` and `Affine.Triangle` as well as the nondegeneracy conditions `NondegenerateVertices` and `NondegenerateEdges`. I tried to keep typeclass restrictions as minimal as possible. Co-authored-by: AnsonBerns <[email protected]> Co-authored-by: A. M. Berns <[email protected]>
…with Affine.Triangle (leanprover-community#34598) This PR implements suggestions provided in [this comment](leanprover-community#34393 (comment)) by @jsm28: interconversion between `Polygon P 3` and `Affine.Triangle` as well as the nondegeneracy conditions `NondegenerateVertices` and `NondegenerateEdges`. I tried to keep typeclass restrictions as minimal as possible. Co-authored-by: AnsonBerns <[email protected]> Co-authored-by: A. M. Berns <[email protected]>
This PR implements suggestions provided in this comment by @jsm28: interconversion between
Polygon P 3andAffine.Triangleas well as the nondegeneracy conditionsNondegenerateVerticesandNondegenerateEdges. I tried to keep typeclass restrictions as minimal as possible.