simpl; auto.
Qed.
Fixpoint iter {A: Type} (f: A -> A) (n: nat) (x: A) :=
match n with
| O => x
| S n1 => f (iter f n1 x)
end.
(* A bit of ssreflect *)
Coercion b2Prop (x : bool) := x = true.

Lemma minus_minus_le m n: n <= m -> m - (m - n) = n.