X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2Falgebra%2Fmonoids.ma;h=fe35eeb6709fea8092269d6035f470f6136c9523;hb=070b11daefc90ecc20ebee73acc550aeac1c627b;hp=c3f3cc48e8841b8139a915399030355744755038;hpb=55b82bd235d82ff7f0a40d980effe1efde1f5073;p=helm.git diff --git a/helm/software/matita/library/algebra/monoids.ma b/helm/software/matita/library/algebra/monoids.ma index c3f3cc48e..fe35eeb67 100644 --- a/helm/software/matita/library/algebra/monoids.ma +++ b/helm/software/matita/library/algebra/monoids.ma @@ -12,8 +12,6 @@ (* *) (**************************************************************************) -set "baseuri" "cic:/matita/algebra/monoids/". - include "algebra/semigroups.ma". record PreMonoid : Type ≝ @@ -21,12 +19,8 @@ record PreMonoid : Type ≝ e: magma }. -notation < "M" for @{ 'pmmagma $M }. -interpretation "premonoid magma coercion" 'pmmagma M = - (cic:/matita/algebra/monoids/magma.con M). - record isMonoid (M:PreMonoid) : Prop ≝ - { is_semi_group: isSemiGroup M; + { is_semi_group:> isSemiGroup M; e_is_left_unit: is_left_unit (mk_SemiGroup ? is_semi_group) (e M); e_is_right_unit: @@ -38,33 +32,17 @@ record Monoid : Type ≝ monoid_properties:> isMonoid premonoid }. -notation < "M" for @{ 'semigroup $M }. -interpretation "premonoid coercion" 'premonoid M = - (cic:/matita/algebra/monoids/premonoid.con M). - -notation < "M" for @{ 'typeofmonoid $M }. -interpretation "premonoid coercion" 'typeofmonoid M = - (cic:/matita/algebra/monoids/Type_of_Monoid.con M). - -notation < "M" for @{ 'magmaofmonoid $M }. -interpretation "premonoid coercion" 'magmaofmonoid M = - (cic:/matita/algebra/monoids/Magma_of_Monoid.con M). - -notation "1" with precedence 89 -for @{ 'munit }. - -interpretation "Monoid unit" 'munit = - (cic:/matita/algebra/monoids/e.con _). +interpretation "Monoid unit" 'neutral = (e _). definition is_left_inverse ≝ λM:Monoid. λopp: M → M. - ∀x:M. (opp x)·x = 1. + ∀x:M. (opp x)·x = ⅇ. definition is_right_inverse ≝ λM:Monoid. λopp: M → M. - ∀x:M. x·(opp x) = 1. + ∀x:M. x·(opp x) = ⅇ. theorem is_left_inverse_to_is_right_inverse_to_eq: ∀M:Monoid. ∀l,r. @@ -75,7 +53,7 @@ theorem is_left_inverse_to_is_right_inverse_to_eq: generalize in match (eq_f ? ? (λy.y·(r x)) ? ? H2); simplify; fold simplify (op M); intro; clear H2; - generalize in match (associative ? (is_semi_group ? (monoid_properties M))); + generalize in match (op_associative ? (is_semi_group ? (monoid_properties M))); intro; rewrite > H2 in H3; clear H2; rewrite > H1 in H3;