Ehex is a prototype solver for problems encoded as epistemic logic programs (ELP). ELP programs extend the language of ordinary logic programs with modal operators as in modal logic. The solver includes a parser for ELP programs, which supports the traditional syntax of modal literals on top of the ASP-Core-2 syntax. It outputs the world views of a given ELP program that correspond to the solutions of the problem to be solved. For computing world views, the solver uses HEX programs containing external atoms, which are used for consistency checking during the evaluation of the HEX programs by reasoning over certain subprograms.
The solver is implemented as a command line application written in Python and can be installed with pip from this repository. To install ehex into your local file system run:
pip install --user git+https://github.com/hexhex/ehex/
Ehex depends on Python >= 3.10 and the TatSu grammar compiler >= 5.8, which is installed as a dependency when pip is used. For reasoning tasks it requires recent binaries of clingo and dlvhex2 in one of the user's PATH directories. Additionally the dlvhex-nestedhexplugin must be installed.
The solver reads input from the files given as command line arguments or from stdin. For more information, type ehex -h
.
Example:
$ echo "a :- M a." | ehex
World: 1@1
Modals: {M a}
{a}
Some example programs are included in the examples directory.