Definition If (T : Set) (b : bool) (t e : T) :=
   (* If T b t e  =  if b then t else e *)
  match b with
  | true => t
  | false => e
  end.

Lemma Zpower_Zpower_nat : forall i : Z, 0 <= i -> 2 ^ i = Zpower_nat 2 (Zabs_nat i).