An injective definable function has no interval of strict local minima
ProvedMonotonicity_Theorem.not_uniform_above_aboveLet be an o-minimal structure over a dense linear order without endpoints , let be a definable function of one variable, and let satisfy . Assume is injective on .
Claim. cannot have the above-above germ pattern on ; that is, it is impossible that every point of is a strict local minimum of .
This is one of the two exclusions that turn the four-fold germ classification of an injective definable function into the dichotomy "strictly increasing or strictly decreasing on a subinterval", and it is the substantive content of that step: for an arbitrary injective function on an interval of the real line the hypothesis is not absurd, so the proof must use o-minimality in an essential way.
A natural line of attack is through the running minima. For an interval the sets
are definable, and is strictly decreasing on and strictly increasing on . Under the hypothesis neither can contain an interval, since a point interior to an interval of strict monotonicity is not a strict local minimum; hence both are finite. Producing an infinite definable subset of or of therefore yields the contradiction.
Formalization note. UniformAboveAbove is the predicate of the accompanying definitions: every has a window inside with for every of the domain in .
import Definitions.Def_Monotonicity_Theorem_Extremal_Germs
theorem Monotonicity_Theorem.not_uniform_above_above {R : Type} (D : DenseLinearOrderNoEndpoints R)
(M : OMinimalStructure D) {I B : Set (Power R 1)} (f : DefinableFunction M I B)
(u v : R) (huv : D.lt u v)
(hsub : (openInterval D (Endpoint.finite u) (Endpoint.finite v)).Subset I)
(hinj : forall x (hx : I x), openInterval D (Endpoint.finite u) (Endpoint.finite v) x ->
forall y (hy : I y), openInterval D (Endpoint.finite u) (Endpoint.finite v) y ->
f.toFun (Subtype.mk x hx) = f.toFun (Subtype.mk y hy) -> x = y)
(hU : UniformAboveAbove D f u v) :
False := by sorry