(* To define exponential over relative number, we simply do 
   a case analysis on the sign of the number *)
 
Definition powerRZ (e : R) (n : BinInt.Z) :=
  match n with
  | BinInt.Z0 => 1%R
  | BinInt.Zpos p => (e ^ BinPos.nat_of_P p)%R
  | BinInt.Zneg p => (/ e ^ BinPos.nat_of_P p)%R
  end.

Theorem powerRZ_add : forall (e : R) (n m : BinInt.Z), e <> 0%R -> powerRZ e (n + m) = (powerRZ e n * powerRZ e m)%R.