]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/contribs/CoRN-Decl/algebra/CSemiGroups.ma
branch for universe
[helm.git] / matita / contribs / CoRN-Decl / algebra / CSemiGroups.ma
diff --git a/matita/contribs/CoRN-Decl/algebra/CSemiGroups.ma b/matita/contribs/CoRN-Decl/algebra/CSemiGroups.ma
new file mode 100644 (file)
index 0000000..e107fad
--- /dev/null
@@ -0,0 +1,199 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was automatically generated: do not edit *********************)
+
+set "baseuri" "cic:/matita/CoRN-Decl/algebra/CSemiGroups".
+
+include "CoRN.ma".
+
+(* $Id: CSemiGroups.v,v 1.8 2004/04/22 14:49:43 lcf Exp $ *)
+
+(*#* printing [+] %\ensuremath+% #+# *)
+
+(*#* printing {+} %\ensuremath+% #+# *)
+
+include "algebra/CSetoidInc.ma".
+
+(* Begin_SpecReals *)
+
+(*#* *Semigroups
+
+**Definition of the notion of semigroup
+*)
+
+inline "cic:/CoRN/algebra/CSemiGroups/is_CSemiGroup.con".
+
+inline "cic:/CoRN/algebra/CSemiGroups/CSemiGroup.ind".
+
+coercion cic:/matita/CoRN-Decl/algebra/CSemiGroups/csg_crr.con 0 (* compounds *).
+
+(*#*
+%\begin{nameconvention}%
+In the %{\em %names%}% of lemmas, we will denote [[+]] with [plus].
+%\end{nameconvention}%
+*)
+
+(* UNEXPORTED
+Implicit Arguments csg_op [c].
+*)
+
+(* NOTATION
+Infix "[+]" := csg_op (at level 50, left associativity).
+*)
+
+(* End_SpecReals *)
+
+(*#* **Semigroup axioms
+The axiomatic properties of a semi group.
+
+%\begin{convention}% Let [G] be a semi-group.
+%\end{convention}%
+*)
+
+(* UNEXPORTED
+Section CSemiGroup_axioms
+*)
+
+alias id "G" = "cic:/CoRN/algebra/CSemiGroups/CSemiGroup_axioms/G.var".
+
+inline "cic:/CoRN/algebra/CSemiGroups/CSemiGroup_is_CSemiGroup.con".
+
+inline "cic:/CoRN/algebra/CSemiGroups/plus_assoc.con".
+
+(* UNEXPORTED
+End CSemiGroup_axioms
+*)
+
+(* Begin_SpecReals *)
+
+(*#* **Semigroup basics
+
+%\begin{convention}%
+Let [G] be a semi-group.
+%\end{convention}%
+*)
+
+(* UNEXPORTED
+Section CSemiGroup_basics
+*)
+
+alias id "G" = "cic:/CoRN/algebra/CSemiGroups/CSemiGroup_basics/G.var".
+
+(* End_SpecReals *)
+
+inline "cic:/CoRN/algebra/CSemiGroups/plus_assoc_unfolded.con".
+
+(* UNEXPORTED
+End CSemiGroup_basics
+*)
+
+(* End_SpecReals *)
+
+(* UNEXPORTED
+Hint Resolve plus_assoc_unfolded: algebra.
+*)
+
+(*#* **Functional operations
+We can also define a similar addition operator, which will be denoted by [{+}], on partial functions.
+
+%\begin{convention}% Whenever possible, we will denote the functional construction corresponding to an algebraic operation by the same symbol enclosed in curly braces.
+%\end{convention}%
+
+At this stage, we will always consider automorphisms; we %{\em %could%}% treat this in a more general setting, but we feel that it wouldn't really be a useful effort.
+
+%\begin{convention}% Let [G:CSemiGroup] and [F,F':(PartFunct G)] and denote by [P] and [Q], respectively, the predicates characterizing their domains.
+%\end{convention}%
+*)
+
+(* UNEXPORTED
+Section Part_Function_Plus
+*)
+
+alias id "G" = "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/G.var".
+
+alias id "F" = "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/F.var".
+
+alias id "F'" = "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/F'.var".
+
+(* begin hide *)
+
+inline "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/P.con" "Part_Function_Plus__".
+
+inline "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/Q.con" "Part_Function_Plus__".
+
+(* end hide *)
+
+inline "cic:/CoRN/algebra/CSemiGroups/part_function_plus_strext.con".
+
+inline "cic:/CoRN/algebra/CSemiGroups/Fplus.con".
+
+(*#*
+%\begin{convention}% Let [R:G->CProp].
+%\end{convention}%
+*)
+
+alias id "R" = "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/R.var".
+
+inline "cic:/CoRN/algebra/CSemiGroups/included_FPlus.con".
+
+inline "cic:/CoRN/algebra/CSemiGroups/included_FPlus'.con".
+
+inline "cic:/CoRN/algebra/CSemiGroups/included_FPlus''.con".
+
+(* UNEXPORTED
+End Part_Function_Plus
+*)
+
+(* UNEXPORTED
+Implicit Arguments Fplus [G].
+*)
+
+(* NOTATION
+Infix "{+}" := Fplus (at level 50, left associativity).
+*)
+
+(* UNEXPORTED
+Hint Resolve included_FPlus : included.
+*)
+
+(* UNEXPORTED
+Hint Immediate included_FPlus' included_FPlus'' : included.
+*)
+
+(*#* **Subsemigroups
+%\begin{convention}%
+Let [csg] a semi-group and [P] a non-empty
+predicate on the semi-group which is preserved by [[+]].
+%\end{convention}%
+*)
+
+(* UNEXPORTED
+Section SubCSemiGroups
+*)
+
+alias id "csg" = "cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/csg.var".
+
+alias id "P" = "cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/P.var".
+
+alias id "op_pres_P" = "cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/op_pres_P.var".
+
+inline "cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/subcrr.con" "SubCSemiGroups__".
+
+inline "cic:/CoRN/algebra/CSemiGroups/Build_SubCSemiGroup.con".
+
+(* UNEXPORTED
+End SubCSemiGroups
+*)
+