Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arthur-milchior/regaut

An algorithm that decide if a finite deterministic automaton accepts a set definable in FO[<,mod]
https://github.com/arthur-milchior/regaut

Last synced: about 1 month ago
JSON representation

An algorithm that decide if a finite deterministic automaton accepts a set definable in FO[<,mod]

Awesome Lists containing this project

README

        

This program has been written by Arthur Milchior as part of his Computer Science PhD at University Paris Diderot.

It can be compiled with
ocamlbuild main.native

The program can run in two modes
In the mode input (default), the program reads a file (by default the file is ./input, it can otherwise be changed with the command line argument «-input Input_File»), containing automata. The EBNF of this file is given in automaton.ebnf
the program print "Name of the automaton:OK: a formula defining the set accepted by the state" if the automaton accepts a state definable in the logic, or
"name of the automaton: its description: the property it does not satisfy" otherwise

Note that only the program currently considers only automata reading
set of non-negative integers. The options -none, -quantifier-free and -existential selects whether our algorithm generate no formula, quantifier-free formulas(takes exponential-time), or existential formulas(takes polynomial-time).

In the mode random, selected by the option -random, 1 (or the argument given after the option -number) formulas F of length 10 (or the argument given after the option -size) in dimension 2 (or the argument given after the option -dimension) and base 4 (or the argument given after the option -base). The minimal automaton A accepting the set defined by F is then computed using Büchi-Bruyère algorithm. Our algorithm is then applied to A. The computation time of our algorithm is then appended to formula.dat (this file must already exists)

[email protected]