11
11
12
12
module Algebra.Bundles where
13
13
14
+ import Algebra.Bundles.Raw as Raw
14
15
open import Algebra.Core
15
16
open import Algebra.Structures
16
17
open import Relation.Binary
@@ -19,21 +20,17 @@ import Relation.Nullary as N
19
20
open import Level
20
21
21
22
------------------------------------------------------------------------
22
- -- Bundles with 1 binary operation
23
- ------------------------------------------------------------------------
24
-
25
- record RawMagma c ℓ : Set (suc (c ⊔ ℓ)) where
26
- infixl 7 _∙_
27
- infix 4 _≈_
28
- field
29
- Carrier : Set c
30
- _≈_ : Rel Carrier ℓ
31
- _∙_ : Op₂ Carrier
23
+ -- Re-export definitions of 'raw' bundles
32
24
33
- infix 4 _≉_
34
- _≉_ : Rel Carrier _
35
- x ≉ y = N.¬ (x ≈ y)
25
+ open Raw public
26
+ using (RawMagma; RawMonoid; RawGroup
27
+ ; RawNearSemiring; RawSemiring
28
+ ; RawRingWithoutOne; RawRing
29
+ ; RawQuasigroup; RawLoop)
36
30
31
+ ------------------------------------------------------------------------
32
+ -- Bundles with 1 binary operation
33
+ ------------------------------------------------------------------------
37
34
38
35
record Magma c ℓ : Set (suc (c ⊔ ℓ)) where
39
36
infixl 7 _∙_
@@ -232,27 +229,6 @@ record CommutativeSemigroup c ℓ : Set (suc (c ⊔ ℓ)) where
232
229
-- Bundles with 1 binary operation & 1 element
233
230
------------------------------------------------------------------------
234
231
235
- -- A raw monoid is a monoid without any laws.
236
-
237
- record RawMonoid c ℓ : Set (suc (c ⊔ ℓ)) where
238
- infixl 7 _∙_
239
- infix 4 _≈_
240
- field
241
- Carrier : Set c
242
- _≈_ : Rel Carrier ℓ
243
- _∙_ : Op₂ Carrier
244
- ε : Carrier
245
-
246
- rawMagma : RawMagma c ℓ
247
- rawMagma = record
248
- { _≈_ = _≈_
249
- ; _∙_ = _∙_
250
- }
251
-
252
- open RawMagma rawMagma public
253
- using (_≉_)
254
-
255
-
256
232
record UnitalMagma c ℓ : Set (suc (c ⊔ ℓ)) where
257
233
infixl 7 _∙_
258
234
infix 4 _≈_
@@ -359,28 +335,6 @@ module BoundedLattice {c ℓ} (idemCommMonoid : IdempotentCommutativeMonoid c
359
335
-- Bundles with 1 binary operation, 1 unary operation & 1 element
360
336
------------------------------------------------------------------------
361
337
362
- record RawGroup c ℓ : Set (suc (c ⊔ ℓ)) where
363
- infix 8 _⁻¹
364
- infixl 7 _∙_
365
- infix 4 _≈_
366
- field
367
- Carrier : Set c
368
- _≈_ : Rel Carrier ℓ
369
- _∙_ : Op₂ Carrier
370
- ε : Carrier
371
- _⁻¹ : Op₁ Carrier
372
-
373
- rawMonoid : RawMonoid c ℓ
374
- rawMonoid = record
375
- { _≈_ = _≈_
376
- ; _∙_ = _∙_
377
- ; ε = ε
378
- }
379
-
380
- open RawMonoid rawMonoid public
381
- using (_≉_; rawMagma)
382
-
383
-
384
338
record InvertibleMagma c ℓ : Set (suc (c ⊔ ℓ)) where
385
339
infix 8 _⁻¹
386
340
infixl 7 _∙_
@@ -487,34 +441,6 @@ record AbelianGroup c ℓ : Set (suc (c ⊔ ℓ)) where
487
441
-- Bundles with 2 binary operations & 1 element
488
442
------------------------------------------------------------------------
489
443
490
- record RawNearSemiring c ℓ : Set (suc (c ⊔ ℓ)) where
491
- infixl 7 _*_
492
- infixl 6 _+_
493
- infix 4 _≈_
494
- field
495
- Carrier : Set c
496
- _≈_ : Rel Carrier ℓ
497
- _+_ : Op₂ Carrier
498
- _*_ : Op₂ Carrier
499
- 0# : Carrier
500
-
501
- +-rawMonoid : RawMonoid c ℓ
502
- +-rawMonoid = record
503
- { _≈_ = _≈_
504
- ; _∙_ = _+_
505
- ; ε = 0#
506
- }
507
-
508
- open RawMonoid +-rawMonoid public
509
- using (_≉_) renaming (rawMagma to +-rawMagma)
510
-
511
- *-rawMagma : RawMagma c ℓ
512
- *-rawMagma = record
513
- { _≈_ = _≈_
514
- ; _∙_ = _*_
515
- }
516
-
517
-
518
444
record NearSemiring c ℓ : Set (suc (c ⊔ ℓ)) where
519
445
infixl 7 _*_
520
446
infixl 6 _+_
@@ -626,37 +552,6 @@ record CommutativeSemiringWithoutOne c ℓ : Set (suc (c ⊔ ℓ)) where
626
552
-- Bundles with 2 binary operations & 2 elements
627
553
------------------------------------------------------------------------
628
554
629
- record RawSemiring c ℓ : Set (suc (c ⊔ ℓ)) where
630
- infixl 7 _*_
631
- infixl 6 _+_
632
- infix 4 _≈_
633
- field
634
- Carrier : Set c
635
- _≈_ : Rel Carrier ℓ
636
- _+_ : Op₂ Carrier
637
- _*_ : Op₂ Carrier
638
- 0# : Carrier
639
- 1# : Carrier
640
-
641
- rawNearSemiring : RawNearSemiring c ℓ
642
- rawNearSemiring = record
643
- { _≈_ = _≈_
644
- ; _+_ = _+_
645
- ; _*_ = _*_
646
- ; 0# = 0#
647
- }
648
-
649
- open RawNearSemiring rawNearSemiring public
650
- using (_≉_; +-rawMonoid; +-rawMagma; *-rawMagma)
651
-
652
- *-rawMonoid : RawMonoid c ℓ
653
- *-rawMonoid = record
654
- { _≈_ = _≈_
655
- ; _∙_ = _*_
656
- ; ε = 1#
657
- }
658
-
659
-
660
555
record SemiringWithoutAnnihilatingZero c ℓ : Set (suc (c ⊔ ℓ)) where
661
556
infixl 7 _*_
662
557
infixl 6 _+_
@@ -939,37 +834,6 @@ record Quasiring c ℓ : Set (suc (c ⊔ ℓ)) where
939
834
-- Bundles with 2 binary operations, 1 unary operation & 1 element
940
835
------------------------------------------------------------------------
941
836
942
- record RawRingWithoutOne c ℓ : Set (suc (c ⊔ ℓ)) where
943
- infix 8 -_
944
- infixl 7 _*_
945
- infixl 6 _+_
946
- infix 4 _≈_
947
- field
948
- Carrier : Set c
949
- _≈_ : Rel Carrier ℓ
950
- _+_ : Op₂ Carrier
951
- _*_ : Op₂ Carrier
952
- -_ : Op₁ Carrier
953
- 0# : Carrier
954
-
955
- +-rawGroup : RawGroup c ℓ
956
- +-rawGroup = record
957
- { _≈_ = _≈_
958
- ; _∙_ = _+_
959
- ; ε = 0#
960
- ; _⁻¹ = -_
961
- }
962
-
963
- open RawGroup +-rawGroup public
964
- using (_≉_) renaming (rawMagma to +-rawMagma; rawMonoid to +-rawMonoid)
965
-
966
- *-rawMagma : RawMagma c ℓ
967
- *-rawMagma = record
968
- { _≈_ = _≈_
969
- ; _∙_ = _*_
970
- }
971
-
972
-
973
837
record RingWithoutOne c ℓ : Set (suc (c ⊔ ℓ)) where
974
838
infix 8 -_
975
839
infixl 7 _*_
@@ -1053,46 +917,6 @@ record Nearring c ℓ : Set (suc (c ⊔ ℓ)) where
1053
917
;*-rawMagma; *-magma; *-semigroup; *-monoid
1054
918
)
1055
919
1056
- -- A raw ring is a ring without any laws.
1057
-
1058
- record RawRing c ℓ : Set (suc (c ⊔ ℓ)) where
1059
- infix 8 -_
1060
- infixl 7 _*_
1061
- infixl 6 _+_
1062
- infix 4 _≈_
1063
- field
1064
- Carrier : Set c
1065
- _≈_ : Rel Carrier ℓ
1066
- _+_ : Op₂ Carrier
1067
- _*_ : Op₂ Carrier
1068
- -_ : Op₁ Carrier
1069
- 0# : Carrier
1070
- 1# : Carrier
1071
-
1072
- rawSemiring : RawSemiring c ℓ
1073
- rawSemiring = record
1074
- { _≈_ = _≈_
1075
- ; _+_ = _+_
1076
- ; _*_ = _*_
1077
- ; 0# = 0#
1078
- ; 1# = 1#
1079
- }
1080
-
1081
- open RawSemiring rawSemiring public
1082
- using
1083
- ( _≉_
1084
- ; +-rawMagma; +-rawMonoid
1085
- ; *-rawMagma; *-rawMonoid
1086
- )
1087
-
1088
- +-rawGroup : RawGroup c ℓ
1089
- +-rawGroup = record
1090
- { _≈_ = _≈_
1091
- ; _∙_ = _+_
1092
- ; ε = 0#
1093
- ; _⁻¹ = -_
1094
- }
1095
-
1096
920
1097
921
record Ring c ℓ : Set (suc (c ⊔ ℓ)) where
1098
922
infix 8 -_
@@ -1184,39 +1008,6 @@ record CommutativeRing c ℓ : Set (suc (c ⊔ ℓ)) where
1184
1008
-- Bundles with 3 binary operations
1185
1009
------------------------------------------------------------------------
1186
1010
1187
- record RawQuasigroup c ℓ : Set (suc (c ⊔ ℓ)) where
1188
- infixl 7 _∙_
1189
- infixl 7 _\\_
1190
- infixl 7 _//_
1191
- infix 4 _≈_
1192
- field
1193
- Carrier : Set c
1194
- _≈_ : Rel Carrier ℓ
1195
- _∙_ : Op₂ Carrier
1196
- _\\_ : Op₂ Carrier
1197
- _//_ : Op₂ Carrier
1198
-
1199
- ∙-rawMagma : RawMagma c ℓ
1200
- ∙-rawMagma = record
1201
- { _≈_ = _≈_
1202
- ; _∙_ = _∙_
1203
- }
1204
-
1205
- \\-rawMagma : RawMagma c ℓ
1206
- \\-rawMagma = record
1207
- { _≈_ = _≈_
1208
- ; _∙_ = _\\_
1209
- }
1210
-
1211
- //-rawMagma : RawMagma c ℓ
1212
- //-rawMagma = record
1213
- { _≈_ = _≈_
1214
- ; _∙_ = _//_
1215
- }
1216
-
1217
- open RawMagma \\-rawMagma public
1218
- using (_≉_)
1219
-
1220
1011
record Quasigroup c ℓ : Set (suc (c ⊔ ℓ)) where
1221
1012
infixl 7 _∙_
1222
1013
infixl 7 _\\_
@@ -1249,30 +1040,6 @@ record Quasigroup c ℓ : Set (suc (c ⊔ ℓ)) where
1249
1040
open RawQuasigroup rawQuasigroup public
1250
1041
using (//-rawMagma; \\-rawMagma; ∙-rawMagma)
1251
1042
1252
- record RawLoop c ℓ : Set (suc (c ⊔ ℓ)) where
1253
- infixl 7 _∙_
1254
- infixl 7 _\\_
1255
- infixl 7 _//_
1256
- infix 4 _≈_
1257
- field
1258
- Carrier : Set c
1259
- _≈_ : Rel Carrier ℓ
1260
- _∙_ : Op₂ Carrier
1261
- _\\_ : Op₂ Carrier
1262
- _//_ : Op₂ Carrier
1263
- ε : Carrier
1264
-
1265
- rawQuasigroup : RawQuasigroup c ℓ
1266
- rawQuasigroup = record
1267
- { _≈_ = _≈_
1268
- ; _∙_ = _∙_
1269
- ; _\\_ = _\\_
1270
- ; _//_ = _//_
1271
- }
1272
-
1273
- open RawQuasigroup rawQuasigroup public
1274
- using (_≉_ ; ∙-rawMagma; \\-rawMagma; //-rawMagma)
1275
-
1276
1043
record Loop c ℓ : Set (suc (c ⊔ ℓ)) where
1277
1044
infixl 7 _∙_
1278
1045
infixl 7 _\\_
0 commit comments