(** Well-used function called bpow for computing the power function #&beta;#^e *)

(* Specifications: *)
Theorem Z2R_Zpower_pos :
forall n m,
Z2R (Zpower_pos n m) = powerRZ (Z2R n) (Zpos m).
Theorem bpow_powerRZ :
forall e,
bpow e = powerRZ (Z2R r) e.
Theorem  bpow_ge_0 :
forall e : Z, (0 <= bpow e)%R.
Theorem bpow_gt_0 :
forall e : Z, (0 < bpow e)%R.
Theorem bpow_plus :
forall e1 e2 : Z, (bpow (e1 + e2) = bpow e1 * bpow e2)%R.
Theorem bpow_1 :
bpow 1 = Z2R r.
Theorem bpow_plus1 :
forall e : Z, (bpow (e + 1) = Z2R r * bpow e)%R.
Theorem bpow_opp :
forall e : Z, (bpow (-e) = /bpow e)%R.
Theorem Z2R_Zpower_nat :
forall e : nat,
Z2R (Zpower_nat r e) = bpow (Z_of_nat e).
Theorem Z2R_Zpower :
forall e : Z,
(0 <= e)%Z ->
Z2R (Zpower r e) = bpow e.
Theorem bpow_lt :
forall e1 e2 : Z,
(e1 < e2)%Z -> (bpow e1 < bpow e2)%R.
Theorem lt_bpow :
forall e1 e2 : Z,
(bpow e1 < bpow e2)%R -> (e1 < e2)%Z.
Theorem bpow_le :
forall e1 e2 : Z,
(e1 <= e2)%Z -> (bpow e1 <= bpow e2)%R.
Theorem le_bpow :
forall e1 e2 : Z,
(bpow e1 <= bpow e2)%R -> (e1 <= e2)%Z.
Theorem bpow_inj :
forall e1 e2 : Z,
bpow e1 = bpow e2 -> e1 = e2.
Theorem bpow_exp :
forall e : Z,
bpow e = exp (Z2R e * ln (Z2R r)).
Theorem Z2R_Zpower_pos :
forall n m,
Z2R (Zpower_pos n m) = powerRZ (Z2R n) (Zpos m).
Theorem bpow_powerRZ :
forall e,
bpow e = powerRZ (Z2R r) e.
Theorem  bpow_ge_0 :
forall e : Z, (0 <= bpow e)%R.
Theorem bpow_gt_0 :
forall e : Z, (0 < bpow e)%R.
Theorem bpow_plus :
forall e1 e2 : Z, (bpow (e1 + e2) = bpow e1 * bpow e2)%R.
Theorem bpow_1 :
bpow 1 = Z2R r.
Theorem bpow_plus1 :
forall e : Z, (bpow (e + 1) = Z2R r * bpow e)%R.
Theorem bpow_opp :
forall e : Z, (bpow (-e) = /bpow e)%R.
Theorem Z2R_Zpower_nat :
forall e : nat,
Z2R (Zpower_nat r e) = bpow (Z_of_nat e).
Theorem Z2R_Zpower :
forall e : Z,
(0 <= e)%Z ->
Z2R (Zpower r e) = bpow e.
Theorem bpow_lt :
forall e1 e2 : Z,
(e1 < e2)%Z -> (bpow e1 < bpow e2)%R.
Theorem lt_bpow :
forall e1 e2 : Z,
(bpow e1 < bpow e2)%R -> (e1 < e2)%Z.
Theorem bpow_le :
forall e1 e2 : Z,
(e1 <= e2)%Z -> (bpow e1 <= bpow e2)%R.
Theorem le_bpow :
forall e1 e2 : Z,
(bpow e1 <= bpow e2)%R -> (e1 <= e2)%Z.
Theorem bpow_inj :
forall e1 e2 : Z,
bpow e1 = bpow e2 -> e1 = e2.
Theorem bpow_exp :
forall e : Z,
bpow e = exp (Z2R e * ln (Z2R r)).