public override string ToString()
{
string clauseStr = _head.ToString() + " :- ";
for (int i = 0; i < _goals.Count; i++)
{
PrologCodeTerm term = (PrologCodeTerm)_goals[i];
clauseStr += term.ToString();
if (i == _goals.Count - 1)
{
clauseStr += " .";
}
else
{
clauseStr += ", ";
}
}
return clauseStr;
}