language-toolkit-1.2.0.0: A set of tools for analyzing languages via logic and automata
Copyright(c) 2022-2024 Dakotah Lambert
LicenseMIT
Safe HaskellSafe-Inferred
LanguageHaskell2010

LTK.Decide.Acom

Description

This module implements an algorithm to decide whether a given FSA has a semigroup both Commutative and Aperiodic (Acom). This is the class that LTT localizes (Almeida, 1989).

https://doi.org/10.1016/0022-4049(89)90124-2

Since: 1.1

Synopsis

Documentation

isAcom :: (Ord n, Ord e) => FSA n e -> Bool Source #

True iff the automaton recognizes a \(\langle 1,t\rangle\)-LTT stringset.

isAcomM :: (Ord n, Ord e) => SynMon n e -> Bool Source #

True iff the monoid is aperiodic and commutative

isAcoms :: FiniteSemigroupRep s => s -> Bool Source #

True iff the semigroup is aperiodic and commutative

Since: 1.2

comTest :: (Ord n, Ord e) => SynMon n e -> Set (State ([Maybe n], [Symbol e])) -> Bool Source #

True iff the specified elements commute.