Goéland
Goéland is an automated theorem prover using the tableau method for first order logic.
It supports TPTP FOF files (TFF/THF files will be supported in a future version).
License
Goéland is licensed under the CeCILL 2.1 License. See LICENSE.
Installation
Dependencies
Goéland needs Go (version >= 1.13, download directly from the site) and goyacc (sudo apt-get install golang-golang-x-tools
) to compile.
Compilation
Proceed as follows to build Goéland from source (assuming that you currently are in the root folder of the repository):
$ cd src
$ make
This should produce an executable in the _build
folder, and .so
libraries for each module in the plugins
folder.
You can now run Goéland:
$ ./_build/goeland -h
Usage of ./_build/goeland:
[...]
Usage
This is still a preliminary version of the implementation. Goéland must be called from the command line. To solve a problem.p
problem, just give this problem as an argument:
$ ./_build/goeland problem.p
By default, this will run Goéland, with all its extensions, on the problem. Beware that currently, include
s statements in TPTP problem files aren't managed by the parser. It is scheduled to be added in the near future. For the moment, the python script add_include.py can do this job if needed.
Parameters
The parameters must be passed before the problem file. The available parameters are as follows:
Parameter flag | Effect |
---|---|
-l | Re-entry limit of free variables in destructive mode (default: -1) |
-nd | Use of non-destructive mode (default: false) |
-proof | Generate a proof tree in json (default: false). Visualisation of this proof tree can be done with the visualisation module. |
-exchanges | Generate an excahnge tree in json (default: false). Visualisation of this exchange tree can be done with the visualisation module. |
-loadPlugins | Use Goéland with plugins (default: true) |
Result values
Since the tableau method only proves theorems, Goéland returns Valid
when a proof is found, otherwise it loops to infinity, trying to increase the reintroduction limit.