language-toolkit
Copyright(c) 2025 Dakotah Lambert
LicenseMIT
Safe HaskellSafe-Inferred
LanguageHaskell2010

LTK.Decide.JoinVariety

Description

This module provides a mechanism for deciding membership in conjunctive varieties. It extends the systems defined by LTK.Decide.Variety, but the more complex structure used incurs a performance cost.

Since: 1.3

Synopsis

Documentation

isJoinVariety :: (Ord n, Ord e) => String -> FSA n e -> Maybe Bool #

Determine if the syntactic join-semigroup of the given language is a member of the variety given by equations and inequalities. The precondition, that the automaton be normalized, is not checked.

isMJoinVariety :: (Ord n, Ord e) => String -> FSA n e -> Maybe Bool #

Determine if the syntactic join-monoid of the given language is a member of the variety given by equations and inequalities. The precondition, that the automaton be normalized, is not checked.

isJoinVarietyJS :: Ord e => String -> JSemigroup e -> Maybe Bool #

Determine if the given join-semigroup is a member of the variety given by equations and inequalities.