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

LTK.Decide.GLPT

Description

This module implements an algorithm to decide whether a syntactic semigroup \(S\) is, on certain submonoids, Piecewise Testable (MePT). This is the case iff for each of its idempotents \(e\) it holds that \(eXe\) is \(\mathcal{J}\)-trivial, where X is the set generated by {ege : ugv=e for some u,v}.

Since: 1.0

Synopsis

Documentation

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

True iff the syntactic monoid of the automaton is in \(\mathbf{M_e J}\). This is a generalization of LPT in the same way that GLT is a generalization of LT.

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

True iff the given monoid is in \(\mathbf{M_e J}\).

isGLPTs :: FiniteSemigroupRep s => s -> Bool #

True iff the given semigroup is in \(\mathbf{M_e J}\).

Since: 1.2