Reglang
Regular Language Representations in Coq [maintainers=@chdoc,@palmskog]
Install / Use
/learn @rocq-community/ReglangREADME
Regular Language Representations in Coq
This library provides definitions and verified translations between different representations of regular languages: various forms of automata (deterministic, nondeterministic, one-way, two-way), regular expressions, and the logic WS1S. It also contains various decidability results and closure properties of regular languages.
Meta
- Author(s):
- Christian Doczkal (initial)
- Jan-Oliver Kaiser (initial)
- Gert Smolka (initial)
- Coq-community maintainer(s):
- License: CeCILL-B
- Compatible Coq versions: 8.16 or later (use releases for other Coq versions)
- Additional dependencies:
- MathComp 2.0 or later (
ssreflectsuffices) - Hierarchy Builder 1.4.0 or later
- MathComp 2.0 or later (
- Coq namespace:
RegLang - Related publication(s):
Building and installation instructions
The easiest way to install the latest released version of Regular Language Representations in Coq is via OPAM:
opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-reglang
To instead build and install manually, do:
git clone https://github.com/coq-community/reglang.git
cd reglang
make # or make -j <number-of-cores-on-your-machine>
make install
HTML Documentation
To generate HTML documentation, run make coqdoc and point your browser at docs/coqdoc/toc.html.
See also the pregenerated HTML documentation for the latest release.
File Contents
misc.v,setoid_leq.v: basic infrastructure independent of regular languageslanguages.v: languages and decidable languagesdfa.v:- results on deterministic one-way automata
- definition of regularity
- criteria for nonregularity
nfa.v: Results on nondeterministic one-way automataregexp.v: Regular expressions and Kleene Theoremminimization.v: minimization and uniqueness of minimal DFAsmyhill_nerode.v: classifiers and the constructive Myhill-Nerode theoremtwo_way.v: deterministic and nondeterministic two-way automatavardi.v: translation from 2NFAs to NFAs for the complement languageshepherdson.v: translation from 2NFAs and 2DFAs to DFAs (via classifiers)wmso.v:- decidability of WS1S
- WS1S as representation of regular languages
Related Skills
node-connect
341.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.6kCommit, push, and open a PR
