**********************************************************************
   PIFF Compiler for Propositional Abductive Logic Programming (V3)
**********************************************************************

====================
Testing the compiler
====================

Run piff_test.bat to test the PIFF compiler. Adjust the path to SWI-Prolog in this batch file, if necessary.


====================
Running the compiler
====================

Syntax of ALP programs follows the system SCIFF [1]. Tests in piff_test.pl can be examined for a quick glance on the language syntax.

Compiling:
Run piffc.bat, again adjusting the SWI-Prolog path, and compile an ALP program, such as test.pl in the folder ./experiments/t4

1 ?- project('experiments/t4/test').
Reading KB file experiments/t4/test.pl...DONE.
Reading IC file experiments/t4/test.ic...DONE.
Compiling ICs...DONE.
Compiling KB file experiments/t4/test.pl...DONE.
true.

This generates the compiled Prolog file test_c.pl in the same folder.


==================================
Executing the compiled Prolog file
==================================

In a fresh SWI-Prolog instance, consult the compiled program and type the goal "run." For example:


1 ?- ['experiments/t4/test_c.pl'].
true.

2 ?- run.
Abducibles: []
true ;
false.

3 ?-


Additional details can be found in the Prolog files piff_test.pl and piffc.pl


==================================
References
==================================

[1] M. Alberti, M. Gavanelli, E. Lamma. "The CHR-based Implementation of the SCIFF Abductive System". Fundamenta Informaticae 124. 1–17. 2013
