Fixpoint fun_power {A:Type}(n:nat)(f:A->A)(x:A) : A :=
  match n with
  | 0 => x
  | S n' => f (fun_power n' f x)
  end.

(* Specifications: *)
Lemma fun_power_minus_S : forall A (f:A->A) x m n, m < n -> f (fun_power (n - S m) f x) = fun_power (n - m) f x.