(* 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 irr_ltn_nat : irreflexive ltn. Proof. by move=>x; rewrite /= ltnn. Qed.