Module Mugen.Shift

Stock displacement algebras

module type S = sig ... end

The signature of a displacement algebra.

module Nat : sig ... end

Natural numbers with addition. Caveats: it does not handle integer overflow.

module Int : sig ... end

Integers with addition. Caveats: it does not handle integer overflow.

module NonPositive : sig ... end

Non-positive integers with addition. Caveats: it does not handle integer overflow.

module Constant (Act : S) (Const : sig ... end) : sig ... end

Constant displacements.

module Product (X : S) (Y : S) : sig ... end

Binary products.

module Lexicographic (X : S) (Y : S) : sig ... end

Binary products, but with the lexicographical order.

module NearlyConstant (Base : S) : sig ... end

Infinite products with finite elements different from a fixed displacement.

module FiniteSupport (Base : S) : sig ... end

Infinite products with finite supports. A special case of NearlyConstant where the base is id.

module Prefix (Base : sig ... end) : sig ... end

Prefix displacements.

module Opposite (Base : S) : sig ... end

Opposite displacements