Models of signatures
Content created by Fredrik Bakke, Fernando Chu, Garrett Figueroa and Louis Wasserman.
Created on 2023-03-20.
Last modified on 2025-10-31.
module universal-algebra.models-of-signatures where
Imports
open import foundation.action-on-identifications-functions open import foundation.dependent-pair-types open import foundation.function-extensionality open import foundation.sets open import foundation.structure-identity-principle open import foundation.universe-levels open import foundation-core.cartesian-product-types open import foundation-core.dependent-identifications open import foundation-core.equality-dependent-pair-types open import foundation-core.equivalences open import foundation-core.function-types open import foundation-core.homotopies open import foundation-core.identity-types open import foundation-core.propositions open import foundation-core.torsorial-type-families open import lists.functoriality-tuples open import lists.tuples open import universal-algebra.signatures
Idea
A
model¶
of a
single-sorted finitary algebraic signature
σ in a type A is a dependent function that assigns to each function symbol
f of arity n and n-tuple of elements of A an element
of A.
Definitions
The predicate on a type of being a model
is-model-of-signature-type : {l1 l2 : Level} → signature l1 → UU l2 → UU (l1 ⊔ l2) is-model-of-signature-type σ X = (f : operation-signature σ) → tuple X (arity-operation-signature σ f) → X
The predicate on a set of being a model
is-model-of-signature : {l1 l2 : Level} → signature l1 → Set l2 → UU (l1 ⊔ l2) is-model-of-signature σ X = is-model-of-signature-type σ (type-Set X)
The type of models of a signature
Model-Of-Signature : {l1 : Level} (l2 : Level) → signature l1 → UU (l1 ⊔ lsuc l2) Model-Of-Signature l2 σ = Σ (Set l2) (is-model-of-signature σ) module _ {l1 l2 : Level} (σ : signature l1) (X : Model-Of-Signature l2 σ) where set-Model-Of-Signature : Set l2 set-Model-Of-Signature = pr1 X is-model-set-Model-Of-Signature : is-model-of-signature σ set-Model-Of-Signature is-model-set-Model-Of-Signature = pr2 X type-Model-Of-Signature : UU l2 type-Model-Of-Signature = type-Set set-Model-Of-Signature is-set-type-Model-Of-Signature : is-set type-Model-Of-Signature is-set-type-Model-Of-Signature = is-set-type-Set set-Model-Of-Signature
Recent changes
- 2025-10-31. Fredrik Bakke. Refactor
universal-algebra(#1657). - 2025-09-05. Garrett Figueroa. Category of algebras of a theory (#1483).
- 2025-05-14. Louis Wasserman. Refactor linear algebra to use “tuples” for what was “vectors” (#1397).
- 2025-04-28. Fredrik Bakke. chore: Spelling corrections by codespell (#1415).
- 2023-04-28. Fredrik Bakke. Miscellaneous refactoring and small additions (#579).