src/HOL/Algebra/IntRing.thy
changeset 44821 a92f65e174cf
parent 44655 fe0365331566
child 49962 a8cc904a6820
equal deleted inserted replaced
44797:e0da66339e47 44821:a92f65e174cf
    33   "cring \<Z>"
    33   "cring \<Z>"
    34 apply (rule cringI)
    34 apply (rule cringI)
    35   apply (rule abelian_groupI, simp_all)
    35   apply (rule abelian_groupI, simp_all)
    36   defer 1
    36   defer 1
    37   apply (rule comm_monoidI, simp_all)
    37   apply (rule comm_monoidI, simp_all)
    38  apply (rule zadd_zmult_distrib)
    38  apply (rule left_distrib)
    39 apply (fast intro: zadd_zminus_inverse2)
    39 apply (fast intro: left_minus)
    40 done
    40 done
    41 
    41 
    42 (*
    42 (*
    43 lemma int_is_domain:
    43 lemma int_is_domain:
    44   "domain \<Z>"
    44   "domain \<Z>"
   296 next
   296 next
   297   assume "UNIV = {uu. EX x. uu = x * p}"
   297   assume "UNIV = {uu. EX x. uu = x * p}"
   298   from this obtain x 
   298   from this obtain x 
   299       where "1 = x * p" by best
   299       where "1 = x * p" by best
   300   from this [symmetric]
   300   from this [symmetric]
   301       have "p * x = 1" by (subst zmult_commute)
   301       have "p * x = 1" by (subst mult_commute)
   302   hence "\<bar>p * x\<bar> = 1" by simp
   302   hence "\<bar>p * x\<bar> = 1" by simp
   303   hence "\<bar>p\<bar> = 1" by (rule abs_zmult_eq_1)
   303   hence "\<bar>p\<bar> = 1" by (rule abs_zmult_eq_1)
   304   from this and prime
   304   from this and prime
   305       show "False" by (simp add: prime_def)
   305       show "False" by (simp add: prime_def)
   306 qed
   306 qed