language-toolkit-1.0.1.0: A set of tools for analyzing languages via logic and automata
Copyright(c) 2021 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 Source #

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) => FSA (n, [Symbol e]) e -> Bool Source #

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