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 div2_prop n: n + div2 (n * (n - 1)) = div2 (n.+1 * n).