{-# OPTIONS --without-K --exact-split --safe #-} module Examples.Structures.Signatures where open import Agda.Primitive using () renaming ( lzero to āā ) open import Data.Unit.Base using () renaming ( ā¤ to š ; tt to š ) open import Data.Empty using () renaming ( ā„ to š ) open import Overture using ( š ; š ) open import Base.Structures.Basic using ( signature ; structure )
-- The signature with... -- ... no symbols (e.g., sets) Sā : signature āā āā Sā = record { symbol = š ; arity = Ī» () } -- ... one nullary symbol (e.g., pointed sets) S1 : signature āā āā S1 = record { symbol = š ; arity = Ī» _ ā š } S01 : signature āā āā -- ...one unary S01 = record { symbol = š ; arity = Ī» _ ā š } -- ...one binary symbol (e.g., magmas, semigroups, semilattices) S001 : signature āā āā S001 = record { symbol = š ; arity = Ī» _ ā š } -- ...one ternary symbol (e.g., boolean NAE-3-SAT relational structure) S0001 : signature āā āā S0001 = record { symbol = š ; arity = Ī» _ ā š } -- ...0 nullary, 2 unary, and 1 binary S021 : signature āā āā S021 = record { symbol = š ; arity = Ī»{ š.š ā š ; š.š ā š ; š.š ā š } } -- ...one nullary and one binary (e.g., monoids) S101 : signature āā āā S101 = record { symbol = š ; arity = Ī»{ š.š ā š ; š.š ā š } } -- ...one nullary, one unary, and one binary (e.g., groups) S111 : signature āā āā S111 = record { symbol = š ; arity = Ī»{ š.š ā š ; š.š ā š ; š.š ā š } }