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

Description

This module implements an algorithm to decide whether a given FSA is in CB, the subclass of PT where additionally all elements of the syntactic monoid are idempotent. This is additionally a subclass of LT, because every submonoid of a semilattice remains a semilattice.

Since: 1.0

Synopsis

Documentation

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

True iff the automaton recognizes a semilattice stringset.

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

True iff the monoid is a semilattice.

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

True iff the semigroup is a semilattice.

Since: 1.2