X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Flibrary%2Falgebra%2Fsemigroups.ma;fp=helm%2Fmatita%2Flibrary%2Falgebra%2Fsemigroups.ma;h=64c2d13c9670f4e66a94448fb414895a1dfaeb34;hb=1561ac998b6823c9e763617fcb9cf3c063bb5e3b;hp=93a139ca760e5113f6b87d00a8f09d5552861e48;hpb=ff81867363f855a3ad5bba6f6bb636f20bf8a969;p=helm.git diff --git a/helm/matita/library/algebra/semigroups.ma b/helm/matita/library/algebra/semigroups.ma index 93a139ca7..64c2d13c9 100644 --- a/helm/matita/library/algebra/semigroups.ma +++ b/helm/matita/library/algebra/semigroups.ma @@ -22,32 +22,37 @@ definition isSemiGroup ≝ record SemiGroup : Type ≝ { carrier: Type; op: carrier → carrier → carrier; - properties: isSemiGroup carrier op + semigroup_properties: isSemiGroup carrier op }. coercion cic:/matita/algebra/semigroups/carrier.con. -notation "hvbox(a break * \sub S b)" +notation "hvbox(a break \middot \sub S b)" left associative with precedence 55 for @{ 'ptimes $S $a $b }. -interpretation "Semigroup operation" 'times a b = +notation "hvbox(a break \middot b)" + left associative with precedence 55 +for @{ 'ptimesi $a $b }. + +interpretation "Semigroup operation" 'ptimesi a b = (cic:/matita/algebra/semigroups/op.con _ a b). +(* too ugly interpretation "Semigroup operation" 'ptimes S a b = - (cic:/matita/algebra/semigroups/op.con S a b). + (cic:/matita/algebra/semigroups/op.con S a b). *) definition is_left_unit ≝ - λS:SemiGroup. λe:S. ∀x:S. e * x = x. + λS:SemiGroup. λe:S. ∀x:S. e·x = x. definition is_right_unit ≝ - λS:SemiGroup. λe:S. ∀x:S. x * e = x. + λS:SemiGroup. λe:S. ∀x:S. x·e = x. theorem is_left_unit_to_is_right_unit_to_eq: - ∀S:SemiGroup. ∀e1,e2:S. - is_left_unit ? e1 → is_right_unit ? e2 → e1=e2. + ∀S:SemiGroup. ∀e,e':S. + is_left_unit ? e → is_right_unit ? e' → e=e'. intros; - rewrite < (H e2); - rewrite < (H1 e1) in \vdash (? ? % ?); + rewrite < (H e'); + rewrite < (H1 e) in \vdash (? ? % ?); reflexivity. -qed. \ No newline at end of file +qed.