[Merged by Bors] - feat: port Algebra.Quotient#643
[Merged by Bors] - feat: port Algebra.Quotient#643siddhartha-gadgil wants to merge 11 commits intoleanprover-community:masterfrom
Conversation
Co-authored-by: Riccardo Brasca <riccardo.brasca@gmail.com>
…il/mathlib4 into algebra-quotient
Mathlib/Algebra/Quotient.lean
Outdated
|
|
||
| universe u v | ||
|
|
||
| /-- `has_quotient A B` is a notation typeclass that allows us to write `A ⧸ b` for `b : B`. |
There was a problem hiding this comment.
| /-- `has_quotient A B` is a notation typeclass that allows us to write `A ⧸ b` for `b : B`. | |
| /-- `HasQuotient A B` is a notation typeclass that allows us to write `A ⧸ b` for `b : B`. |
There was a problem hiding this comment.
I think the class itself should be called Quotient according to the naming convention?
There was a problem hiding this comment.
It would, but that name is already taken. There are a few notation typeclasses in core which also have this issue: AndOp and OrOp are the names of the notation typeclasses for bitwise and / or, which have to avoid clashing with the propositions And and Or. So QuotientOp is another option. But HasQuotient seems like the least disruptive option.
Mathlib/Algebra/Quotient.lean
Outdated
| Quotient' : B → Type max u v | ||
| #align has_quotient HasQuotient | ||
|
|
||
| -- Will be provided by e.g. `ideal.quotient.inhabited` |
There was a problem hiding this comment.
| -- Will be provided by e.g. `ideal.quotient.inhabited` | |
| -- Will be provided by e.g. `Ideal.quotient.inhabited` |
Mathlib/Algebra/Quotient.lean
Outdated
| `A` is a parameter, despite being unused in the definition below, so it appears in the notation. | ||
| -/ | ||
| class HasQuotient (A : outParam <| Type u) (B : Type v) where | ||
| Quotient' : B → Type max u v |
There was a problem hiding this comment.
| Quotient' : B → Type max u v | |
| quotient' : B → Type max u v |
Mathlib/Algebra/Quotient.lean
Outdated
| def HasQuotient.Quotient (A : outParam <| Type u) {B : Type v} [HasQuotient A B] (b : B) : Type max u v := | ||
| HasQuotient.Quotient' b | ||
| #align has_quotient.quotient HasQuotient.Quotient |
There was a problem hiding this comment.
| def HasQuotient.Quotient (A : outParam <| Type u) {B : Type v} [HasQuotient A B] (b : B) : Type max u v := | |
| HasQuotient.Quotient' b | |
| #align has_quotient.quotient HasQuotient.Quotient | |
| def HasQuotient.quotient (A : outParam <| Type u) {B : Type v} [HasQuotient A B] (b : B) : Type max u v := | |
| HasQuotient.quotient' b | |
| #align has_quotient.quotient HasQuotient.quotient |
Mathlib/Algebra/Quotient.lean
Outdated
| #align has_quotient.quotient HasQuotient.Quotient | ||
|
|
||
| -- mathport name: «expr ⧸ » | ||
| notation:35 G " ⧸ " H:34 => HasQuotient.Quotient G H |
There was a problem hiding this comment.
| notation:35 G " ⧸ " H:34 => HasQuotient.Quotient G H | |
| notation:35 G " ⧸ " H:34 => HasQuotient.quotient G H |
|
A bunch of casing issues. Please ping if you disagree with / don't understand these suggestions. Otherwise, bors d+ (and please update the port status wiki after merging). |
|
✌️ siddhartha-gadgil can now approve this pull request. To approve and merge a pull request, simply reply with |
Co-authored-by: Scott Morrison <scott@tqft.net>
Co-authored-by: Scott Morrison <scott@tqft.net>
|
bors r+ |
Had to do very little. Please let me know if there is something I missed. Starting mathlib commit: c3019c79074b0619edb4b27553a91b2e82242395
bors r+ |
|
Already running a review |
|
Build failed: |
|
bors r+ |
Had to do very little. Please let me know if there is something I missed. Starting mathlib commit: c3019c79074b0619edb4b27553a91b2e82242395
|
Build failed:
|
|
bors r+ |
Had to do very little. Please let me know if there is something I missed. Starting mathlib commit: c3019c79074b0619edb4b27553a91b2e82242395
|
Pull request successfully merged into master. Build succeeded: |
Regenerated from the [port status wiki page](https://github.com/leanprover-community/mathlib/wiki/mathlib4-port-status). Relates to the following PRs: * leanprover-community/mathlib4#643 * leanprover-community/mathlib4#646 * leanprover-community/mathlib4#648 * leanprover-community/mathlib4#649 * leanprover-community/mathlib4#651 * leanprover-community/mathlib4#655 * leanprover-community/mathlib4#656 * leanprover-community/mathlib4#657 * leanprover-community/mathlib4#661 * leanprover-community/mathlib4#670 * leanprover-community/mathlib4#671 * leanprover-community/mathlib4#672 * leanprover-community/mathlib4#686
Regenerated from the [port status wiki page](https://github.com/leanprover-community/mathlib/wiki/mathlib4-port-status). Relates to the following PRs: * `algebra.char_zero.defs`: leanprover-community/mathlib4#661 * `algebra.group.order_synonym`: leanprover-community/mathlib4#651 * `algebra.hierarchy_design`: leanprover-community/mathlib4#657 * `algebra.quotient`: leanprover-community/mathlib4#643 * `algebra.ring.defs`: leanprover-community/mathlib4#655 * `algebra.ring.order_synonym`: leanprover-community/mathlib4#671 * `control.equiv_functor`: leanprover-community/mathlib4#649 * `data.dlist.basic`: leanprover-community/mathlib4#616 * `data.int.cast.basic`: leanprover-community/mathlib4#670 * `data.lazy_list`: leanprover-community/mathlib4#686 * `data.list.lex`: leanprover-community/mathlib4#672 * `data.option.n_ary`: leanprover-community/mathlib4#656 * `data.sigma.lex`: leanprover-community/mathlib4#646 * `group_theory.eckmann_hilton`: leanprover-community/mathlib4#626 * `logic.equiv.basic`: leanprover-community/mathlib4#631 * `order.iterate`: leanprover-community/mathlib4#648
Regenerated from the [port status wiki page](https://github.com/leanprover-community/mathlib/wiki/mathlib4-port-status). Relates to the following PRs: * `algebra.char_zero.defs`: leanprover-community/mathlib4#661 * `algebra.group.inj_surj`: leanprover-community/mathlib4#707 * `algebra.group.order_synonym`: leanprover-community/mathlib4#651 * `algebra.group.units`: leanprover-community/mathlib4#549 * `algebra.hierarchy_design`: leanprover-community/mathlib4#657 * `algebra.quotient`: leanprover-community/mathlib4#643 * `algebra.ring.defs`: leanprover-community/mathlib4#655 * `algebra.ring.order_synonym`: leanprover-community/mathlib4#671 * `control.equiv_functor`: leanprover-community/mathlib4#649 * `data.dlist.basic`: leanprover-community/mathlib4#616 * `data.int.cast.basic`: leanprover-community/mathlib4#670 * `data.lazy_list`: leanprover-community/mathlib4#686 * `data.list.lex`: leanprover-community/mathlib4#672 * `data.option.n_ary`: leanprover-community/mathlib4#656 * `data.sigma.lex`: leanprover-community/mathlib4#646 * `data.ulift`: leanprover-community/mathlib4#703 * `group_theory.eckmann_hilton`: leanprover-community/mathlib4#626 * `logic.equiv.basic`: leanprover-community/mathlib4#631 * `order.iterate`: leanprover-community/mathlib4#648
Regenerated from the [port status wiki page](https://github.com/leanprover-community/mathlib/wiki/mathlib4-port-status). Relates to the following PRs: * `algebra.char_zero.defs`: leanprover-community/mathlib4#661 * `algebra.group.inj_surj`: leanprover-community/mathlib4#707 * `algebra.group.order_synonym`: leanprover-community/mathlib4#651 * `algebra.group.units`: leanprover-community/mathlib4#549 * `algebra.hierarchy_design`: leanprover-community/mathlib4#657 * `algebra.opposites`: leanprover-community/mathlib4#644 * `algebra.quotient`: leanprover-community/mathlib4#643 * `algebra.ring.defs`: leanprover-community/mathlib4#655 * `algebra.ring.order_synonym`: leanprover-community/mathlib4#671 * `control.equiv_functor`: leanprover-community/mathlib4#649 * `data.dlist.basic`: leanprover-community/mathlib4#616 * `data.int.cast.basic`: leanprover-community/mathlib4#670 * `data.lazy_list`: leanprover-community/mathlib4#686 * `data.list.lex`: leanprover-community/mathlib4#672 * `data.option.n_ary`: leanprover-community/mathlib4#656 * `data.sigma.lex`: leanprover-community/mathlib4#646 * `data.ulift`: leanprover-community/mathlib4#703 * `group_theory.eckmann_hilton`: leanprover-community/mathlib4#626 * `logic.equiv.basic`: leanprover-community/mathlib4#631 * `order.iterate`: leanprover-community/mathlib4#648
Had to do very little. Please let me know if there is something I missed.
Starting mathlib commit: c3019c79074b0619edb4b27553a91b2e82242395