pub fn solve_root_goal(
    max_size: usize,
    program: &Arc<ProgramEnvironment>,
    root_goal: &CanonicalGoal,
) -> Result<Answers, ExplorationError> {
    Forest::solve_root_goal(max_size, program, root_goal)
}
/// Finds all possible solutions to the given root goal in the context
/// of the given program, approximating if the size of solutions or
/// subqueries exceeds `max_size`.
///
/// If this returns `Ok`, a complete set of answers is returned, some
/// of which may be approximated. This can be converted into a
/// solution using the method `into_solution` on `Answers`.
///
/// If this returns `Err`, then the success or failure of the program
/// could not be interpreted due to some execution error (typically
/// involving negation of a term with unresolved existential variables
/// -- that is, a non-ground term -- which is called "floundering").
Finds all possible solutions to the given root goal in the context
of the given program, approximating if the size of solutions or
subqueries exceeds `max_size`.

If this returns `Ok`, a complete set of answers is returned, some
of which may be approximated. This can be converted into a
solution using the method `into_solution` on `Answers`.

If this returns `Err`, then the success or failure of the program
could not be interpreted due to some execution error (typically
involving negation of a term with unresolved existential variables
that is, a non-ground term -- which is called "floundering").
Finds all possible solutions to the given root goal in the context of the given program approximating if the size of solutions or subqueries exceeds ` max_size ` . If this returns ` Ok ` a complete set of answers is returned some of which may be approximated . This can be converted into a solution using the method ` into_solution ` on ` Answers ` . If this returns ` Err ` then the success or failure of the program could not be interpreted due to some execution error ( typically involving negation of a term with unresolved existential variables that is a non - ground term -- which is called " floundering " ) .
pub fn solve_root_goal(
    max_size: usize,
    program: &Arc<ProgramEnvironment>,
    root_goal: &CanonicalGoal,
) -> Result<Answers, ExplorationError> {
    Forest::solve_root_goal(max_size, program, root_goal)
}
pub fn solve_root_goal ( max_size : usize , program : & Arc < ProgramEnvironment > , root_goal : & CanonicalGoal , ) -> Result < Answers , ExplorationError > { Forest :: solve_root_goal ( max_size , program , root_goal ) }
Finds all possible solutions to the given root goal in the context
of the given program, approximating if the size of solutions or
subqueries exceeds `max_size`.
Finds all possible solutions to the given root goal in the context of the given program approximating if the size of solutions or subqueries exceeds ` max_size ` .
max_size
usize
program
&Arc<ProgramEnvironment>
root_goal
&CanonicalGoal