TOAST (The Online Argument Structures Tool) is a web-based implementation of the ASPIC+ framework, characterised by Prakken [2010].
There are two interfaces to TOAST - a web form and a web service. The web form allows you to enter an argumentation system, view the results of evaluating it. The web service interface allows you to connect your own applications to TOAST and recieve the results in JSON format. Documentation for the web service is available.
The syntax for using the TOAST web interface is as follows:
The knowledge base is split into Axioms, Premises and Assumptions. For all three sets, formulae are entered as a semi-colon seperated list of terms, with "~" being used for classical negation:
p;
q;
something_in_prose;
~r;
TOAST also supports Prolog-style first-order predicates:
software(toast);
drinks(bob, cola);
Note that the content of predicates must start with lowercase letters, and no formulae can contain spaces.
The knowledge base prefereces are entered as a semi-colon seperated list of elements, with each element having the following format: lessPreferredFormula < morePreferredFormula; Note that as per the ASPIC+ theory, axioms cannot be part of a preference relation.
If the knowledge base is expressed in fist-order logic, preferences can include variables that quantify over all predicates of the given name: stayAtHome(X) < travel(X); Note that variables must start with an uppercase letter.
Rules are entered in the following format: [label] {comma-seperated list of antecedents}{implication}{consequent}; Implication is either "=>" (for a defeasible rule) or "->" for a strict rule.
When using first-order logic, rules can be expressed as general patterns of inference using variables:
[r1] software(X), useful(X) => use(X);
[r2] drinks(X, cola) => buy(X, cola);
All rules must be labelled. Rule labels are used for expressing undercutters:
[r3] p => ~[r1];
Rule preferences are entered as a semi-colon seperated list of elements, with each element having the following format: [label_of_less_preferred_rule] < [label_of_more_preferred_rule] For example: [r1] < [r2] Note that as per the ASPIC+ theory, strict rules cannot be part of a preference relation.
Contrariness relations allow one formula to be declared the contrary of another, or for two formulae to be declared contradictory.
TOAST accepts both these these forms. Examples will be used to describe the syntax:
p^q;
This means that p is a contrary of q.
r-s;
This means that r and s are contradictory, and is the same as:
r^s;
s^r;
As with preferences, general contrariness can be defined when using first-order logic:
food(X)-drink(X);
This means that all things declared as food contradict all things declared as drink, and vice versa.
The query determines whether or not there is an acceptable argument for the given formula, under the specified semantics, in the abstract framework derived from the given AS.
This decides whether the last link or weakest link principle is used to determine the ordering on arguments. Please refer to [Prakken 2010] for details.
H. Prakken. An abstract framework for argumentation using structured arguments. Argument and Computation, 1(2):93-124, 2010.