]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/procedural/CoRN/algebra/CGroups.mma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / procedural / CoRN / algebra / CGroups.mma
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 include "CoRN.ma".
18
19 (* $Id: CGroups.v,v 1.9 2004/04/23 10:00:52 lcf Exp $ *)
20
21 (*#* printing [-] %\ensuremath-% #−# *)
22
23 (*#* printing [--] %\ensuremath-% #−# *)
24
25 (*#* printing {-} %\ensuremath-% #−# *)
26
27 (*#* printing {--} %\ensuremath-% #−# *)
28
29 include "algebra/CMonoids.ma".
30
31 (* Begin_SpecReals *)
32
33 (*#*
34 * Groups
35 ** Definition of the notion of Group
36 *)
37
38 inline procedural "cic:/CoRN/algebra/CGroups/is_inverse.con" as definition.
39
40 (* UNEXPORTED
41 Implicit Arguments is_inverse [S].
42 *)
43
44 inline procedural "cic:/CoRN/algebra/CGroups/is_CGroup.con" as definition.
45
46 inline procedural "cic:/CoRN/algebra/CGroups/CGroup.ind".
47
48 (* COERCION
49 cic:/matita/CoRN-Procedural/algebra/CGroups/cg_crr.con
50 *)
51
52 (* End_SpecReals *)
53
54 (* Begin_SpecReals *)
55
56 (* UNEXPORTED
57 Implicit Arguments cg_inv [c].
58 *)
59
60 (* NOTATION
61 Notation "[--] x" := (cg_inv x) (at level 2, right associativity).
62 *)
63
64 inline procedural "cic:/CoRN/algebra/CGroups/cg_minus.con" as definition.
65
66 (*#*
67 %\begin{nameconvention}%
68 In the names of lemmas, we will denote [[--] ] with [inv],
69 and [ [-] ] with [minus].
70 %\end{nameconvention}%
71 *)
72
73 (* UNEXPORTED
74 Implicit Arguments cg_minus [G].
75 *)
76
77 (* NOTATION
78 Infix "[-]" := cg_minus (at level 50, left associativity).
79 *)
80
81 (* End_SpecReals *)
82
83 (*#*
84 ** Group axioms
85 %\begin{convention}% Let [G] be a group.
86 %\end{convention}%
87 *)
88
89 (* UNEXPORTED
90 Section CGroup_axioms
91 *)
92
93 (* UNEXPORTED
94 cic:/CoRN/algebra/CGroups/CGroup_axioms/G.var
95 *)
96
97 inline procedural "cic:/CoRN/algebra/CGroups/cg_inverse.con" as lemma.
98
99 (* UNEXPORTED
100 End CGroup_axioms
101 *)
102
103 (*#*
104 ** Group basics
105 General properties of groups.
106 %\begin{convention}% Let [G] be a group.
107 %\end{convention}%
108 *)
109
110 (* UNEXPORTED
111 Section CGroup_basics
112 *)
113
114 (* UNEXPORTED
115 cic:/CoRN/algebra/CGroups/CGroup_basics/G.var
116 *)
117
118 inline procedural "cic:/CoRN/algebra/CGroups/cg_rht_inv_unfolded.con" as lemma.
119
120 inline procedural "cic:/CoRN/algebra/CGroups/cg_lft_inv_unfolded.con" as lemma.
121
122 inline procedural "cic:/CoRN/algebra/CGroups/cg_minus_correct.con" as lemma.
123
124 (* UNEXPORTED
125 Hint Resolve cg_rht_inv_unfolded cg_lft_inv_unfolded cg_minus_correct:
126   algebra.
127 *)
128
129 inline procedural "cic:/CoRN/algebra/CGroups/cg_inverse'.con" as lemma.
130
131 (* Hints for Auto *)
132
133 inline procedural "cic:/CoRN/algebra/CGroups/cg_minus_unfolded.con" as lemma.
134
135 (* UNEXPORTED
136 Hint Resolve cg_minus_unfolded: algebra.
137 *)
138
139 inline procedural "cic:/CoRN/algebra/CGroups/cg_minus_wd.con" as lemma.
140
141 (* UNEXPORTED
142 Hint Resolve cg_minus_wd: algebra_c.
143 *)
144
145 inline procedural "cic:/CoRN/algebra/CGroups/cg_minus_strext.con" as lemma.
146
147 inline procedural "cic:/CoRN/algebra/CGroups/cg_minus_is_csetoid_bin_op.con" as definition.
148
149 inline procedural "cic:/CoRN/algebra/CGroups/grp_inv_assoc.con" as lemma.
150
151 (* UNEXPORTED
152 Hint Resolve grp_inv_assoc: algebra.
153 *)
154
155 inline procedural "cic:/CoRN/algebra/CGroups/cg_inv_unique.con" as lemma.
156
157 inline procedural "cic:/CoRN/algebra/CGroups/cg_inv_inv.con" as lemma.
158
159 (* UNEXPORTED
160 Hint Resolve cg_inv_inv: algebra.
161 *)
162
163 inline procedural "cic:/CoRN/algebra/CGroups/cg_cancel_lft.con" as lemma.
164
165 inline procedural "cic:/CoRN/algebra/CGroups/cg_cancel_rht.con" as lemma.
166
167 inline procedural "cic:/CoRN/algebra/CGroups/cg_inv_unique'.con" as lemma.
168
169 inline procedural "cic:/CoRN/algebra/CGroups/cg_inv_unique_2.con" as lemma.
170
171 inline procedural "cic:/CoRN/algebra/CGroups/cg_zero_inv.con" as lemma.
172
173 (* UNEXPORTED
174 Hint Resolve cg_zero_inv: algebra.
175 *)
176
177 inline procedural "cic:/CoRN/algebra/CGroups/cg_inv_zero.con" as lemma.
178
179 inline procedural "cic:/CoRN/algebra/CGroups/cg_inv_op.con" as lemma.
180
181 (*#*
182 Useful for interactive proof development.
183 *)
184
185 inline procedural "cic:/CoRN/algebra/CGroups/x_minus_x.con" as lemma.
186
187 (*#*
188 ** Sub-groups
189 %\begin{convention}% Let [P] be a predicate on [G] containing
190 [Zero] and closed under [[+]] and [[--] ].
191 %\end{convention}%
192 *)
193
194 (* UNEXPORTED
195 Section SubCGroups
196 *)
197
198 (* UNEXPORTED
199 cic:/CoRN/algebra/CGroups/CGroup_basics/SubCGroups/P.var
200 *)
201
202 (* UNEXPORTED
203 cic:/CoRN/algebra/CGroups/CGroup_basics/SubCGroups/Punit.var
204 *)
205
206 (* UNEXPORTED
207 cic:/CoRN/algebra/CGroups/CGroup_basics/SubCGroups/op_pres_P.var
208 *)
209
210 (* UNEXPORTED
211 cic:/CoRN/algebra/CGroups/CGroup_basics/SubCGroups/inv_pres_P.var
212 *)
213
214 inline procedural "cic:/CoRN/algebra/CGroups/CGroup_basics/SubCGroups/subcrr.con" "CGroup_basics__SubCGroups__" as definition.
215
216 inline procedural "cic:/CoRN/algebra/CGroups/CGroup_basics/SubCGroups/subinv.con" "CGroup_basics__SubCGroups__" as definition.
217
218 inline procedural "cic:/CoRN/algebra/CGroups/isgrp_scrr.con" as lemma.
219
220 inline procedural "cic:/CoRN/algebra/CGroups/Build_SubCGroup.con" as definition.
221
222 (* UNEXPORTED
223 End SubCGroups
224 *)
225
226 (* UNEXPORTED
227 End CGroup_basics
228 *)
229
230 (* UNEXPORTED
231 Hint Resolve cg_rht_inv_unfolded cg_lft_inv_unfolded: algebra.
232 *)
233
234 (* UNEXPORTED
235 Hint Resolve cg_inv_inv cg_minus_correct cg_zero_inv cg_inv_zero: algebra.
236 *)
237
238 (* UNEXPORTED
239 Hint Resolve cg_minus_unfolded grp_inv_assoc cg_inv_op: algebra.
240 *)
241
242 (* UNEXPORTED
243 Hint Resolve cg_minus_wd: algebra_c.
244 *)
245
246 (*#*
247 ** Associative properties of groups
248 %\begin{convention}% Let [G] be a group.
249 %\end{convention}%
250 *)
251
252 (* UNEXPORTED
253 Section Assoc_properties
254 *)
255
256 (* UNEXPORTED
257 cic:/CoRN/algebra/CGroups/Assoc_properties/G.var
258 *)
259
260 inline procedural "cic:/CoRN/algebra/CGroups/assoc_2.con" as lemma.
261
262 inline procedural "cic:/CoRN/algebra/CGroups/zero_minus.con" as lemma.
263
264 inline procedural "cic:/CoRN/algebra/CGroups/cg_cancel_mixed.con" as lemma.
265
266 inline procedural "cic:/CoRN/algebra/CGroups/plus_resp_eq.con" as lemma.
267
268 (* UNEXPORTED
269 End Assoc_properties
270 *)
271
272 (* UNEXPORTED
273 Hint Resolve assoc_2 minus_plus zero_minus cg_cancel_mixed plus_resp_eq:
274   algebra.
275 *)
276
277 (*#*
278 ** Apartness in Constructive Groups
279 Specific properties of apartness.
280 %\begin{convention}% Let [G] be a group.
281 %\end{convention}%
282 *)
283
284 (* UNEXPORTED
285 Section cgroups_apartness
286 *)
287
288 (* UNEXPORTED
289 cic:/CoRN/algebra/CGroups/cgroups_apartness/G.var
290 *)
291
292 inline procedural "cic:/CoRN/algebra/CGroups/cg_add_ap_zero.con" as lemma.
293
294 inline procedural "cic:/CoRN/algebra/CGroups/op_rht_resp_ap.con" as lemma.
295
296 inline procedural "cic:/CoRN/algebra/CGroups/cg_ap_cancel_rht.con" as lemma.
297
298 inline procedural "cic:/CoRN/algebra/CGroups/plus_cancel_ap_rht.con" as lemma.
299
300 inline procedural "cic:/CoRN/algebra/CGroups/minus_ap_zero.con" as lemma.
301
302 inline procedural "cic:/CoRN/algebra/CGroups/zero_minus_apart.con" as lemma.
303
304 inline procedural "cic:/CoRN/algebra/CGroups/inv_resp_ap_zero.con" as lemma.
305
306 inline procedural "cic:/CoRN/algebra/CGroups/inv_resp_ap.con" as lemma.
307
308 inline procedural "cic:/CoRN/algebra/CGroups/minus_resp_ap_rht.con" as lemma.
309
310 inline procedural "cic:/CoRN/algebra/CGroups/minus_resp_ap_lft.con" as lemma.
311
312 inline procedural "cic:/CoRN/algebra/CGroups/minus_cancel_ap_rht.con" as lemma.
313
314 (* UNEXPORTED
315 End cgroups_apartness
316 *)
317
318 (* UNEXPORTED
319 Hint Resolve op_rht_resp_ap: algebra.
320 *)
321
322 (* UNEXPORTED
323 Hint Resolve minus_ap_zero zero_minus_apart inv_resp_ap_zero: algebra.
324 *)
325
326 (* UNEXPORTED
327 Section CGroup_Ops
328 *)
329
330 (*#*
331 ** Functional operations
332
333 As before, we lift our group operations to the function space of the group.
334
335 %\begin{convention}%
336 Let [G] be a group and [F,F':(PartFunct G)] with domains given respectively
337 by [P] and [Q].
338 %\end{convention}%
339 *)
340
341 (* UNEXPORTED
342 cic:/CoRN/algebra/CGroups/CGroup_Ops/G.var
343 *)
344
345 (* UNEXPORTED
346 cic:/CoRN/algebra/CGroups/CGroup_Ops/F.var
347 *)
348
349 (* UNEXPORTED
350 cic:/CoRN/algebra/CGroups/CGroup_Ops/F'.var
351 *)
352
353 (* begin hide *)
354
355 inline procedural "cic:/CoRN/algebra/CGroups/CGroup_Ops/P.con" "CGroup_Ops__" as definition.
356
357 inline procedural "cic:/CoRN/algebra/CGroups/CGroup_Ops/Q.con" "CGroup_Ops__" as definition.
358
359 (* end hide *)
360
361 (* UNEXPORTED
362 Section Part_Function_Inv
363 *)
364
365 inline procedural "cic:/CoRN/algebra/CGroups/part_function_inv_strext.con" as lemma.
366
367 inline procedural "cic:/CoRN/algebra/CGroups/Finv.con" as definition.
368
369 (* UNEXPORTED
370 End Part_Function_Inv
371 *)
372
373 (* UNEXPORTED
374 Section Part_Function_Minus
375 *)
376
377 inline procedural "cic:/CoRN/algebra/CGroups/part_function_minus_strext.con" as lemma.
378
379 inline procedural "cic:/CoRN/algebra/CGroups/Fminus.con" as definition.
380
381 (* UNEXPORTED
382 End Part_Function_Minus
383 *)
384
385 (*#*
386 %\begin{convention}% Let [R:G->CProp].
387 %\end{convention}%
388 *)
389
390 (* UNEXPORTED
391 cic:/CoRN/algebra/CGroups/CGroup_Ops/R.var
392 *)
393
394 inline procedural "cic:/CoRN/algebra/CGroups/included_FInv.con" as lemma.
395
396 inline procedural "cic:/CoRN/algebra/CGroups/included_FInv'.con" as lemma.
397
398 inline procedural "cic:/CoRN/algebra/CGroups/included_FMinus.con" as lemma.
399
400 inline procedural "cic:/CoRN/algebra/CGroups/included_FMinus'.con" as lemma.
401
402 inline procedural "cic:/CoRN/algebra/CGroups/included_FMinus''.con" as lemma.
403
404 (* UNEXPORTED
405 End CGroup_Ops
406 *)
407
408 (* UNEXPORTED
409 Implicit Arguments Finv [G].
410 *)
411
412 (* NOTATION
413 Notation "{--} x" := (Finv x) (at level 2, right associativity).
414 *)
415
416 (* UNEXPORTED
417 Implicit Arguments Fminus [G].
418 *)
419
420 (* NOTATION
421 Infix "{-}" := Fminus (at level 50, left associativity).
422 *)
423
424 (* UNEXPORTED
425 Hint Resolve included_FInv included_FMinus : included.
426 *)
427
428 (* UNEXPORTED
429 Hint Immediate included_FInv' included_FMinus' included_FMinus'' : included.
430 *)
431