Class Grounder

java.lang.Object
edu.uky.cs.nil.sabre.comp.Grounder

public class Grounder extends Object
Replaces all templates in a problem, such as fluents and events, with Logical.isGround() instances, such as ground fluents and ground events. Quantified expressions are also expanded and replaced with equivalent ground expressions.

For simplicity, elements of a problem can be defined with variables to indicate that they are defined for every possible value that the variable can stand for. For example, consider this problem:

entity Alice : character;
entity Bob : character;
property at(person : character) : location;
It defines a fluent whose name is "at" and with one parameter, a variable of type character. This concise definition actually defines two ground fluents:
  • at(Alice)
  • at(Bob)
A grounder is a compiler that replaces each of these template definitions with the many ground things they imply.
Author:
Stephen G. Ware