Idris2Doc : Frexlet.Monoid.Frex.Structure

Frexlet.Monoid.Frex.Structure

The structure of the frex for (mere) monoids
Its elements are given by a 'polynomial' of the form:

an * xn * ... a1 * x1 * a0

Its unit is 1, and multiplication is given by:

(an * xn * ... a1 * x1 * a0) *(bm * ym * ... b1 * y1 * b0)
:= an * xn * ... a1 * x1 * (a0*bm) * ym ... * y1 * b0

and some care is required for the edge cases.

Definitions

dataUltList : Type->Type->Type
  A list of elements alternating between two types starting and
ending with an `ult`imate.

Totality: total
Visibility: public export
Constructors:
Ultimate : ult->UltListpenult
ConsUlt : ult->pen->UltListpenult->UltListpenult

Hints:
Uninhabited (UltListEqualitypenRelultRel (Ultimatei) (ConsUltj1yjs))
Uninhabited (UltListEqualitypenRelultRel (ConsUlti1xis) (Ultimatej))
Nil : ()
Totality: total
Visibility: public export
(::) : ult-> () ->UltListpenult
Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 7
(::) : (ult, pen) ->UltListpenult->UltListpenult
Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 7
.mult : (a : Monoid) ->Ua->UltListpen (Ua) ->UltListpen (Ua)
Totality: total
Visibility: public export
(++) : UltListpen (Ua) ->UltListpen (Ua) ->UltListpen (Ua)
Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 7
dataUltListEquality : (pen->pen->Type) -> (ult->ult->Type) ->UltListpenult->UltListpenult->Type
  Equality for UltList pen ult

Totality: total
Visibility: public export
Constructors:
Ultimate : ultRelij->UltListEqualitypenRelultRel (Ultimatei) (Ultimatej)
ConsUlt : ultRelij->penRelxy->UltListEqualitypenRelultRelisjs->UltListEqualitypenRelultRel ((i, x) ::is) ((j, y) ::js)

Hints:
Uninhabited (UltListEqualitypenRelultRel (Ultimatei) (ConsUltj1yjs))
Uninhabited (UltListEqualitypenRelultRel (ConsUlti1xis) (Ultimatej))
(::) : ultRelij-> () ->UltListEqualitypenRelultRel (Ultimatei) (Ultimatej)
Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 7
(::) : (ultRelij, penRelxy) ->UltListEqualitypenRelultRelisjs->UltListEqualitypenRelultRel ((i, x) ::is) ((j, y) ::js)
Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 7
UltListReflexive : (pen : Setoid) -> (ult : Setoid) -> (is : UltList (Upen) (Uult)) ->UltListEquality ((pen.equivalence) .relation) ((ult.equivalence) .relation) isis
Totality: total
Visibility: public export
UltListSymmetric : (pen : Setoid) -> (ult : Setoid) -> (is : UltList (Upen) (Uult)) -> (js : UltList (Upen) (Uult)) ->UltListEquality ((pen.equivalence) .relation) ((ult.equivalence) .relation) isjs->UltListEquality ((pen.equivalence) .relation) ((ult.equivalence) .relation) jsis
Totality: total
Visibility: public export
UltListTransitive : (pen : Setoid) -> (ult : Setoid) -> (is : UltList (Upen) (Uult)) -> (js : UltList (Upen) (Uult)) -> (ks : UltList (Upen) (Uult)) ->UltListEquality ((pen.equivalence) .relation) ((ult.equivalence) .relation) isjs->UltListEquality ((pen.equivalence) .relation) ((ult.equivalence) .relation) jsks->UltListEquality ((pen.equivalence) .relation) ((ult.equivalence) .relation) isks
Totality: total
Visibility: public export
UltListSetoid : Setoid->Setoid->Setoid
Totality: total
Visibility: public export
MultHomomorphism : (a : Monoid) -> (s : Setoid) ->SetoidHomomorphism (Pair (casta) (UltListSetoids (casta))) (UltListSetoids (casta)) (uncurry (a.mult))
Totality: total
Visibility: public export
AppendHomomorphismProperty : (a : Monoid) -> (x : Setoid) -> (is1 : UltList (Ux) (Ua)) -> (is2 : UltList (Ux) (Ua)) -> (js1 : UltList (Ux) (Ua)) -> (js2 : UltList (Ux) (Ua)) -> ((UltListSetoidx (casta)) .equivalence) .relationis1is2-> ((UltListSetoidx (casta)) .equivalence) .relationjs1js2-> ((UltListSetoidx (casta)) .equivalence) .relation (is1++js1) (is2++js2)
Totality: total
Visibility: public export
AppendHomomorphism : (a : Monoid) -> (x : Setoid) ->SetoidHomomorphism (Pair (UltListSetoidx (casta)) (UltListSetoidx (casta))) (UltListSetoidx (casta)) (uncurry(++))
Totality: total
Visibility: public export
0FrexCarrier : Monoid->Setoid->Type
Totality: total
Visibility: public export
.sta : (a : Monoid) ->Ua->UltListx (Ua)
  Embedding of concrete elements in the frex by identifying
i with the singleton i

Totality: total
Visibility: public export
.dyn : (a : Monoid) ->x->UltListx (Ua)
  Embedding variables in the frex by identifying
x with 1 * x * 1

Totality: total
Visibility: public export
FrexAlgebraStructure : (a : Monoid) -> (x : Setoid) ->algebraOver'Signature (FrexCarrierax)
Totality: total
Visibility: public export
FrexStructure : Monoid->Setoid->MonoidStructure
Totality: total
Visibility: public export
FrexSetoid : Monoid->Setoid->Setoid
Totality: total
Visibility: public export
MonAction : (a : Monoid) -> (s : Setoid) ->ActionData (Ua) (FrexCarrieras)
Totality: total
Visibility: public export