NAME
Logic::Relational::Goal - Base class for relational logic goals.
SYNOPSIS
package Logic::Relational::Goal::MyGoal;
use parent 'Logic::Relational::Goal';
DESCRIPTION
Logic::Relational::Goal defines the interface for all logic goals in the engine. Every goal must implement expand and freshen.
METHODS
expand
Abstract method. Evaluates the goal and returns a list of successor Logic::Relational::State objects.
freshen
Abstract method. Takes a variable mapping and returns a freshened copy of the goal.
is_ground
Abstract method. Checks if the goal is ground (contains no unbound variables) under the current substitution.
term_is_ground
Helper method to check if a term is ground under a substitution.