Development of PAL is no longer
supported. See the
P A L
PAL is a causal language for describing action domains. There are
main parts in a PAL theory: the declarations part and the sentences.
allow describing the sets of actions and fluents together with the set
of rules that describe the domain behavior. Rule semantics relies on
concept of Pertinence (a rule can be applied iff its condition
true and directly or indirectly depends on the performed actions). The
sentences allow initializing and updating an actual narrative (that is,
describe the things that have actually happened) and making queries
the current narrative or a hypothetical future one.
- Rules are finally grounded and encoded into a Logic Program which
The `well-founded' version does not make query optimization.
are answered by simply trying each possible combination.
Persistence short-circuit operators (conjunction && and
||) have been incorporated
New pseudo-action "print(expr,expr,...);"
How to use it:
- a specialized version of Well Founded Semantics
- Stable Models semantics via connection to smodels
well-founded version online)
- Example of ramifications: Lin's
- Concurrent actions: the
soup bowl example, and a second
version with intermediate fluents.
- A simple but large temporal projection problem: a binary
counter of 1000 bits
and Cannibals (and a second
version with more intermediate actions)
- Implementations of a queue
and a stack
- Some cycles: abba0.pal,
- Example of well
founded based logic program encoded in pal.
- An example of pertinence: the