proposition: Lemma pow_not_zero: forall p n, pow p n == 0 -> p == 0.
proof: Proof. induction n. - unfold pow; simpl. intros. absurd (1 == 0). + simpl. apply integral_domain_one_zero. + trivial. - setoid_replace (pow p (S n)) with (p * (pow p n)). + intros. case (integral_domain_product p (pow p n) H). * trivial. * trivial. + unfold pow; simpl. clear IHn. induction n; simpl; try cring. rewrite Ring_theory.pow_pos_succ. * cring. * apply ring_setoid. * apply ring_mult_comp. * apply ring_mul_assoc. Qed.
imports: Cring