This repository provides the top-level definition for interpretations of Situations in Logtalk.
Examples include: - SitCalc - STRIPState
A library implementing these protocols is suitable for use with BedSit for developing applications quickly and flexibly.
An additional category is provided to use queries with holds/2.
sitcalc::holds(Query, Situation).
Query what holds in a Situation. Queries can be Fluents, or
compound terms with and conjunction, or disjunction, not
for Prolog style negation, implies for implication and equivalentTo
for equivalence.
Caveats
- For the case
not P, Prolog style negation is used (+) - For the case where
P implies Q,Pis false, andQis not ground, we can't unifyQwith a false case due to Prolog style negation. - For the case where
P equivalentTo Qif eitherPorQare non-ground, only the case where bothPandQare true will hold. So ifPis ground to a false case andQis not ground, thenP equivalentTo Qwon't hold even if some value of Q would make it so. The same applies ifQis ground to the false case andPis not ground. This is due to the Prolog style negation.