]> matita.cs.unibo.it Git - helm.git/blob - matita/contribs/CoRN-Decl/algebra/CSemiGroups.ma
tagged 0.5.0-rc1
[helm.git] / matita / contribs / CoRN-Decl / algebra / CSemiGroups.ma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 (* This file was automatically generated: do not edit *********************)
16
17 set "baseuri" "cic:/matita/CoRN-Decl/algebra/CSemiGroups".
18
19 include "CoRN.ma".
20
21 (* $Id: CSemiGroups.v,v 1.8 2004/04/22 14:49:43 lcf Exp $ *)
22
23 (*#* printing [+] %\ensuremath+% #+# *)
24
25 (*#* printing {+} %\ensuremath+% #+# *)
26
27 include "algebra/CSetoidInc.ma".
28
29 (* Begin_SpecReals *)
30
31 (*#* *Semigroups
32
33 **Definition of the notion of semigroup
34 *)
35
36 inline "cic:/CoRN/algebra/CSemiGroups/is_CSemiGroup.con".
37
38 inline "cic:/CoRN/algebra/CSemiGroups/CSemiGroup.ind".
39
40 coercion cic:/matita/CoRN-Decl/algebra/CSemiGroups/csg_crr.con 0 (* compounds *).
41
42 (*#*
43 %\begin{nameconvention}%
44 In the %{\em %names%}% of lemmas, we will denote [[+]] with [plus].
45 %\end{nameconvention}%
46 *)
47
48 (* UNEXPORTED
49 Implicit Arguments csg_op [c].
50 *)
51
52 (* NOTATION
53 Infix "[+]" := csg_op (at level 50, left associativity).
54 *)
55
56 (* End_SpecReals *)
57
58 (*#* **Semigroup axioms
59 The axiomatic properties of a semi group.
60
61 %\begin{convention}% Let [G] be a semi-group.
62 %\end{convention}%
63 *)
64
65 (* UNEXPORTED
66 Section CSemiGroup_axioms
67 *)
68
69 alias id "G" = "cic:/CoRN/algebra/CSemiGroups/CSemiGroup_axioms/G.var".
70
71 inline "cic:/CoRN/algebra/CSemiGroups/CSemiGroup_is_CSemiGroup.con".
72
73 inline "cic:/CoRN/algebra/CSemiGroups/plus_assoc.con".
74
75 (* UNEXPORTED
76 End CSemiGroup_axioms
77 *)
78
79 (* Begin_SpecReals *)
80
81 (*#* **Semigroup basics
82
83 %\begin{convention}%
84 Let [G] be a semi-group.
85 %\end{convention}%
86 *)
87
88 (* UNEXPORTED
89 Section CSemiGroup_basics
90 *)
91
92 alias id "G" = "cic:/CoRN/algebra/CSemiGroups/CSemiGroup_basics/G.var".
93
94 (* End_SpecReals *)
95
96 inline "cic:/CoRN/algebra/CSemiGroups/plus_assoc_unfolded.con".
97
98 (* UNEXPORTED
99 End CSemiGroup_basics
100 *)
101
102 (* End_SpecReals *)
103
104 (* UNEXPORTED
105 Hint Resolve plus_assoc_unfolded: algebra.
106 *)
107
108 (*#* **Functional operations
109 We can also define a similar addition operator, which will be denoted by [{+}], on partial functions.
110
111 %\begin{convention}% Whenever possible, we will denote the functional construction corresponding to an algebraic operation by the same symbol enclosed in curly braces.
112 %\end{convention}%
113
114 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.
115
116 %\begin{convention}% Let [G:CSemiGroup] and [F,F':(PartFunct G)] and denote by [P] and [Q], respectively, the predicates characterizing their domains.
117 %\end{convention}%
118 *)
119
120 (* UNEXPORTED
121 Section Part_Function_Plus
122 *)
123
124 alias id "G" = "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/G.var".
125
126 alias id "F" = "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/F.var".
127
128 alias id "F'" = "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/F'.var".
129
130 (* begin hide *)
131
132 inline "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/P.con" "Part_Function_Plus__".
133
134 inline "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/Q.con" "Part_Function_Plus__".
135
136 (* end hide *)
137
138 inline "cic:/CoRN/algebra/CSemiGroups/part_function_plus_strext.con".
139
140 inline "cic:/CoRN/algebra/CSemiGroups/Fplus.con".
141
142 (*#*
143 %\begin{convention}% Let [R:G->CProp].
144 %\end{convention}%
145 *)
146
147 alias id "R" = "cic:/CoRN/algebra/CSemiGroups/Part_Function_Plus/R.var".
148
149 inline "cic:/CoRN/algebra/CSemiGroups/included_FPlus.con".
150
151 inline "cic:/CoRN/algebra/CSemiGroups/included_FPlus'.con".
152
153 inline "cic:/CoRN/algebra/CSemiGroups/included_FPlus''.con".
154
155 (* UNEXPORTED
156 End Part_Function_Plus
157 *)
158
159 (* UNEXPORTED
160 Implicit Arguments Fplus [G].
161 *)
162
163 (* NOTATION
164 Infix "{+}" := Fplus (at level 50, left associativity).
165 *)
166
167 (* UNEXPORTED
168 Hint Resolve included_FPlus : included.
169 *)
170
171 (* UNEXPORTED
172 Hint Immediate included_FPlus' included_FPlus'' : included.
173 *)
174
175 (*#* **Subsemigroups
176 %\begin{convention}%
177 Let [csg] a semi-group and [P] a non-empty
178 predicate on the semi-group which is preserved by [[+]].
179 %\end{convention}%
180 *)
181
182 (* UNEXPORTED
183 Section SubCSemiGroups
184 *)
185
186 alias id "csg" = "cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/csg.var".
187
188 alias id "P" = "cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/P.var".
189
190 alias id "op_pres_P" = "cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/op_pres_P.var".
191
192 inline "cic:/CoRN/algebra/CSemiGroups/SubCSemiGroups/subcrr.con" "SubCSemiGroups__".
193
194 inline "cic:/CoRN/algebra/CSemiGroups/Build_SubCSemiGroup.con".
195
196 (* UNEXPORTED
197 End SubCSemiGroups
198 *)
199