language-toolkit-1.2.0.0: A set of tools for analyzing languages via logic and automata

language-toolkit-1.2.0.0: A set of tools for analyzing languages via logic and automata

This provides the Language Toolkit (LTK) library and associated executables. There are four main components:

  • factorize, which takes as input a set of finite-state automata and writes out for each one a set of constraints that approximates (or, if possible, defines) it.
  • plebby, an interactive theorem-prover in which one can define languages via logical constraints or import finite-state automata and get information about the languages so defined.
  • classify, a command-line classification program useful for batch jobs.
  • And the LTK library, which includes the functions used by factorize and plebby as well as several other useful tools.

This project began as a simple tool for working with finite-state automata, and has grown considerably more useful in working specifically with sub-regular languages as it has matured.

Modules