The applicability conditions of an action specify what needs to be true
in the world in order to carry out an action. These can refer to agent
capabilities, object configurations, etc., and are represented by
conjunctions of disjunctions of queries on the state of objects, agents,
and global variables (see Figure
). For instance, the
applicability conditions for changing a light-bulb could be represented
as: has(agent, light-bulb) AND (can_reach(agent,light-fixture) OR
has_ladder(agent)).
Figure: Applicability conditions as a series of
disjunctive-queries