record PresetoidAlgebra : Signature -> Type Auxiliary abstraction: an algebra with a relation over it
Totality: total
Visibility: public export
Constructor: MkPresetoidAlgebra : {0 Sig : Signature} -> (algebra : Algebra Sig) -> (0 _ : (U algebra -> U algebra -> Type)) -> PresetoidAlgebra Sig
Projections:
.algebra : {0 Sig : Signature} -> PresetoidAlgebra Sig -> Algebra Sig 0 .relation : {0 Sig : Signature} -> ({rec:0} : PresetoidAlgebra Sig) -> U (algebra {rec:0}) -> U (algebra {rec:0}) -> Type
Hint: Cast (SetoidAlgebra sig) (PresetoidAlgebra sig)
.algebra : {0 Sig : Signature} -> PresetoidAlgebra Sig -> Algebra Sig- Totality: total
Visibility: public export algebra : {0 Sig : Signature} -> PresetoidAlgebra Sig -> Algebra Sig- Totality: total
Visibility: public export 0 .relation : {0 Sig : Signature} -> ({rec:0} : PresetoidAlgebra Sig) -> U (algebra {rec:0}) -> U (algebra {rec:0}) -> Type- Totality: total
Visibility: public export 0 relation : {0 Sig : Signature} -> ({rec:0} : PresetoidAlgebra Sig) -> U (algebra {rec:0}) -> U (algebra {rec:0}) -> Type- Totality: total
Visibility: public export 0 U : PresetoidAlgebra sig -> Type Carrier of underlying algebra
Totality: total
Visibility: public exportdata (|-) : (a : PresetoidAlgebra (pres .signature)) -> Rel (U a) The provability relation of equational logic: given an algebra
with a binary relation over it, thought of as a collection of
equality assumptions, `a |- x y` are the proofs that x = y follows
from these assumptions, the axioms of `pres`, and the deduction
rules of equational logic.
Totality: total
Visibility: public export
Constructors:
Include : a .relation x y -> (|-) a x y Include assumptions in `a` as thereoms.
Refl : (x : U a) -> (|-) a x x Reflexivity
Sym : (|-) a x y -> (|-) a y x Transitive : (|-) a x y -> (|-) a y z -> (|-) a x z ByAxiom : (eq : Axiom pres) -> (env : (Fin ((pres .axiom eq) .support) -> U a)) -> (|-) a (bindTerm ((pres .axiom eq) .lhs) env) (bindTerm ((pres .axiom eq) .rhs) env) Instances of axioms are theorems
Congruence : (t : Term (pres .signature) (Fin n)) -> ((x : Fin n) -> (|-) a (lhs x) (rhs x)) -> (|-) a (bindTerm t lhs) (bindTerm t rhs) Theorems are congruences w.r.t. algebraic terms
Fixity Declaration: infix operator, level 4quotientSetoid : (pres : Presentation) -> PresetoidAlgebra (pres .signature) -> Setoid- Totality: total
Visibility: public export quotientSetoidAlgebra : (pres : Presentation) -> PresetoidAlgebra (pres .signature) -> SetoidAlgebra (pres .signature)- Totality: total
Visibility: public export QuotientModel : (pres : Presentation) -> PresetoidAlgebra (pres .signature) -> Model pres Quotient an algebra and a set of assumptions by the equational theory generated by it
Totality: total
Visibility: public exportdata FreePresetoid : (sig : Signature) -> (x : Setoid) -> Term sig (U x) -> Term sig (U x) -> Type Auxiliary data structure: promote the equivalence relation of a
setoid to a relation (PER, in fact) over the variable terms.
Totality: total
Visibility: public export
Constructor: Assume : (x .equivalence) .relation i j -> FreePresetoid sig x (Done i) (Done j)
Hint: Show (FreePresetoid sig x u v)
QuotientData : (pres : Presentation) -> Setoid -> PresetoidAlgebra (pres .signature) The algebra and relation over it to generate the equational
theorems of the theory
Totality: total
Visibility: public exportF : (pres : Presentation) -> Setoid -> Model pres The free model over a setoid
Totality: total
Visibility: public exportFreeDataEnv : (pres : Presentation) -> (x : Setoid) -> x ~> cast (F pres x) The environment data for the universal property of the free model
Totality: total
Visibility: public exportFreeData : (pres : Presentation) -> (x : Setoid) -> ModelOver pres x Data for the universal property of the free model
Totality: total
Visibility: public exportfreeSem : (pres : Presentation) -> (x : Setoid) -> (t : Term (pres .signature) (U x)) -> bindTerm t (((FreeData pres x) .Env) .H) = t Semantics in the free algebra is the identity
Totality: total
Visibility: exportFreeUPExistsHHH : (pres : Presentation) -> (x : Setoid) -> ExtenderFunction The function underlying the mediating homomorphism in the
universal property of the free model
Totality: total
Visibility: public exportFreeUPExistsHHHomomorphic : (pres : Presentation) -> (x : Setoid) -> (other : ModelOver pres x) -> SetoidHomomorphism (cast (F pres x)) (cast (other .Model)) (FreeUPExistsHHH pres x other) States: The mediating homomorphism in the universal property of
the free model is a setoid homomorphism.
Totality: total
Visibility: public exportFreeUPExistsHH : (pres : Presentation) -> (x : Setoid) -> ExtenderSetoidHomomorphism States: The mediating setoid homomorphism in the universal
property of the free model.
Totality: total
Visibility: public exportFreeUPExists : (pres : Presentation) -> (x : Setoid) -> Extender States: The mediating homomorphism in the universal property of
the free model.
Totality: total
Visibility: public exportFreeUPUnique : (pres : Presentation) -> (x : Setoid) -> Uniqueness Uniqueness of the mediating homomorphism in the universal property
of the free model.
Totality: total
Visibility: public exportFreeIsFree : (pres : Presentation) -> (x : Setoid) -> Freeness (FreeData pres x) The free model is indeed free.
Totality: total
Visibility: public exportFree : (pres : Presentation) -> (x : Setoid) -> Free pres x Constructs the free model of a presentation over a given setoid.
The equivalence relation in the resulting setoid might be
undecidable, even if the original setoid was a decidable setoid
(or even a decidable set).
Totality: total
Visibility: public export