clause(Lisp): "[]"(if, "[]"($x, and, not, "()"($y)), then, "[]"($x, xor, $y), if, "[]"(not, "()"($x), and, $y), then, "[]"($x, xor, $y)) => [l("if *", l("[]", "$x", "and", "not", l("()", "$y"))), l("then *", l("[]", "$x", "xor", "$y")), l("if *", l("[]", "not", l("()", "$x"), "and", "$y")), l("then *", l("[]", "$x", "xor", "$y"))] clause(Lisp): "[]"("[]"(not, "()"(true)), should, be, false) => null clause(Lisp): "[]"(mrshutco, is, a, human) => [l("mrshutco *", "is"), l("a *", "human")] clause(Lisp): "[]"("[]"(not, "()"(false)), should, be, true) => null clause(Lisp): "[]"(if, $x, and, "!", and, false, then, "[]"(not, "()"($x))) => [l("if *", "$x"), l("and *", "!"), l("and *", "false"), l("then *", l("[]", "not", l("()", "$x")))] clause(Lisp): "[]"(not, "()"($x)) => [l("not *", l("()", "$x"))] clause(Lisp): "[]"(if, $a, and, $b, then, "[]"($a, and, $b)) => [l("if *", "$a"), l("and *", "$b"), l("then *", l("[]", "$a", "and", "$b"))] clause(Lisp): "[]"(if, "[]"($c, "=", tocons, "()"($list)), and, "[]"($e, "=", iter, $c), then, "[]"($e, is, in, list, $list)) => [l("if *", l("[]", "$c", "=", "tocons", l("()", "$list"))), l("and *", l("[]", "$e", "=", "iter", "$c")), l("then *", l("[]", "$e", "is", "in", "list", "$list"))] clause(Lisp): "[]"(lasagna, is, tasty) => null clause(Lisp): "[]"(if, "[]"($c, "=", tocons, "()"($list)), and, "[]"($e, "=", iter, $c), then, "[]"($e, in, $c)) => [l("if *", l("[]", "$c", "=", "tocons", l("()", "$list"))), l("and *", l("[]", "$e", "=", "iter", "$c")), l("then *", l("[]", "$e", "in", "$c"))] clause(Lisp): "[]"(if, $a, then, "[]"($a, or, $b)) => [l("if *", "$a"), l("then *", l("[]", "$a", "or", "$b"))] clause(Lisp): "[]"(if, $b, then, "[]"($a, or, $b)) => [l("if *", "$b"), l("then *", l("[]", "$a", "or", "$b"))] clause(Lisp): "[]"($head, "=", iter, "[]"(cons, $head, $tail)) => null clause(Lisp): "[]"(if, "[]"($x, "=", iter, $tail), then, "[]"($x, "=", iter, "[]"(cons, $head, $tail))) => [l("if *", l("[]", "$x", "=", "iter", "$tail")), l("then *", l("[]", "$x", "=", "iter", l("[]", "cons", "$head", "$tail")))] clause(Lisp): "[]"(if, $x, then, "[]"(verify, "[]"($x, should, be, true))) => [l("if *", "$x"), l("then *", l("[]", "verify", l("[]", "$x", "should", "be", "true")))] clause(Lisp): "[]"(if, "[]"($a, "=", intmul, "()"("[]"($b, ",", $c))), then, "[]"($a, "=", smartmul, "()"("[]"($b, ",", $c)))) => [l("if *", l("[]", "$a", "=", "intmul", l("()", l("[]", "$b", ",", "$c")))), l("then *", l("[]", "$a", "=", "smartmul", l("()", l("[]", "$b", ",", "$c"))))] clause(Lisp): "[]"(if, "[]"($b, "=", intdiv, "()"("[]"($a, ",", $c))), then, "[]"($a, "=", smartmul, "()"("[]"($b, ",", $c)))) => [l("if *", l("[]", "$b", "=", "intdiv", l("()", l("[]", "$a", ",", "$c")))), l("then *", l("[]", "$a", "=", "smartmul", l("()", l("[]", "$b", ",", "$c"))))] clause(Lisp): "[]"(if, "[]"($c, "=", intdiv, "()"("[]"($a, ",", $b))), then, "[]"($a, "=", smartmul, "()"("[]"($b, ",", $c)))) => [l("if *", l("[]", "$c", "=", "intdiv", l("()", l("[]", "$a", ",", "$b")))), l("then *", l("[]", "$a", "=", "smartmul", l("()", l("[]", "$b", ",", "$c"))))] clause(Lisp): "[]"(if, "[]"(not, "()"($x)), then, "[]"(verify, "[]"($x, should, be, false))) => [l("if *", l("[]", "not", l("()", "$x"))), l("then *", l("[]", "verify", l("[]", "$x", "should", "be", "false")))] clause(Lisp): "[]"(if, $x, then, "()"($x)) => [l("if *", "$x"), l("then *", l("()", "$x"))] clause(Lisp): "[]"("\"and\"", is, a, fill, word) => null clause(Lisp): "[]"("\",\"", is, a, fill, word) => null clause(Lisp): "[]"(feet, is, the, plural, of, foot) => [l("feet *", "is"), l("the *", "plural"), l("of *", "foot")] clause(Lisp): "[]"(bits, is, the, plural, of, bit) => [l("bits *", "is"), l("the *", "plural"), l("of *", "bit")] Starting on goal: Prolog$Goal(car=l("[]", "not", l("()", l("[]", "true", "or", "true")))) Goal arity 2: "[]"(not, "()"("[]"(true, or, true))) Goal: "[]"(not, "()"("[]"(true, or, true))). Trying clause: "[]"(not, "()"(_1)) :- _1; "!"; false Clause unifies to: "[]"(not, "()"("[]"(true, or, true))) :- "[]"(true, or, true); "!"; false gdash: "[]"(true, or, true); "!"; false Goal arity 3: "[]"(true, or, true) New goal: "[]"(true, or, true); "!"; false Goal: "[]"(true, or, true); "!"; false. Trying clause: "[]"(_2, xor, _3) :- "[]"(_2, and, not, "()"(_3)); "[]"(_2, xor, _3); "[]"(not, "()"(_2), and, _3) No match for clause. Goal: "[]"(true, or, true); "!"; false. Trying clause: "[]"(_4, and, _5) :- _4; _5 No match for clause. Goal: "[]"(true, or, true); "!"; false. Trying clause: "[]"(lasagna, is, tasty) No match for clause. Goal: "[]"(true, or, true); "!"; false. Trying clause: "[]"(_6, in, _7) :- "[]"(_7, "=", tocons, "()"(_8)); "[]"(_6, "=", iter, _7) No match for clause. Goal: "[]"(true, or, true); "!"; false. Trying clause: "[]"(_9, or, _10) :- _9 Clause unifies to: "[]"(true, or, true) :- true gdash: true Goal arity 0: true New goal: true Goal: true. Trying clause: true Clause unifies to: true gdash: null SUCCESS! Goal: true. Trying clause: nativeTest2 :- native No match for clause. Goal: true. Trying clause: nativeFail :- native No match for clause. Goal: "[]"(true, or, true); "!"; false. Trying clause: "[]"(_11, or, _12) :- _12 Clause unifies to: "[]"(true, or, true) :- true gdash: true Goal arity 0: true New goal: true Goal: true. Trying clause: true Clause unifies to: true gdash: null SUCCESS!