Idris2Doc : Frex.Free.Construction

Frex.Free.Construction

Construct the free model over a setoid
Small print: the setoid's equivalence relation may not be decidable

Definitions

recordPresetoidAlgebra : Signature->Type
  Auxiliary abstraction: an algebra with a relation over it

Totality: total
Visibility: public export
Constructor: 
MkPresetoidAlgebra : {0Sig : Signature} -> (algebra : AlgebraSig) -> (0_ : (Ualgebra->Ualgebra->Type)) ->PresetoidAlgebraSig

Projections:
.algebra : {0Sig : Signature} ->PresetoidAlgebraSig->AlgebraSig
0.relation : {0Sig : Signature} -> ({rec:0} : PresetoidAlgebraSig) ->U (algebra{rec:0}) ->U (algebra{rec:0}) ->Type

Hint: 
Cast (SetoidAlgebrasig) (PresetoidAlgebrasig)
.algebra : {0Sig : Signature} ->PresetoidAlgebraSig->AlgebraSig
Totality: total
Visibility: public export
algebra : {0Sig : Signature} ->PresetoidAlgebraSig->AlgebraSig
Totality: total
Visibility: public export
0.relation : {0Sig : Signature} -> ({rec:0} : PresetoidAlgebraSig) ->U (algebra{rec:0}) ->U (algebra{rec:0}) ->Type
Totality: total
Visibility: public export
0relation : {0Sig : Signature} -> ({rec:0} : PresetoidAlgebraSig) ->U (algebra{rec:0}) ->U (algebra{rec:0}) ->Type
Totality: total
Visibility: public export
0U : PresetoidAlgebrasig->Type
  Carrier of underlying algebra

Totality: total
Visibility: public export
data(|-) : (a : PresetoidAlgebra (pres.signature)) ->Rel (Ua)
  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.relationxy->(|-)axy
  Include assumptions in `a` as thereoms.
Refl : (x : Ua) ->(|-)axx
  Reflexivity
Sym : (|-)axy->(|-)ayx
Transitive : (|-)axy->(|-)ayz->(|-)axz
ByAxiom : (eq : Axiompres) -> (env : (Fin ((pres.axiomeq) .support) ->Ua)) ->(|-)a (bindTerm ((pres.axiomeq) .lhs) env) (bindTerm ((pres.axiomeq) .rhs) env)
  Instances of axioms are theorems
Congruence : (t : Term (pres.signature) (Finn)) -> ((x : Finn) ->(|-)a (lhsx) (rhsx)) ->(|-)a (bindTermtlhs) (bindTermtrhs)
  Theorems are congruences w.r.t. algebraic terms

Fixity Declaration: infix operator, level 4
quotientSetoid : (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) ->Modelpres
  Quotient an algebra and a set of assumptions by the equational theory generated by it

Totality: total
Visibility: public export
dataFreePresetoid : (sig : Signature) -> (x : Setoid) ->Termsig (Ux) ->Termsig (Ux) ->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) .relationij->FreePresetoidsigx (Donei) (Donej)

Hint: 
Show (FreePresetoidsigxuv)
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 export
F : (pres : Presentation) ->Setoid->Modelpres
  The free model over a setoid

Totality: total
Visibility: public export
FreeDataEnv : (pres : Presentation) -> (x : Setoid) ->x~>cast (Fpresx)
  The environment data for the universal property of the free model

Totality: total
Visibility: public export
FreeData : (pres : Presentation) -> (x : Setoid) ->ModelOverpresx
  Data for the universal property of the free model

Totality: total
Visibility: public export
freeSem : (pres : Presentation) -> (x : Setoid) -> (t : Term (pres.signature) (Ux)) ->bindTermt (((FreeDatapresx) .Env) .H) =t
  Semantics in the free algebra is the identity

Totality: total
Visibility: export
FreeUPExistsHHH : (pres : Presentation) -> (x : Setoid) ->ExtenderFunction
  The function underlying the mediating homomorphism in the
universal property of the free model

Totality: total
Visibility: public export
FreeUPExistsHHHomomorphic : (pres : Presentation) -> (x : Setoid) -> (other : ModelOverpresx) ->SetoidHomomorphism (cast (Fpresx)) (cast (other.Model)) (FreeUPExistsHHHpresxother)
  States: The mediating homomorphism in the universal property of
the free model is a setoid homomorphism.

Totality: total
Visibility: public export
FreeUPExistsHH : (pres : Presentation) -> (x : Setoid) ->ExtenderSetoidHomomorphism
  States: The mediating setoid homomorphism in the universal
property of the free model.

Totality: total
Visibility: public export
FreeUPExists : (pres : Presentation) -> (x : Setoid) ->Extender
  States: The mediating homomorphism in the universal property of
the free model.

Totality: total
Visibility: public export
FreeUPUnique : (pres : Presentation) -> (x : Setoid) ->Uniqueness
  Uniqueness of the mediating homomorphism in the universal property
of the free model.

Totality: total
Visibility: public export
FreeIsFree : (pres : Presentation) -> (x : Setoid) ->Freeness (FreeDatapresx)
  The free model is indeed free.

Totality: total
Visibility: public export
Free : (pres : Presentation) -> (x : Setoid) ->Freepresx
  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