Starting on goal: Prolog$Goal(car=l("[]", "say", Prolog$Var(id=0L, instance=r3))) Goal arity 2: "[]"(say, $x) nextSolution Goal: "[]"(say, $x). Got clause: "[]"(say, _1) :- "[]"(user, says, "[]"(_2, "*", _3, "*", _4)); "[]"(_1, "=", intmul, "()"("[]"(_2, ",", _3, ",", _4))) Clause unifies to: "[]"(say, $x) :- "[]"(user, says, "[]"(_2, "*", _3, "*", _4)); "[]"($x, "=", intmul, "()"("[]"(_2, ",", _3, ",", _4))) gdash: "[]"(user, says, "[]"(_2, "*", _3, "*", _4)); "[]"($x, "=", intmul, "()"("[]"(_2, ",", _3, ",", _4))) Goal arity 3: "[]"(user, says, "[]"(_2, "*", _3, "*", _4)) New goal: "[]"(user, says, "[]"(_2, "*", _3, "*", _4)); "[]"($x, "=", intmul, "()"("[]"(_2, ",", _3, ",", _4))) Goal: "[]"(user, says, "[]"(_2, "*", _3, "*", _4)); "[]"($x, "=", intmul, "()"("[]"(_2, ",", _3, ",", _4))). Got clause: "[]"(user, says, "[]"("2", "*", "3", "*", "4")) Clause unifies to: "[]"(user, says, "[]"("2", "*", "3", "*", "4")) gdash: "[]"($x, "=", intmul, "()"("[]"("2", ",", "3", ",", "4"))) Goal arity 4: "[]"($x, "=", intmul, "()"("[]"("2", ",", "3", ",", "4"))) New goal: "[]"($x, "=", intmul, "()"("[]"("2", ",", "3", ",", "4"))) Done with goal! No solution