Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat(analysis/convex/side): betweenness and affine subspaces #16733

Closed
wants to merge 6 commits into from

Conversation

jsm28
Copy link
Collaborator

@jsm28 jsm28 commented Sep 30, 2022

Define notions of points being (weakly or strictly) on the same side or opposite sides of an affine subspace (e.g. a line), for use in describing geometrical configurations, and provide some associated API.


Open in Gitpod

Define notions of points being (weakly or strictly) on the same side
or opposite sides of an affine subspace (e.g. a line), for use in
describing geometrical configurations, and provide some associated
API.
@jsm28 jsm28 added the awaiting-review The author would like community review of the PR label Sep 30, 2022
jsm28 added a commit that referenced this pull request Oct 5, 2022
Add lemmas relating oriented angles to strict and weak betweenness of
points.

---

Further such lemmas depending on #16733, #16806 and #16815 are also
ready to PR once their dependencies are in.
@@ -9,13 +9,22 @@ import linear_algebra.affine_space.finite_dimensional
/-!
# Betweenness in affine spaces

This file defines notions of a point in an affine space being between two given points.
This file defines notions of a point in an affine space being between two given points, and of
two points being on the same or opposite sides of an affine subspace.

## Main definitions

* `affine_segment R x y`: The segment of points weakly between `x` and `y`.
* `wbtw R x y z`: The point `y` is weakly between `x` and `z`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it helpful to use mathlib's btw in this file, or is that less convenient?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think the btw used in circular orders is suitable for betweenness in affine spaces, because modules and affine spaces take the ring as an explicit parameter, not an out_param, so that there can be multiple module structures with different rings on the same type, so there isn't a canonical betweenness relation on a given type of points without specifying the ring as an explicit parameter to that relation.

(I have figured out how to use mathlib's circular orders for defining an explicit concept of cyclic polygons, which wasn't initially clear: a canonical cyclic order can be defined on a quotient of an archimedean linear_ordered_add_comm_group, and a notion can be defined of a cycle in a cyclic order being (strictly or weakly) in (positive) cyclic order; applying that to real.angle gives notions of positively and negatively cyclic polygons in an oriented two-dimensional Euclidean affine space, from which notions of cyclic polygons without a sign specified can be deduced in any Euclidean affine space without needing an orientation or a restriction to two dimensions.)

@jcommelin
Copy link
Member

Would it make sense to start a new file called side.lean that contains the contents of this PR? Because it is doubling the size of between.lean to well over 1000 lines.

@jsm28 jsm28 changed the title feat(analysis/convex/between): betweenness and affine subspaces feat(analysis/convex/side): betweenness and affine subspaces Oct 12, 2022
Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 🎉

If CI passes, please remove the label awaiting-CI and merge this yourself, by adding a comment bors r+.

bors d+

@leanprover-community-bot-assistant leanprover-community-bot-assistant added delegated The PR author may merge after reviewing final suggestions. and removed awaiting-review The author would like community review of the PR labels Oct 12, 2022
@bors
Copy link

bors bot commented Oct 12, 2022

✌️ jsm28 can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@jsm28
Copy link
Collaborator Author

jsm28 commented Oct 12, 2022

bors r+

bors bot pushed a commit that referenced this pull request Oct 12, 2022
Define notions of points being (weakly or strictly) on the same side or opposite sides of an affine subspace (e.g. a line), for use in describing geometrical configurations, and provide some associated API.
@bors
Copy link

bors bot commented Oct 12, 2022

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(analysis/convex/side): betweenness and affine subspaces [Merged by Bors] - feat(analysis/convex/side): betweenness and affine subspaces Oct 12, 2022
@bors bors bot closed this Oct 12, 2022
@bors bors bot deleted the jsm28/same_opp_side branch October 12, 2022 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated The PR author may merge after reviewing final suggestions.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants