Mathlib v3 is deprecated. Go to Mathlib v4

Commit 2022-05-28 15:49 249f1072

View on Github →

feat(algebra/order/monoid_lemmas): remove duplicates, add missing lemmas, fix inconsistencies (#13494) Changes in the order: mul_lt_mul''' has asymmetric typeclass assumptions. So I did the following 3 changes. Rename mul_lt_mul''' to left.mul_lt_mul Make an alias mul_lt_mul''' of mul_lt_mul_of_lt_of_lt Add right.mul_lt_mul Move le_mul_of_one_le_left' and mul_le_of_le_one_left' together with similar lemmas. Move lt_mul_of_one_lt_left' together with similar lemmas. Add mul_lt_of_lt_one_right' and mul_lt_of_lt_one_left'. These are analogs of other lemmas. Following are changes of lemmas of the form b ≤ c → a ≤ 1 → b * a ≤ c, b ≤ c → 1 ≤ a → b ≤ c * a, a ≤ 1 → b ≤ c → a * b ≤ c and 1 ≤ a → b ≤ c → b ≤ a * c. With the following changes, these 4 sections will be very similar. For b ≤ c → a ≤ 1 → b * a ≤ c: Remove alias mul_le_of_le_of_le_one ← mul_le_one'. This naming is not consistent with left.mul_lt_one. Add mul_lt_of_lt_of_lt_one'. Add left.mul_le_one. Add left.mul_lt_one_of_le_of_lt. Add left.mul_lt_one_of_lt_of_le. Add left.mul_lt_one'. For b ≤ c → 1 ≤ a → b ≤ c * a: Rename le_mul_of_le_of_le_one to le_mul_of_le_of_one_le. Remove lt_mul_of_lt_of_one_le'. It's exactly the same as lt_mul_of_lt_of_one_le. Rename one_le_mul_right to left.one_le_mul. Rename one_le_mul to left.one_le_mul. Rename one_lt_mul_of_lt_of_le' to left.one_lt_mul_of_lt_of_le'. Add left.one_lt_mul. Rename one_lt_mul' to left.one_lt_mul'. For a ≤ 1 → b ≤ c → a * b ≤ c: Add mul_lt_of_lt_one_of_lt'. Add right.mul_le_one. Add right.mul_lt_one_of_lt_of_le. Add right.mul_lt_one'. For 1 ≤ a → b ≤ c → b ≤ a * c: Rename lt_mul_of_one_lt_of_lt to lt_mul_of_one_lt_of_lt'. Add lt_mul_of_one_lt_of_lt. Add right.one_lt_mul_of_lt_of_le. Rename one_lt_mul_of_le_of_lt' to right.one_lt_mul_of_le_of_lt. Add right.one_lt_mul'. Then create aliases for all left lemmas in these 4 sections. Rename mul_eq_mul_iff_eq_and_eq to left.mul_eq_mul_iff_eq_and_eq. Add right.mul_eq_mul_iff_eq_and_eq. Make an alias mul_eq_mul_iff_eq_and_eq of left.mul_eq_mul_iff_eq_and_eq. Same for additive version. However, the implicit parameter inconsistency has not been resolved. It affects too many files.

Estimated changes

deleted theorem le_mul_of_le_of_le_one
modified theorem le_mul_of_one_le_right'
added theorem left.mul_le_one
added theorem left.mul_lt_mul
added theorem left.mul_lt_one'
added theorem left.one_le_mul
added theorem left.one_lt_mul'
added theorem left.one_lt_mul
deleted theorem lt_mul_of_lt_of_one_le'
modified theorem lt_mul_of_one_lt_of_lt
modified theorem lt_mul_of_one_lt_right'
deleted theorem mul_eq_mul_iff_eq_and_eq
modified theorem mul_le_of_le_one_right'
deleted theorem mul_lt_mul'''
added theorem mul_lt_of_lt_one_left'
deleted theorem one_le_mul
deleted theorem one_le_mul_right
deleted theorem one_lt_mul'
deleted theorem one_lt_mul_of_le_of_lt'
deleted theorem one_lt_mul_of_lt_of_le'
added theorem right.mul_le_one
added theorem right.mul_lt_mul
added theorem right.mul_lt_one'
added theorem right.one_lt_mul'