[Merged by Bors] - feat: port Algebra.Order.Monoid.OrderDual#786
[Merged by Bors] - feat: port Algebra.Order.Monoid.OrderDual#786zeramorphic wants to merge 6 commits intomasterfrom
Conversation
Signed-off-by: thirdsgames <thirdsgames2018@gmail.com>
Signed-off-by: thirdsgames <thirdsgames2018@gmail.com>
This is probably leanprover/lean4#1892, see Zulip yesterday for the same in |
| namespace OrderDual | ||
|
|
||
| @[to_additive] | ||
| instance contravariant_class_mul_le [LE α] [Mul α] [c : ContravariantClass α α (· * ·) (· ≤ ·)] : |
There was a problem hiding this comment.
| instance contravariant_class_mul_le [LE α] [Mul α] [c : ContravariantClass α α (· * ·) (· ≤ ·)] : | |
| instance contravariant_class_mul_le [LE α] [Mul α] [c : ContravariantClass α α (· * ·) (· ≤ ·)] : |
This should be called contravariantClass_mul_le. Could you rename?
You'll also need to add #align statements for the additive versions. (Hopefully this can be automated, see leanprover-community/mathport#205.)
|
Thanks, @zeramorphic! It's very helpful if you can put comments in the source file starting with |
Signed-off-by: thirdsgames <thirdsgames2018@gmail.com>
…eanprover-community/mathlib4 into Algebra.Order.Monoid.OrderDual
|
Thank you for your comments, I think I've fixed all the problems you outlined. |
|
🎉 bors merge |
mathlib3 SHA: 1fc36cc9c8264e6e81253f88be7fb2cb6c92d76a Notes: 1. On line 80, the elaborator tries to synthesise `OrderedCancelCommMonoid αᵒᵈ` and fails, instead of using `OrderedCancelCommMonoid α` as is intended - so I needed to write out the instance explicitly. 2. A couple of `@[to_additive]`s needed to be added. Signed-off-by: thirdsgames <thirdsgames2018@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
|
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: * `algebra.field.defs`: leanprover-community/mathlib4#668 * `algebra.group.commute`: leanprover-community/mathlib4#750 * `algebra.group_with_zero.commute`: leanprover-community/mathlib4#762 * `algebra.group_with_zero.semiconj`: leanprover-community/mathlib4#757 * `algebra.group_with_zero.units.basic`: leanprover-community/mathlib4#735 * `algebra.hom.embedding`: leanprover-community/mathlib4#764 * `algebra.order.monoid.cancel.defs`: leanprover-community/mathlib4#774 * `algebra.order.monoid.canonical.defs`: leanprover-community/mathlib4#778 * `algebra.order.monoid.defs`: leanprover-community/mathlib4#771 * `algebra.order.monoid.min_max`: leanprover-community/mathlib4#763 * `algebra.order.monoid.order_dual`: leanprover-community/mathlib4#786 * `algebra.order.sub.defs`: leanprover-community/mathlib4#732 * `algebra.regular.basic`: leanprover-community/mathlib4#758 * `algebra.ring.commute`: leanprover-community/mathlib4#759 * `algebra.ring.regular`: leanprover-community/mathlib4#795 * `algebra.ring.semiconj`: leanprover-community/mathlib4#751 * `control.applicative`: leanprover-community/mathlib4#798 * `control.functor`: leanprover-community/mathlib4#612 * `control.monad.basic`: leanprover-community/mathlib4#752 * `data.countable.defs`: leanprover-community/mathlib4#736 * `data.int.units`: leanprover-community/mathlib4#807 * `data.nat.basic`: leanprover-community/mathlib4#729 * `data.nat.psub`: leanprover-community/mathlib4#806 * `data.nat.units`: leanprover-community/mathlib4#805 * `data.pi.algebra`: leanprover-community/mathlib4#564 * `data.prod.lex`: leanprover-community/mathlib4#783 * `logic.embedding.basic`: leanprover-community/mathlib4#700 * `logic.equiv.option`: leanprover-community/mathlib4#674 * `order.bounded_order`: leanprover-community/mathlib4#697 * `order.with_bot`: leanprover-community/mathlib4#776 * `order.disjoint`: leanprover-community/mathlib4#773 * `order.min_max`: leanprover-community/mathlib4#728 * `order.prop_instances`: leanprover-community/mathlib4#792 * `order.rel_iso.basic`: leanprover-community/mathlib4#772
mathlib3 SHA: 1fc36cc9c8264e6e81253f88be7fb2cb6c92d76a
Notes:
On line 80, the elaborator tries to synthesise
OrderedCancelCommMonoid αᵒᵈand fails, instead of usingOrderedCancelCommMonoid αas is intended - so I needed to write out the instance explicitly.A couple of
@[to_additive]s needed to be added.Signed-off-by: thirdsgames thirdsgames2018@gmail.com