X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2Falgebra%2Fsemigroups.ma;h=7d68dbb360f9cdcef6dd4fdf3325cdd32fbc2b62;hb=e78cf74f8976cf0ca554f64baa9979d0423ee927;hp=5b461d1a4f43edba6acc9e4dd448f0eceb157243;hpb=55b82bd235d82ff7f0a40d980effe1efde1f5073;p=helm.git diff --git a/helm/software/matita/library/algebra/semigroups.ma b/helm/software/matita/library/algebra/semigroups.ma index 5b461d1a4..7d68dbb36 100644 --- a/helm/software/matita/library/algebra/semigroups.ma +++ b/helm/software/matita/library/algebra/semigroups.ma @@ -12,42 +12,27 @@ (* *) (**************************************************************************) -set "baseuri" "cic:/matita/algebra/semigroups". - include "higher_order_defs/functions.ma". (* Magmas *) -record Magma : Type ≝ +record Magma : Type≝ { carrier:> Type; op: carrier → carrier → carrier }. -notation < "M" for @{ 'carrier $M }. -interpretation "carrier coercion" 'carrier S = - (cic:/matita/algebra/semigroups/carrier.con S). - -notation "hvbox(a break \middot b)" - left associative with precedence 55 -for @{ 'magma_op $a $b }. - -interpretation "magma operation" 'magma_op a b = - (cic:/matita/algebra/semigroups/op.con _ a b). +interpretation "magma operation" 'middot a b = (op ? a b). (* Semigroups *) -record isSemiGroup (M:Magma) : Prop ≝ - { associative: associative ? (op M) }. +record isSemiGroup (M:Magma) : Prop≝ + { op_associative: associative ? (op M) }. -record SemiGroup : Type ≝ +record SemiGroup : Type≝ { magma:> Magma; semigroup_properties:> isSemiGroup magma }. -notation < "S" for @{ 'magma $S }. -interpretation "magma coercion" 'magma S = - (cic:/matita/algebra/semigroups/magma.con S). - definition is_left_unit ≝ λS:SemiGroup. λe:S. ∀x:S. e·x = x. @@ -59,6 +44,6 @@ theorem is_left_unit_to_is_right_unit_to_eq: is_left_unit ? e → is_right_unit ? e' → e=e'. intros; rewrite < (H e'); - rewrite < (H1 e) in \vdash (? ? % ?); + rewrite < (H1 e) in \vdash (? ? % ?). reflexivity. qed.