rewrite two_power_nat_correct. rewrite IHi. replace (Z_of_nat (S i)) with (1 + Z_of_nat i).
rewrite Zpower_exp. replace (2 ^ 1) with 2. trivial. trivial. omega. omega. rewrite inj_S.
omega. Qed.

Lemma lt_0_Zpow : forall x : Z, 0 <= x -> 0 < 2 ^ x.
intros x H. rewrite Zpower_Zpower_nat. apply Zlt_0_power_nat. assumption. Qed.