equal
deleted
inserted
replaced
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 |