Skip to content
/ ehex Public

Epistemic Logic Program Solver Using HEX Programs

Notifications You must be signed in to change notification settings

hexhex/ehex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Epistemic Logic Program Solver Using HEX Programs

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.

Installation

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.

Usage

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.

About

Epistemic Logic Program Solver Using HEX Programs

Resources

Stars

Watchers

Forks

Packages

No packages published