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(geometry/euclidean/angle/oriented/basic): angles and spans of vectors #17525

Closed
wants to merge 1 commit into from

Conversation

jsm28
Copy link
Collaborator

@jsm28 jsm28 commented Nov 13, 2022

Add lemmas relating angles when vectors involved span the same subspace (this is preparation for corresponding lemmas in the affine case, about angles involving points on parallel lines).


Open in Gitpod

…ctors

Add lemmas relating angles when vectors involved span the same
subspace (this is preparation for corresponding lemmas in the affine
case, about angles involving points on parallel lines).
@jsm28 jsm28 added the awaiting-review The author would like community review of the PR label Nov 13, 2022
@ocfnash
Copy link
Collaborator

ocfnash commented Nov 29, 2022

I wonder about introducing some more support for the pattern of angles being "equal after possibly doubling" which is very common. For example what do you think of:

@[derive [normed_add_comm_group, inhabited, has_coe_t ℝ]]
def angle' : Type := add_circle π

noncomputable def real.angle.to_angle' : angle →+ angle' :=
quotient_add_group.lift
  (add_subgroup.zmultiples (2 * π))
  (quotient_add_group.mk' (add_subgroup.zmultiples π))
  sorry

example (x : angle) : x.to_angle' = 0 ↔ x = 0 ∨ x = ↑π := sorry

example (x : angle) : x.to_angle' = 0 ↔ (2 : ℤ) • x = 0 := sorry

In any case these changes look fine.

bors merge

@github-actions github-actions bot added ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) and removed awaiting-review The author would like community review of the PR labels Nov 29, 2022
@jsm28
Copy link
Collaborator Author

jsm28 commented Nov 29, 2022

If you have an explicit type for angles mod π, I'd be concerned you probably end up with a lot of API duplication; that's why I've preferred to work consistently with angles mod 2 * π and assert things about doubling the angles when required.

If you want to define angles literally between unoriented lines - as opposed to between vectors or between oriented lines - then you do get angles mod π, but that could also reasonably be worked around by defining the angle function on lines to return twice the angle in that case (which doesn't make any difference except when you compare to constants or apply trigonometric functions), so avoiding the extra type. I don't know what exactly the French curriculum has in mind for "angles de droites" (questionably translated "angles between planes" in undergrad.yaml).

See also #17485 for more discussion of working with equality of twice angles.

bors bot pushed a commit that referenced this pull request Nov 29, 2022
…ctors (#17525)

Add lemmas relating angles when vectors involved span the same subspace (this is preparation for corresponding lemmas in the affine case, about angles involving points on parallel lines).
@bors
Copy link

bors bot commented Nov 29, 2022

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(geometry/euclidean/angle/oriented/basic): angles and spans of vectors [Merged by Bors] - feat(geometry/euclidean/angle/oriented/basic): angles and spans of vectors Nov 29, 2022
@bors bors bot closed this Nov 29, 2022
@bors bors bot deleted the jsm28/two_zsmul_oangle_left_of_span_eq branch November 29, 2022 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants