Skip to content

Setoid.Terms

Terms on setoids

This is the Setoid.Terms module of the Agda Universal Algebra Library.

A term over a set X of variables is a formal expression built from those variables by applying operation symbols of the signature. Terms are the syntax that equational logic is about, and the term algebra 𝑻 X is the free algebra on X: every assignment of values in an algebra to the variables extends uniquely to a homomorphism out of 𝑻 X. That universal property is what makes terms the bridge between syntax and semantics throughout the library.

This is a barrel module: it declares nothing of its own and re-exports the following:

{-# OPTIONS --cubical-compatible --exact-split --safe #-}

module Setoid.Terms where

open import Setoid.Terms.Basic  public
open import Setoid.Terms.Interpretation       public
open import Setoid.Terms.Monad  public
open import Setoid.Terms.Operations  public
open import Setoid.Terms.Properties  public
open import Setoid.Terms.Translation          public

(The two-signature modules Setoid.Terms.Translation and Setoid.Terms.Interpretation relate two signatures at once, so they are not {𝑆}-parameterized; they are nonetheless re-exported here for convenience.)