Exercise 15: Implement SolveAssignmentVariable and SolveRelationshipVariable

SolveAssignmentVariable Summary

If the variable is within the path, use SolvePathVariable. Once solved, if the path is free of variables and the value is known, ensure the value matches.

If the variable is the value of the assignment, then simply look it up.

SolveRelationshipVariable Summary

If there is only one variable, then use the appropriate entity's relation index to return all possibilities.

If there are two variables, then this subroutine should not have been called.

Input:

An assignment and a position within that assignment.

Output:

A list of entities.