---------------------------- The Smodels^A System README ---------------------------- This system consists of the following modules: ---------------------------------------------- 1. Preprocessor.pl. (A prolog source file). 2. Lparse 1.0.13. 3. Transformer. (A binary file) 3. Smodels 2.28. System Requirments: ------------------- 1. Linux O.S. 2. Sicstus prolog interpreter (Release 3.8 or later). Usage: ------ 1. After exctrating the archived files, run Sicstus prolog, inside sicstus prolog consult the preprocessor.pl file as follows: | ?- [preprocessor]. then run the following command: | ?- save_program(preproc,(main,halt)). now exit from the Sicstus shell to the command shell: | ?- halt. 2. Now run the following command: $ sm-aggs The sicstus prolog system will be started and waits for you to enter the ASP^A source file (the logic program with aggregates). |: 'file.lp'. After entering the ASP^A file name as shown above, all the answer sets of the program will be printed on the screen. You can modify the sm-aggs file if you needed only one answer or if you needed to use any other options of the Smodels. Syntax: --------- An aggregate atom has the form F({X, p(X,Y1,...,Yn)}) op Val. F is an aggregate function, current system support (sum,count,min,max). op is a relational operator (e.g., =, <, >, >=, <=, !=). Val is a constant or a bounded variable. Remarks: -------- 1. The current version allow only one aggregate in the body of a rule. 2. Aggregate atoms in the head are not allowed yet. 3. Choice rules, Cardinality and Weight constraints are allowed.