proposition: Lemma mono_mem_image_segment a b f : monotonous `[a, b] f -> {homo f : x / x \in `[a, b] >-> x \in f @`[a, b]}.
proof: Proof. move=> [fle|fge] x xab; have leab : a <= b by rewrite (itvP xab). have: f a <= f b by rewrite fle ?bound_itvE. by case: leP => // fafb _; rewrite in_itv/= !fle ?(itvP xab). have: f a >= f b by rewrite fge ?bound_itvE. by case: leP => // fafb _; rewrite in_itv/= !fge ?(itvP xab). Qed.
imports: HB(structures) mathcomp(all_ssreflect ssralg ssrint ssrnum finmap matrix) mathcomp(rat interval zmodp vector fieldext falgebra) mathcomp(mathcomp_extra boolp classical_sets functions) mathcomp(cardinality set_interval Rstruct) ereal reals signed topology prodnormedzmodule