New structure "partial_object" as common root for lattices and magmas.
authorballarin
Wed, 10 Dec 2003 14:29:05 +0100
changeset 14286 0ae66ffb9784
parent 14285 92ed032e83a1
child 14287 f630017ed01c
New structure "partial_object" as common root for lattices and magmas.
src/HOL/Algebra/CRing.thy
src/HOL/Algebra/Group.thy
--- a/src/HOL/Algebra/CRing.thy	Wed Dec 10 14:27:50 2003 +0100
+++ b/src/HOL/Algebra/CRing.thy	Wed Dec 10 14:29:05 2003 +0100
@@ -90,7 +90,7 @@
   by (unfold comm_semigroup_def semigroup_def)
     (fast intro: comm_monoid.axioms a_comm_monoid)
 
-lemmas monoid_record_simps = semigroup.simps monoid.simps
+lemmas monoid_record_simps = partial_object.simps semigroup.simps monoid.simps
 
 lemma (in abelian_monoid) a_closed [intro, simp]:
   "[| x \<in> carrier G; y \<in> carrier G |] ==> x \<oplus> y \<in> carrier G"
--- a/src/HOL/Algebra/Group.thy	Wed Dec 10 14:27:50 2003 +0100
+++ b/src/HOL/Algebra/Group.thy	Wed Dec 10 14:29:05 2003 +0100
@@ -20,8 +20,12 @@
 
 subsection {* Definitions *}
 
-record 'a semigroup =
+(* Object with a carrier set. *)
+
+record 'a partial_object =
   carrier :: "'a set"
+
+record 'a semigroup = "'a partial_object" +
   mult :: "['a, 'a] => 'a" (infixl "\<otimes>\<index>" 70)
 
 record 'a monoid = "'a semigroup" +