move lemma div_power into semiring_div context; class ring_div inherits from idom
authorhuffman
Mon, 15 Jun 2009 17:59:36 -0700
changeset 31661 1e252b8b2334
parent 31660 84912dff2d74
child 31662 57f7ef0dba8e
move lemma div_power into semiring_div context; class ring_div inherits from idom
src/HOL/Divides.thy
--- a/src/HOL/Divides.thy	Sat Jun 13 17:31:56 2009 -0700
+++ b/src/HOL/Divides.thy	Mon Jun 15 17:59:36 2009 -0700
@@ -331,17 +331,16 @@
   "(a * c) mod (b * c) = (a mod b) * c"
   using mod_mult_mult1 [of c a b] by (simp add: mult_commute)
 
-end
-
 lemma div_power:
-  "(y::'a::{semiring_div,no_zero_divisors,power}) dvd x \<Longrightarrow>
-    (x div y) ^ n = x ^ n div y ^ n"
+  "y dvd x \<Longrightarrow> (x div y) ^ n = x ^ n div y ^ n"
 apply (induct n)
  apply simp
 apply(simp add: div_mult_div_if_dvd dvd_power_same)
 done
 
-class ring_div = semiring_div + comm_ring_1
+end
+
+class ring_div = semiring_div + idom
 begin
 
 text {* Negation respects modular equivalence. *}