Syntax for Inequalities: The syntax for inequalities and kernels is quite simple, with only a few different symbols being used. The general layout of an inequality is: {left hand tokens} <= {right hand tokens} For Kernels, only the right hand side of the inequality must be provided. Left Hand Symbols: s(x) : State symbol, where x is the (non-negative) integer ID of the state. a(x) : Action symbol, where x is the (non-negative) integer ID of the action. In practice, the user is seldom likely to require this. f(x|{symbol}) : Output symbol only. Represents the appearance of {symbol} for agent 'x'. s(x, y, z) : Output symbol only. When the appearance of a state returns multiple possibilities, the are shown in one state like this. a(x, y, z) : Output symbol only. When the appearance of an action returns multiple possibilities, the are shown in one action like this. Right Hand Symbols: d(x) : Dynamic Modality symbol, where x is the (non-negative) integer ID of the modality (non-negative). e(x) : Epistemic Modality symbol, where x is the (non-negative) integer ID of the modality (non-negative). f(x) : Fact symbol, where x is the (non-negative) integer ID of the fact (non-negative). Neutral Symbols (valid on either side). ^ or & : Conjunction. v or | : Disjunction. ( .. ) : Use parenthesis to define the scope of conjunctions and disjunctions. The scope is normally 1 symbol on each side, unless bracketing is used. Until automated checking is implemented, users must remember that a state symbol must always be the first symbol on the left hand side, and a fact symbol the final symbol on the right. This is particularly important when conjunctions/disjunctions have been used, as each possible break down must be valid (in this case, leading/trailing parenthesis symbols for aiding the parse order will not cause problems). For example: s(0) <= (d(0) ^ d(1)) e(0) f(0) is valid. This parses to d(0) e(0) f(0) and d(1) e(0) f(0) on the right hand side, both of which are valid (end with facts). s(0) <= d(0) ^ (d(1) e(0)) f(0) is valid. This parses to d(0) f(0) and d(1) e(0) f(0) on the right hand side, both of which are valid (end with facts). s(0) <= d(0) ^ (d(1) e(0) f(0)) is invalid. This parses to d(0) and d(1) e(0) f(0) on the right hand side, one of which does not end with a fact. Syntax of Appearance Lists: When asked for an appearance, a comma separated list of ID's is required. ID's are always non-negative integers. No comma is required after the last ID. For the appearance of actions, a hyphen '-' can be used instead of an integer to denote the null action (this is the appearance the no action occurred; i.e.: the agent saw nothing happen). Syntax of Yes/No Questions: These just require a simple Y for yes or N for no. The case is irrelevant.