Module Monoid.Free.Anick

module Anick: sig .. end

Anick chains.


type t = Monoid.Free.word list 

An Anick chain.

val empty : t

The empty chain.

val singleton : X.t -> t

The singleton chain.

val singletons : X.t list -> t list

Singleton chains.

val hd : t -> Monoid.Free.word

Head of the chain.

val tl : t -> t

Tail of the chain.

val weq : t -> t -> bool
val eq : t list -> t list -> bool
val compare : t list -> t list -> int
val extend : Monoid.Free.word list -> t list -> t list

Compute (n+1)-chains from n-chains. The first argument is the list of minimal reducible words.

val extend : Monoid.Free.word list -> t list -> t list

Add an element to a chain.

val eval : t -> t

Concatenation of the elements of the chain.

val length : t -> int

Dimension of the chain.

val to_string : t -> string

String representation.