(* Monotone (i.e. strictly increasing) functions for Ord Types *)
Section Mono.
Variables (A B :ordType).
Definition strictly_increasing f x y := @ord A x y -> @ord B (f x) (f y).
Structure mono : Type := Mono
{fun_of: A -> B; _: forall x y, strictly_increasing fun_of x y}.
End Mono.
Arguments strictly_increasing {A B} f x y.
Arguments Mono {A B _} _.
Section NatOrd.

Lemma total_ltn_nat x y : [|| x < y, x == y | y < x].