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

Description

This module implements an algorithm to decide whether a given FSA is in B, the subclass of FO2[<] where all elements are idempotent but the operation is not necessarily commutative. Thus, this is a superclass of CB. The local and tier-local extensions are also provided.

Since: 1.0

Synopsis

Documentation

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

True iff the automaton recognizes a band stringset.

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

True iff the monoid is a band.

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

True iff the recognized stringset is locally a band.

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

True iff the monoid is locally a band.

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

True iff the recognized stringset is locally a band on some tier.

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

True iff the monoid is locally a band on some tier.

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

True iff the semigroup is a band.

Since: 1.2

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

True iff the semigroup is locally a band.

Since: 1.2

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

True iff the semigroup is locally a band on some tier.

Since: 1.2