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, "[]"("1", "*", "2", "*", "3")) Clause unifies to: "[]"(user, says, "[]"("1", "*", "2", "*", "3")) gdash: "[]"($x, "=", intmul, "()"("[]"("1", ",", "2", ",", "3"))) Goal arity 4: "[]"($x, "=", intmul, "()"("[]"("1", ",", "2", ",", "3"))) New goal: "[]"($x, "=", intmul, "()"("[]"("1", ",", "2", ",", "3"))) Done with goal! No solution