------------------------------------------------------------------------
-- The Agda standard library
--
-- Raw bundles for homogeneous binary relations
------------------------------------------------------------------------
-- The contents of this module should be accessed via `Relation.Binary`.
{-#
OPTIONS
--cubical-compatible
--safe
#-}
module
Relation.Binary.Bundles.Raw
where
open
import
Function.Base
using
(
flip
)
open
import
Level
using
(
Level
;
suc
;
_⊔_
)
open
import
Relation.Binary.Core
using
(
Rel
)
open
import
Relation.Nullary.Negation.Core
using
(
¬_
)
------------------------------------------------------------------------
-- RawSetoid
------------------------------------------------------------------------
record
RawSetoid
a
ℓ
:
Set
(
suc
(
a
⊔
ℓ
))
where
infix
4
_≈_
field
Carrier
:
Set
a
_≈_
:
Rel
Carrier
ℓ
infix
4
_≉_
_≉_
:
Rel
Carrier
_
x
≉
y
=
¬
(
x
≈
y
)
------------------------------------------------------------------------
-- RawRelation: basis for Relation.Binary.Bundles.*Order
------------------------------------------------------------------------
record
RawRelation
c
ℓ₁
ℓ₂
:
Set
(
suc
(
c
⊔
ℓ₁
⊔
ℓ₂
))
where
infix
4
_≈_
_∼_
field
Carrier
:
Set
c
_≈_
:
Rel
Carrier
ℓ₁
-- The underlying equality.
_∼_
:
Rel
Carrier
ℓ₂
-- The underlying relation.
rawSetoid
:
RawSetoid
c
ℓ₁
rawSetoid
=
record
{
_≈_
=
_≈_
}
open
RawSetoid
rawSetoid
public
using
(
_≉_
)
infix
4
_≁_
_≁_
:
Rel
Carrier
_
x
≁
y
=
¬
(
x
∼
y
)
infix
4
_∼ᵒ_
_∼ᵒ_
=
flip
_∼_
infix
4
_≁ᵒ_
_≁ᵒ_
=
flip
_≁_