1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 (* This file was automatically generated: do not edit *********************)
19 (* $Id: CSemiGroups.v,v 1.8 2004/04/22 14:49:43 lcf Exp $ *)
21 (*#* printing [+] %\ensuremath+% #+# *)
23 (*#* printing {+} %\ensuremath+% #+# *)
25 include "algebra/CSetoidInc.ma".
31 **Definition of the notion of semigroup
34 inline procedural "cic:/CoRN/algebra/CSemiGroups/is_CSemiGroup.con" as definition.
36 inline procedural "cic:/CoRN/algebra/CSemiGroups/CSemiGroup.ind".
39 cic:/matita/CoRN-Procedural/algebra/CSemiGroups/csg_crr.con
43 %\begin{nameconvention}%
44 In the %{\em %names%}% of lemmas, we will denote [[+]] with [plus].
45 %\end{nameconvention}%
49 Implicit Arguments csg_op [c].
53 Infix "[+]" := csg_op (at level 50, left associativity).
58 (*#* **Semigroup axioms
59 The axiomatic properties of a semi group.
61 %\begin{convention}% Let [G] be a semi-group.
66 Section CSemiGroup_axioms
70 cic:/CoRN/algebra/CSemiGroups/CSemiGroup_axioms/G.var
73 inline procedural "cic:/CoRN/algebra/CSemiGroups/CSemiGroup_is_CSemiGroup.con" as lemma.
75 inline procedural "cic:/CoRN/algebra/CSemiGroups/plus_assoc.con" as lemma.
83 (*#* **Semigroup basics
86 Let [G] be a semi-group.
91 Section CSemiGroup_basics
95 cic:/CoRN/algebra/CSemiGroups/CSemiGroup_basics/G.var
100 inline procedural "cic:/CoRN/algebra/CSemiGroups/plus_assoc_unfolded.con" as lemma.
103 End CSemiGroup_basics
109 Hint Resolve plus_assoc_unfolded: algebra.
112 (*#* **Functional operations
113 We can also define a similar addition operator, which will be denoted by [{+}], on partial functions.
115 %\begin{convention}% Whenever possible, we will denote the functional construction corresponding to an algebraic operation by the same symbol enclosed in curly braces.
118 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.
120 %\begin{convention}% Let [G:CSemiGroup] and [F,F':(PartFunct G)] and denote by [P] and [Q], respectively, the predicates characterizing their domains.
125 Section Part_Function_Plus
129 cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/G.var
133 cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/F.var
137 cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/F'.var
142 inline procedural "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/P.con" "Part_Function_Plus__" as definition.
144 inline procedural "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/Q.con" "Part_Function_Plus__" as definition.
148 inline procedural "cic:/CoRN/algebra/CSemiGroups/part_function_plus_strext.con" as lemma.
150 inline procedural "cic:/CoRN/algebra/CSemiGroups/Fplus.con" as definition.
153 %\begin{convention}% Let [R:G->CProp].
158 cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/R.var
161 inline procedural "cic:/CoRN/algebra/CSemiGroups/included_FPlus.con" as lemma.
163 inline procedural "cic:/CoRN/algebra/CSemiGroups/included_FPlus'.con" as lemma.
165 inline procedural "cic:/CoRN/algebra/CSemiGroups/included_FPlus''.con" as lemma.
168 End Part_Function_Plus
172 Implicit Arguments Fplus [G].
176 Infix "{+}" := Fplus (at level 50, left associativity).
180 Hint Resolve included_FPlus : included.
184 Hint Immediate included_FPlus' included_FPlus'' : included.
189 Let [csg] a semi-group and [P] a non-empty
190 predicate on the semi-group which is preserved by [[+]].
195 Section SubCSemiGroups
199 cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/csg.var
203 cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/P.var
207 cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/op_pres_P.var
210 inline procedural "cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/subcrr.con" "SubCSemiGroups__" as definition.
212 inline procedural "cic:/CoRN/algebra/CSemiGroups/Build_SubCSemiGroup.con" as definition.