Legacy.Base.Structures.EquationalLogic¶
Equational Logic for General Structures¶
This is the Legacy.Base.Structures.EquationalLogic module of the Agda Universal Algebra Library.
{-# OPTIONS --cubical-compatible --exact-split --safe #-} module Legacy.Base.Structures.EquationalLogic where -- Imports from Agda and the Agda Standard Library -------------------------------------- open import Agda.Primitive using () renaming ( Set to Type ) open import Data.Fin.Base using ( Fin ) open import Data.Nat using ( β ) open import Data.Product using ( _Γ_ ; _,_ ) renaming ( projβ to fst ; projβ to snd ) open import Level using ( Level ) open import Relation.Unary using ( Pred ; _β_ ) -- Imports from the Agda Universal Algebra Library -------------------------------------- open import Overture using ( _β_ ) open import Legacy.Base.Terms using ( Term ) open import Legacy.Base.Structures.Basic using ( signature ; structure ; _α΅_ ) open import Legacy.Base.Structures.Terms using ( _β¦_β§ ) private variable πβ π₯β πβ π₯β Ο Ξ± Ο β : Level πΉ : signature πβ π₯β π : signature πβ π₯β X : Type Ο -- Entailment, equational theories, and models _β§_β_ : structure πΉ π {Ξ±}{Ο} β Term X β Term X β Type _ π¨ β§ p β q = π¨ β¦ p β§ β π¨ β¦ q β§ _β§_β_ : Pred(structure πΉ π {Ξ±}{Ο}) β β Term X β Term X β Type _ π¦ β§ p β q = β{π¨ : structure _ _} β π¦ π¨ β π¨ β§ p β q -- Theories Th : Pred (structure πΉ π {Ξ±}{Ο}) β β Pred(Term X Γ Term X) _ -- (ββ β Ο) Th π¦ = Ξ» (p , q) β π¦ β§ p β q -- Models Mod : Pred(Term X Γ Term X) β β Pred(structure πΉ π {Ξ±} {Ο}) _ -- (Ο β ββ) Mod β° = Ξ» π¨ β β p q β (p , q) β β° β π¨ β§ p β q fMod : {n : β} β (Fin n β (Term X Γ Term X)) β Pred(structure πΉ π {Ξ±} {Ο}) _ fMod β° = Ξ» π¨ β β i β π¨ β§ fst (β° i) β snd (β° i)