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, is, tasty, "!")) :- "[]"(user, says, "[]"(what, is, tasty)); "[]"(_1, is, tasty) Clause unifies to: "[]"(say, "[]"(_1, is, tasty, "!")) :- "[]"(user, says, "[]"(what, is, tasty)); "[]"(_1, is, tasty) gdash: "[]"(user, says, "[]"(what, is, tasty)); "[]"(_1, is, tasty) Goal arity 3: "[]"(user, says, "[]"(what, is, tasty)) New goal: "[]"(user, says, "[]"(what, is, tasty)); "[]"(_1, is, tasty) Goal: "[]"(user, says, "[]"(what, is, tasty)); "[]"(_1, is, tasty). Got clause: "[]"(user, says, "[]"(what, is, tasty)) Clause unifies to: "[]"(user, says, "[]"(what, is, tasty)) gdash: "[]"(_1, is, tasty) Goal arity 3: "[]"(_1, is, tasty) New goal: "[]"(_1, is, tasty) Goal: "[]"(_1, is, tasty). Got clause: "[]"(lasagna, is, tasty) Clause unifies to: "[]"(lasagna, is, tasty) gdash: null SUCCESS! solution found in step 8