Coder Social home page Coder Social logo

coq-community / reglang Goto Github PK

View Code? Open in Web Editor NEW
42.0 8.0 7.0 553 KB

Regular Language Representations in Coq [maintainers=@chdoc,@palmskog]

Home Page: https://coq-community.org/reglang/

License: Other

Makefile 0.18% JavaScript 3.87% CSS 3.56% HTML 2.50% Coq 87.04% Nix 2.85%
coq mathcomp regular-languages ssreflect regexp docker-coq-action coq-platform mathcomp-ci coq-nix-toolbox

reglang's Introduction

Regular Language Representations in Coq

Docker CI Contributing Code of Conduct Zulip coqdoc DOI

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

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 languages
  • languages.v: languages and decidable languages
  • dfa.v:
    • results on deterministic one-way automata
    • definition of regularity
    • criteria for nonregularity
  • nfa.v: Results on nondeterministic one-way automata
  • regexp.v: Regular expressions and Kleene Theorem
  • minimization.v: minimization and uniqueness of minimal DFAs
  • myhill_nerode.v: classifiers and the constructive Myhill-Nerode theorem
  • two_way.v: deterministic and nondeterministic two-way automata
  • vardi.v: translation from 2NFAs to NFAs for the complement language
  • shepherdson.v: translation from 2NFAs and 2DFAs to DFAs (via classifiers)
  • wmso.v:
    • decidability of WS1S
    • WS1S as representation of regular languages

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.