Skip to content

Commit bd5cfee

Browse files
committed
add: sub-Bimodules
1 parent f702f82 commit bd5cfee

File tree

2 files changed

+55
-0
lines changed

2 files changed

+55
-0
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ New modules
8585

8686
* `Algebra.Construct.Sub.Group.Normal` for the definition of normal subgroups.
8787

88+
* `Algebra.Module.Construct.Sub.Bimodule` for the definition of sub-bimodules.
89+
8890
* `Algebra.Properties.BooleanRing`.
8991

9092
* `Algebra.Properties.BooleanSemiring`.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
------------------------------------------------------------------------
2+
-- The Agda standard library
3+
--
4+
-- Definition of sub-bimodules
5+
------------------------------------------------------------------------
6+
7+
{-# OPTIONS --cubical-compatible --safe #-}
8+
9+
open import Algebra.Bundles using (Ring)
10+
open import Algebra.Module.Bundles using (Bimodule; RawBimodule)
11+
12+
module Algebra.Module.Construct.Sub.Bimodule
13+
{cr ℓr cs ℓs cm ℓm} {R : Ring cr ℓr} {S : Ring cs ℓs} (M : Bimodule R S cm ℓm)
14+
where
15+
16+
open import Algebra.Module.Morphism.Structures using (IsBimoduleMonomorphism)
17+
open import Algebra.Module.Morphism.BimoduleMonomorphism using (isBimodule)
18+
open import Level using (suc; _⊔_)
19+
20+
private
21+
module R = Ring R
22+
module S = Ring S
23+
module M = Bimodule M
24+
25+
open import Algebra.Construct.Sub.AbelianGroup M.+ᴹ-abelianGroup
26+
as AbelianSubgroup
27+
using (Subgroup)
28+
29+
------------------------------------------------------------------------
30+
-- Definition
31+
32+
record Subbimodule cm′ ℓm′ : Set (cr ⊔ cs ⊔ cm ⊔ ℓm ⊔ suc (cm′ ⊔ ℓm′)) where
33+
field
34+
domain : RawBimodule R.Carrier S.Carrier cm′ ℓm′
35+
ι : _ M.Carrierᴹ
36+
ι-monomorphism : IsBimoduleMonomorphism domain M.rawBimodule ι
37+
38+
module ι = IsBimoduleMonomorphism ι-monomorphism
39+
40+
bimodule : Bimodule R S _ _
41+
bimodule = record
42+
{ isBimodule = isBimodule ι-monomorphism R.isRing S.isRing M.isBimodule }
43+
44+
open Bimodule bimodule public
45+
46+
-- Additionally, have Abelian (hence: Normal) subgroups of M.+ᴹ-abelianGroup
47+
48+
subgroup : Subgroup cm′ ℓm′
49+
subgroup = record { ι-monomorphism = ι.+ᴹ-isGroupMonomorphism }
50+
51+
isNormal = AbelianSubgroup.isNormal subgroup
52+
53+
normalSubgroup = AbelianSubgroup.normalSubgroup subgroup

0 commit comments

Comments
 (0)