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

Description

This module implements an algorithm to decide whether a given FSA is Generalized Definite (GD) based on the semigroup characterization, or if it is Tier-Based Generalized Definite (TGD).

Since: 1.0

Synopsis

Documentation

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

True iff the automaton recognizes a generalized definite stringset.

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

True iff the monoid satisfies \(eSe=e\) for all idempotents \(e\), except the identity if it is not instantiated.

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

True iff the semigroup satisfies \(eSe=e\) for all idempotents \(e\).

Since: 1.2

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

True iff the language is generalized definite for some tier.

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

True iff the projected subsemigroup satisfies eSe=e

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

True iff the projected subsemigroup satisfies eSe=e

Since: 1.2