******************************************************************************* ** CaSAPI - Credulous and Sceptical Argumentation Prolog Implementation *** ******************************************************************************* This file is documenting how to install, run and utilise the CaSAPI program in its latest version 4.3 Installation: 1) Obtain a Prolog installation (e.g. SWI-Prolog, SICStus Prolog, QuProlog etc.) and follow the installation instructions of the chosen Prolog distribution. CaSAPI has been implemented using SICStus Prolog, but should run in most standard Prologs. 2) Download the CaSAPI system from www.doc.ic.ac.uk/~dg00/casapi.html by right-clicking on the appropriate link and saving the zipped archive on your computer. 3) Unzip the archive, using the unzip command under Linux, StuffIt for Mac or WinZip for Microsoft systems. A directory called "CaSAPI v4.3 Code" will be created which contains all the system files needed and several standard examples input files. 4) Download one of the examples provided on the website (e.g. villa.pl). Running CaSAPI: 4) Start up the Prolog engine (e.g. by typing "sicstus" in a Unix terminal. 5) Once Prolog is running, type "[casapi]." and "[villa]." in order to load the CaSAPI program and the example file. Note the use of the period/full-stop after the bracket. If you want to load an example file from a different directory, please put the path in single quotes, e.g. to load the second test file from the sub-directoory "StandardTests", please type "['./StandardTests/test_02.pl']." 6) In order to execute CaSAPI with the default execution options, simply type "run." One can modify the amount of output, the number of answers and the filename where the output is saved to. By typing "help." a screen will display all the options available. Note that by default, the output is saved to a file called "output.log". 7) Advanced users can control CaSAPI even more by the selecting functions that perform player choice, argument choice, sentence choice and rule choice. The available options are displayed after typing "advanced." Representation format of example files: * Rules: each rule should be denoted "myRule(LHS, RHS)." where LHS is a sentence from the language and RHS is a list(!) of sentences that represent the premises. * Assumptions: each assumption is represented as "myAsm(A)" where A is a sentence from the language. * Contrary: is a binary predicate that defines the notion of contrary. * Belief/sentence to be proved: the predicate toBeProved(X) specifies a list X which holds the initial claims. For more information, the user is invited to read some of the publications on the website. Example: --------------------------------------------------------------------------- myRule(not(a),[a]). myRule(not(a),[b]). myRule(not(b),[a]). myRule(not(c),[d]). myRule(not(d),[c]). myAsm(a). myAsm(b). myAsm(c). myAsm(d). toBeProved([not(a)]). contrary(a,not(a)). contrary(b,not(b)). contrary(c,not(c)). contrary(d,not(d)). ------------------------------------------------------------------------------ Using this input and typing "run.", CaSAPI will intend to prove "not(a)" and according to the first two rules, this can be done by showing that "a" holds or that "b" holds. Noisy output starts as follows: ------------------------------------------------------------------------------ - Step 0: - Content of this element: - PropNodes: [info(localG(not(a)),argN(1),attacks(nothing),unmarked([not(a)]),marked([]))] - OppoNodes: [] - DefnceAss: [] - Culprits : [] - Arguments: [] - Relations: [] - - CASE 2 - Step 1: - Content of this element: - PropNodes: [info(localG(not(a)),argN(1),attacks(nothing),unmarked([a]),marked([]))] - OppoNodes: [] - DefnceAss: [a] - Culprits : [] - Arguments: [] - Relations: [] - - CASE 1 - Step 2: - Content of this element: - PropNodes: [] - OppoNodes: [info(localG(not(a)),argN(2),attacks(1),unmarked([not(a)]),marked([]))] - DefnceAss: [a] - Culprits : [] - Arguments: [argument(1,[],[a],not(a))] - Relations: [attacks(1,nothing)] - - . - . - . - ---------------------------------------------------------------------------- After some backtracking, the output ends with the final answer: ---------------------------------------------------------------------------- - Step 5: - Content of this element: - PropNodes: [] - OppoNodes: [] - DefnceAss: [b,b] - Culprits : [a] - Arguments: [argument(1,[],[b],not(a)),argument(6,[],[a],not(b)),argument(7,[],[b],not(a))] - Relations: [attacks(1,nothing),attacks(6,1),attacks(7,6)] - - FINISHED, the defence set is: [b] - - yes ------------------------------------------------------------------------------ If you have any questions, discovered a bug or desire further features for CaSAPI, please contact its developer Dorian (login: dg00) at login "at" doc.ic.ac.uk ****************************************************************************** ** Copyright 2006... All rights reserved... No guarantees for anything... *** ******************************************************************************