Skip to content

Commit 7dfbf54

Browse files
committed
Add module to reexport with implicit arguments
1 parent 4a21660 commit 7dfbf54

File tree

1 file changed

+46
-5
lines changed

1 file changed

+46
-5
lines changed

src/Algebra/Morphism/Construct/DirectProduct.agda

Lines changed: 46 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ open import Data.Product as Product
1919
using (_,_)
2020
open import Level using (Level)
2121
open import Relation.Binary.Definitions using (Reflexive)
22-
open import Relation.Binary.Morphism.Construct.Product
23-
using (proj₁; proj₂; <_,_>)
22+
import Relation.Binary.Morphism.Construct.Product as RP
2423

2524
private
2625
variable
@@ -40,15 +39,15 @@ module Magma (M : RawMagma a ℓ₁) (N : RawMagma b ℓ₂) where
4039

4140
isMagmaHomomorphism : IsMagmaHomomorphism (rawMagma M N) M Product.proj₁
4241
isMagmaHomomorphism = record
43-
{ isRelHomomorphism = proj₁
42+
{ isRelHomomorphism = RP.proj₁
4443
; homo = λ _ _ refl
4544
}
4645

4746
module Proj₂ (refl : Reflexive N._≈_) where
4847

4948
isMagmaHomomorphism : IsMagmaHomomorphism (rawMagma M N) N Product.proj₂
5049
isMagmaHomomorphism = record
51-
{ isRelHomomorphism = proj₂
50+
{ isRelHomomorphism = RP.proj₂
5251
; homo = λ _ _ refl
5352
}
5453

@@ -59,13 +58,34 @@ module Magma (M : RawMagma a ℓ₁) (N : RawMagma b ℓ₂) where
5958
IsMagmaHomomorphism P N h
6059
IsMagmaHomomorphism P (rawMagma M N) (Product.< f , h >)
6160
isMagmaHomomorphism F H = record
62-
{ isRelHomomorphism = < F.isRelHomomorphism , H.isRelHomomorphism >
61+
{ isRelHomomorphism = RP.< F.isRelHomomorphism , H.isRelHomomorphism >
6362
; homo = λ x y F.homo x y , H.homo x y
6463
}
6564
where
6665
module F = IsMagmaHomomorphism F
6766
module H = IsMagmaHomomorphism H
6867

68+
-- Package for export
69+
module Magma-Export {M : RawMagma a ℓ₁} {N : RawMagma b ℓ₂} where
70+
open Magma
71+
72+
private
73+
module M = RawMagma M
74+
module N = RawMagma N
75+
76+
module _ {refl : Reflexive M._≈_} where
77+
proj₁ = Proj₁.isMagmaHomomorphism M M refl
78+
79+
module _ {refl : Reflexive N._≈_} where
80+
proj₂ = Proj₂.isMagmaHomomorphism M N refl
81+
82+
module _ {P : RawMagma c ℓ₃} where
83+
84+
private
85+
module P = RawMagma P
86+
87+
<_,_> = Pair.isMagmaHomomorphism M N P
88+
6989
------------------------------------------------------------------------
7090
-- Monoids
7191

@@ -107,3 +127,24 @@ module Monoid (M : RawMonoid a ℓ₁) (N : RawMonoid b ℓ₂) where
107127
where
108128
module F = IsMonoidHomomorphism F
109129
module H = IsMonoidHomomorphism H
130+
131+
-- Package for export
132+
module Monoid-Export {M : RawMonoid a ℓ₁} {N : RawMonoid b ℓ₂} where
133+
open Monoid
134+
135+
private
136+
module M = RawMonoid M
137+
module N = RawMonoid N
138+
139+
module _ {refl : Reflexive M._≈_} where
140+
proj₁ = Proj₁.isMonoidHomomorphism M M refl
141+
142+
module _ {refl : Reflexive N._≈_} where
143+
proj₂ = Proj₂.isMonoidHomomorphism M N refl
144+
145+
module _ {P : RawMonoid c ℓ₃} where
146+
147+
private
148+
module P = RawMonoid P
149+
150+
<_,_> = Pair.isMonoidHomomorphism M N P

0 commit comments

Comments
 (0)