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.LPT

Description

This module implements an algorithm to decide whether a syntactic semigroup \(S\) is locally Piecewise Testable (LPT). This is the case iff each of its idempotents \(e\) satisfies the property that \(eSe\) is \(\mathcal{J}\)-trivial.

Since: 1.0

Synopsis

Documentation

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

True iff the automaton recognizes an LPT stringset.

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

True iff the monoid is locally \(\mathcal{J}\)-trivial.

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

True iff the semigroup is locally \(\mathcal{J}\)-trivial.

Since: 1.2