]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/library/algebra/monoids.ma
Improved tests (for left parameters and mutual recursive definitions).
[helm.git] / helm / software / matita / library / algebra / monoids.ma
index c3f3cc48e8841b8139a915399030355744755038..fe35eeb6709fea8092269d6035f470f6136c9523 100644 (file)
@@ -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;