(*****************************************************)
(**            Power                                 *)

Definition pow (n m : N.t) := recursion 1 (fun _ r => n*r) m.Local Infix "^^" := pow (at level 30, right associativity).#[global]
Instance pow_wd : Proper (N.eq==>N.eq==>N.eq) pow.

(* Specifications: *)
Lemma pow_0 : forall n, n^^0 == 1.
Lemma pow_succ : forall n m, n^^(S m) == n*(n^^m).