Module docstring
{"# Monotonicity
This file defines (strictly) monotone/antitone functions. Contrary to standard mathematical usage, \"monotone\"/\"mono\" here means \"increasing\", not \"increasing or decreasing\". We use \"antitone\"/\"anti\" to mean \"decreasing\".
Main theorems
monotone_nat_of_le_succ,monotone_int_of_le_succ: Iff : ℕ → αorf : ℤ → αandf n ≤ f (n + 1)for alln, thenfis monotone.antitone_nat_of_succ_le,antitone_int_of_succ_le: Iff : ℕ → αorf : ℤ → αandf (n + 1) ≤ f nfor alln, thenfis antitone.strictMono_nat_of_lt_succ,strictMono_int_of_lt_succ: Iff : ℕ → αorf : ℤ → αandf n < f (n + 1)for alln, thenfis strictly monotone.strictAnti_nat_of_succ_lt,strictAnti_int_of_succ_lt: Iff : ℕ → αorf : ℤ → αandf (n + 1) < f nfor alln, thenfis strictly antitone.
Implementation notes
Some of these definitions used to only require LE α or LT α. The advantage of this is
unclear and it led to slight elaboration issues. Now, everything requires Preorder α and seems to
work fine. Related Zulip discussion:
https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Order.20diamond/near/254353352.
TODO
The above theorems are also true in ℕ+, Fin n... To make that work, we need SuccOrder α
and IsSuccArchimedean α.
Tags
monotone, strictly monotone, antitone, strictly antitone, increasing, strictly increasing, decreasing, strictly decreasing ","### Monotonicity on the dual order
Strictly, many of the *On.dual lemmas in this section should use ofDual ⁻¹' s instead of s,
but right now this is not possible as Set.preimage is not defined yet, and importing it creates
an import cycle.
Often, you should not need the rewriting lemmas. Instead, you probably want to add .dual,
.dual_left or .dual_right to your Monotone/Antitone hypothesis.
","### Miscellaneous monotonicity results ","### Monotonicity in linear orders ","### Strictly monotone functions and cmp
","### Monotonicity in ℕ and ℤ "}