proposition: Lemma range1z_floor m x : range1 m x <-> floor x == m.
proof: Proof. gen have IHm: m / floor x == m -> range1 m x. by move <-; apply: range1_floor. split=> [int_m_x|/IHm//]; have [m1 Dm1] := int_floor x. by rewrite -(range1z_inj (IHm m1 Dm1) int_m_x). Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat div order) mathcomp(ssralg ssrnum ssrint rat intdiv) Coq(Morphisms Setoid) fourcolor(real realsyntax)