Legacy.Base.Adjunction.Residuation¶
Residuation¶
This is the Legacy.Base.Adjunction.Residuation module of the Agda Universal Algebra Library.
{-# OPTIONS --cubical-compatible --exact-split --safe #-} module Legacy.Base.Adjunction.Residuation where -- Imports from Agda and the Agda Standard Library -------------------------------------- open import Agda.Primitive using () renaming ( Set to Type ) open import Function.Base using ( _on_ ; _โ_ ) open import Level using ( Level ; _โ_ ; suc ) open import Relation.Binary.Bundles using ( Poset ) open import Relation.Binary.Core using ( _Preserves_โถ_ ) -- Imports from the Agda Universal Algebra Library -------------------------------------- open import Legacy.Base.Relations.Discrete using ( PointWise ) private variable a ฮนแต ฮฑ b ฮนแต ฮฒ : Level module _ (A : Poset a ฮนแต ฮฑ)(B : Poset b ฮนแต ฮฒ) where open Poset private _โคA_ = _โค_ A _โคB_ = _โค_ B record Residuation : Type (suc (ฮฑ โ a โ ฮฒ โ b)) where field f : Carrier A โ Carrier B g : Carrier B โ Carrier A fhom : f Preserves _โคA_ โถ _โคB_ ghom : g Preserves _โคB_ โถ _โคA_ gfโฅid : โ a โ a โคA g (f a) fgโคid : โ b โ f (g b) โคB b
Basic properties of residual pairs¶
open Residuation open Poset module _ {A : Poset a ฮนแต ฮฑ} {B : Poset b ฮนแต ฮฒ} (R : Residuation A B) where private _โคA_ = _โค_ A _โคB_ = _โค_ B ๐ = (R .f) ๐ = (R .g) -- Pointwise equality of unary functions wrt equality on the given poset carrier -- 1. pointwise equality on B โ A _โฬA_ = PointWise{a = b}{A = Carrier B} (_โ_ A) -- 2. pointwise equality on A โ B _โฬB_ = PointWise{a = a}{A = Carrier A} (_โ_ B)
In a ring R, if x y : R and if x y x = x, then y is called a weak inverse for x.
(A ring is called von Neumann regular if every element has a unique weak inverse.)
-- ๐ is a weak inverse for ๐ weak-inverse : (๐ โ ๐ โ ๐) โฬB ๐ weak-inverse a = antisym B lt gt where lt : ๐ (๐ (๐ a)) โคB ๐ a lt = fgโคid R (๐ a) gt : ๐ a โคB ๐ (๐ (๐ a)) gt = fhom R (gfโฅid R a) -- ๐ is a weak inverse of ๐ weak-inverse' : (๐ โ ๐ โ ๐) โฬA ๐ weak-inverse' b = antisym A lt gt where lt : ๐ (๐ (๐ b)) โคA ๐ b lt = ghom R (fgโคid R b) gt : ๐ b โคA ๐ (๐ (๐ b)) gt = gfโฅid R (๐ b)
{-# WARNING_ON_USAGE Residuation "Use Overture.Adjunction.Residuation.Residuation instead. Deprecated under #305; removal planned one minor cycle later." #-} {-# WARNING_ON_USAGE weak-inverse "Use Overture.Adjunction.Residuation.weak-inverse instead. Deprecated under #305; removal planned one minor cycle later." #-} {-# WARNING_ON_USAGE weak-inverse' "Use Overture.Adjunction.Residuation.weak-inverse' instead. Deprecated under #305; removal planned one minor cycle later." #-}