Commit 2020-08-15 20:41 d40c06f0
View on Github →feat(algebra/ordered_field): rewrite and cleanup (#3751)
Group similar lemmas in a more intuitive way
Add docstrings, module doc and section headers
Simplify some proofs
Remove some implications if they had a corresponding iff lemma.
Add some more variants of some lemmas
Rename some lemmas for consistency
List of name changes (the lemma on the right might be a bi-implication, if the original version was an implication):
add_midpoint -> add_sub_div_two_lt
le_div_of_mul_le, mul_le_of_le_div -> le_div_iff
lt_div_of_mul_lt, mul_lt_of_lt_div -> lt_div_iff
div_le_of_le_mul -> div_le_iff'
le_mul_of_div_le -> div_le_iff
div_lt_of_pos_of_lt_mul -> div_lt_iff'
mul_le_of_neg_of_div_le, div_le_of_neg_of_mul_le -> div_le_iff_of_neg
mul_lt_of_neg_of_div_lt, div_lt_of_neg_of_mul_lt -> div_lt_iff_of_neg
div_le_div_of_pos_of_le -> div_le_div_of_le
div_le_div_of_neg_of_le -> div_le_div_of_nonpos_of_le
div_lt_div_of_pos_of_lt -> div_lt_div_of_lt
div_mul_le_div_mul_of_div_le_div_nonneg -> div_mul_le_div_mul_of_div_le_div
one_le_div_of_le, le_of_one_le_div, one_le_div_iff_le -> one_le_div
one_lt_div_of_lt, lt_of_one_lt_div, one_lt_div_iff_lt -> one_lt_div
div_le_one_iff_le -> div_le_one
div_lt_one_iff_lt -> div_lt_one
one_div_le_of_pos_of_one_div_le -> one_div_le
one_div_le_of_neg_of_one_div_le -> one_div_le_of_neg
div_lt_div_of_pos_of_lt_of_pos -> div_lt_div_of_lt_left
One regression I noticed in some other files: when using div_le_iff, and the argument is proven by some lemma about linear_ordered_semiring then Lean gives a type mismatch. Presumably this happens because the instance chain ordered_field -> has_le doesn't go via ordered_semiring. The fix is to give the type explicitly, for example using div_le_iff (t : (0 : ℝ) < _)