src/HOL/Algebra/Ring.thy
changeset 68551 b680e74eb6f2
parent 68517 6b5f15387353
child 68552 391e89e03eef
equal deleted inserted replaced
68550:516e81f75957 68551:b680e74eb6f2
   331   assumes "cring R"
   331   assumes "cring R"
   332   shows "comm_monoid R"
   332   shows "comm_monoid R"
   333     and "\<And>x y z. \<lbrakk> x \<in> carrier R; y \<in> carrier R; z \<in> carrier R \<rbrakk> \<Longrightarrow> (x \<oplus> y) \<otimes> z = x \<otimes> z \<oplus> y \<otimes> z"
   333     and "\<And>x y z. \<lbrakk> x \<in> carrier R; y \<in> carrier R; z \<in> carrier R \<rbrakk> \<Longrightarrow> (x \<oplus> y) \<otimes> z = x \<otimes> z \<oplus> y \<otimes> z"
   334   using assms cring_def apply auto by (simp add: assms cring.axioms(1) ringE(3))
   334   using assms cring_def apply auto by (simp add: assms cring.axioms(1) ringE(3))
   335 
   335 
   336 (*
       
   337 lemma (in cring) is_comm_monoid:
       
   338   "comm_monoid R"
       
   339   by (auto intro!: comm_monoidI m_assoc m_comm)
       
   340 *)
       
   341 lemma (in cring) is_cring:
   336 lemma (in cring) is_cring:
   342   "cring R" by (rule cring_axioms)
   337   "cring R" by (rule cring_axioms)
   343 
   338 
   344 lemma (in ring) minus_zero [simp]: "\<ominus> \<zero> = \<zero>"
   339 lemma (in ring) minus_zero [simp]: "\<ominus> \<zero> = \<zero>"
   345   by (simp add: a_inv_def)
   340   by (simp add: a_inv_def)
   649 
   644 
   650 subsection \<open>Fields\<close>
   645 subsection \<open>Fields\<close>
   651 
   646 
   652 text \<open>Field would not need to be derived from domain, the properties
   647 text \<open>Field would not need to be derived from domain, the properties
   653   for domain follow from the assumptions of field\<close>
   648   for domain follow from the assumptions of field\<close>
       
   649 
       
   650 lemma fieldE :
       
   651   fixes R (structure)
       
   652   assumes "field R"
       
   653   shows "cring R"
       
   654     and one_not_zero : "\<one> \<noteq> \<zero>"
       
   655     and integral: "\<And>a b. \<lbrakk> a \<otimes> b = \<zero>; a \<in> carrier R; b \<in> carrier R \<rbrakk> \<Longrightarrow> a = \<zero> \<or> b = \<zero>"
       
   656   and field_Units: "Units R = carrier R - {\<zero>}"
       
   657   using assms unfolding field_def field_axioms_def domain_def domain_axioms_def by simp_all
   654 
   658 
   655 lemma (in cring) cring_fieldI:
   659 lemma (in cring) cring_fieldI:
   656   assumes field_Units: "Units R = carrier R - {\<zero>}"
   660   assumes field_Units: "Units R = carrier R - {\<zero>}"
   657   shows "field R"
   661   shows "field R"
   658 proof
   662 proof