{-# OPTIONS --cubical-compatible --safe #-}
open import Algebra.Bundles.Raw using (RawMagma)
open import Data.Product.Base using (_×_; ∃)
open import Level using (_⊔_)
open import Relation.Binary.Core using (Rel)
open import Relation.Nullary.Negation.Core using (¬_)
module Algebra.Definitions.RawMagma
{a ℓ} (M : RawMagma a ℓ)
where
open RawMagma M renaming (Carrier to A)
infix 5 _∣ˡ_ _∤ˡ_ _∣ʳ_ _∤ʳ_ _∣_ _∤_ _∣∣_ _∤∤_
record _∣ˡ_ (x y : A) : Set (a ⊔ ℓ) where
constructor _,_
field
quotient : A
equality : x ∙ quotient ≈ y
_∤ˡ_ : Rel A (a ⊔ ℓ)
x ∤ˡ y = ¬ x ∣ˡ y
record _∣ʳ_ (x y : A) : Set (a ⊔ ℓ) where
constructor _,_
field
quotient : A
equality : quotient ∙ x ≈ y
_∤ʳ_ : Rel A (a ⊔ ℓ)
x ∤ʳ y = ¬ x ∣ʳ y
_∣_ : Rel A (a ⊔ ℓ)
_∣_ = _∣ʳ_
_∤_ : Rel A (a ⊔ ℓ)
x ∤ y = ¬ x ∣ y
_∣∣_ : Rel A (a ⊔ ℓ)
x ∣∣ y = x ∣ y × y ∣ x
_∤∤_ : Rel A (a ⊔ ℓ)
x ∤∤ y = ¬ x ∣∣ y