@@ -166,14 +166,16 @@ module _ (commutativeSemiring : CommutativeSemiring r ℓr)
166
166
open CommutativeSemiring commutativeSemiring renaming (Carrier to R)
167
167
168
168
-- An R-semimodule is an R-R-bisemimodule where R is commutative.
169
- -- This means that *ₗ and *ᵣ coincide up to mathematical equality,
170
- -- though it may be that they do not coincide up to definitional
171
- -- equality.
169
+ -- We enforce that *ₗ and *ᵣ coincide up to mathematical equality, though it
170
+ -- may be that they do not coincide up to definitional equality.
171
+
172
+ open SimultaneousBiDefs R ≈ᴹ
172
173
173
174
record IsSemimodule (*ₗ : Opₗ R M) (*ᵣ : Opᵣ R M)
174
175
: Set (r ⊔ m ⊔ ℓr ⊔ ℓm) where
175
176
field
176
177
isBisemimodule : IsBisemimodule semiring semiring ≈ᴹ +ᴹ 0ᴹ *ₗ *ᵣ
178
+ *ₗ-*ᵣ-coincident : Coincident *ₗ *ᵣ
177
179
178
180
open IsBisemimodule isBisemimodule public
179
181
@@ -282,15 +284,17 @@ module _ (commutativeRing : CommutativeRing r ℓr)
282
284
open CommutativeRing commutativeRing renaming (Carrier to R)
283
285
284
286
-- An R-module is an R-R-bimodule where R is commutative.
285
- -- This means that *ₗ and *ᵣ coincide up to mathematical equality,
286
- -- though it may be that they do not coincide up to definitional
287
- -- equality.
287
+ -- We enforce that *ₗ and *ᵣ coincide up to mathematical equality, though it
288
+ -- may be that they do not coincide up to definitional equality.
289
+
290
+ open SimultaneousBiDefs R ≈ᴹ
288
291
289
292
record IsModule (*ₗ : Opₗ R M) (*ᵣ : Opᵣ R M) : Set (r ⊔ m ⊔ ℓr ⊔ ℓm) where
290
293
field
291
294
isBimodule : IsBimodule ring ring ≈ᴹ +ᴹ 0ᴹ -ᴹ *ₗ *ᵣ
295
+ *ₗ-*ᵣ-coincident : Coincident *ₗ *ᵣ
292
296
293
297
open IsBimodule isBimodule public
294
298
295
299
isSemimodule : IsSemimodule commutativeSemiring ≈ᴹ +ᴹ 0ᴹ *ₗ *ᵣ
296
- isSemimodule = record { isBisemimodule = isBisemimodule }
300
+ isSemimodule = record { isBisemimodule = isBisemimodule; *ₗ-*ᵣ-coincident = *ₗ-*ᵣ-coincident }
0 commit comments