/**
 * Warranty & Liability
 * To the extent permitted by applicable law and unless explicitly
 * otherwise agreed upon, XLOG Technologies AG makes no warranties
 * regarding the provided information. XLOG Technologies AG assumes
 * no liability that any problems might be solved with the information
 * provided by XLOG Technologies AG.
 *
 * Rights & License
 * All industrial property rights regarding the information - copyright
 * and patent rights in particular - are the sole property of XLOG
 * Technologies AG. If the company was not the originator of some
 * excerpts, XLOG Technologies AG has at least obtained the right to
 * reproduce, change and translate the information.
 *
 * Reproduction is restricted to the whole unaltered document. Reproduction
 * of the information is only allowed for non-commercial uses. Selling,
 * giving away or letting of the execution of the library is prohibited.
 * The library can be distributed as part of your applications and libraries
 * for execution provided this comment remains unchanged.
 *
 * Restrictions
 * Only to be distributed with programs that add significant and primary
 * functionality to the library. Not to be distributed with additional
 * software intended to replace any components of the library.
 *
 * Trademarks
 * Jekejeke is a registered trademark of XLOG Technologies AG.
 */

import {Clause, add, Cache, make_defined,
    Place, Skeleton, Goal, Frozen} from "./store.mjs";
import {run} from "./machine.mjs";
import "./special.mjs";
import "./runtime.mjs";
import "./eval.mjs";

add("sys_trans_horn", 2, new Clause(1, [new Place(0), undefined], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("sys_trans_horn", 2, new Clause(4, [new Skeleton(":-", [new Place(1)]), new Skeleton("tr_goal", [new Place(2), new Place(3)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_body"), [new Place(1), "nothing", new Place(2), new Place(3), "[]"])], 0, ":-"));
add("sys_trans_horn", 2, new Clause(5, [new Skeleton(":-", [new Place(1), new Place(2)]), new Skeleton("tr_clause", [new Place(3), new Place(1), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("must_be"), ["callable", new Place(1)]), new Skeleton(new Cache("sys_trans_body"), [new Place(2), "nothing", new Place(3), new Place(4), "[]"])], 0, ":-"));
add("sys_trans_horn", 2, new Clause(1, [new Place(0), new Skeleton("tr_clause", ["nothing", new Place(0), "[]"])], [new Skeleton(new Cache("must_be"), ["callable", new Place(0)])], -1, undefined));
add("sys_trans_body", 5, new Clause(5, [new Place(1), new Place(2), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Skeleton(".", [new Skeleton("call", [new Place(1)]), new Place(4)])])], 0, undefined));
add("sys_trans_body", 5, new Clause(4, ["true", new Place(1), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], 0, "true"));
add("sys_trans_body", 5, new Clause(9, [new Skeleton(",", [new Place(1), new Place(2)]), new Place(3), new Place(4), new Place(5), new Place(6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_body"), [new Place(1), new Place(3), new Place(7), new Place(5), new Place(8)]), new Skeleton(new Cache("sys_trans_body"), [new Place(2), new Place(7), new Place(4), new Place(8), new Place(6)])], 0, ","));
add("sys_trans_body", 5, new Clause(8, [new Skeleton(";", [new Place(1), new Place(2)]), new Place(3), new Place(4), new Place(5), new Place(6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_disj"), [new Skeleton(";", [new Place(1), new Place(2)]), 0, new Place(3), new Place(4), new Place(7)]), new Skeleton(new Cache("="), [new Place(5), new Skeleton(".", [new Skeleton("$ALT", [new Place(7)]), new Place(6)])])], 0, ";"));
add("sys_trans_body", 5, new Clause(8, [new Skeleton("->", [new Place(1), new Place(2)]), new Place(3), new Place(4), new Place(5), new Place(6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_disj"), [new Skeleton("->", [new Place(1), new Place(2)]), 0, new Place(3), new Place(4), new Place(7)]), new Skeleton(new Cache("="), [new Place(5), new Skeleton(".", [new Skeleton("$ALT", [new Place(7)]), new Place(6)])])], 0, "->"));
add("sys_trans_body", 5, new Clause(5, ["!", new Place(1), new Skeleton("just", [new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_cut"), [new Place(1), new Place(2)]), new Skeleton(new Cache("="), [new Place(3), new Skeleton(".", [new Skeleton("$CUT", [new Place(2)]), new Place(4)])])], 0, "!"));
add("sys_trans_body", 5, new Clause(4, [new Place(0), new Place(1), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("must_be"), ["callable", new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [new Place(0), new Place(3)])])], -1, undefined));
add("sys_trans_cut", 2, new Clause(1, ["nothing", undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "nothing"));
add("sys_trans_cut", 2, new Clause(1, [new Skeleton("just", [new Place(0)]), new Place(0)], [], -1, "just"));
add("sys_trans_disj", 5, new Clause(5, [new Place(1), undefined, new Place(2), new Place(3), new Skeleton(".", [new Place(4), "[]"])], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_alter"), [new Place(1), new Place(2), new Place(3), new Place(4), undefined])], 0, undefined));
add("sys_trans_disj", 5, new Clause(9, [new Skeleton(";", [new Place(1), new Place(2)]), undefined, new Place(3), new Place(4), new Skeleton(".", [new Place(5), new Place(6)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_alter"), [new Place(1), new Place(3), new Place(7), new Place(5), new Place(8)]), new Skeleton(new Cache("sys_trans_disj"), [new Place(2), new Place(8), new Place(7), new Place(4), new Place(6)])], 0, ";"));
add("sys_trans_disj", 5, new Clause(2, ["fail", 1, new Place(1), new Place(1), "[]"], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "fail"));
add("sys_trans_disj", 5, new Clause(4, [new Place(0), undefined, new Place(1), new Place(2), new Skeleton(".", [new Place(3), "[]"])], [new Skeleton(new Cache("sys_trans_alter"), [new Place(0), new Place(1), new Place(2), new Place(3), undefined])], -1, undefined));
add("sys_trans_alter", 5, new Clause(5, [new Place(1), new Place(2), new Place(3), new Skeleton("$SEQ", ["nothing", new Place(4)]), 0], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_body"), [new Place(1), new Place(2), new Place(3), new Place(4), "[]"])], 0, undefined));
add("sys_trans_alter", 5, new Clause(10, [new Skeleton("->", [new Place(1), new Place(2)]), new Place(3), new Place(4), new Skeleton("$SEQ", [new Skeleton("just", [new Place(5)]), new Place(6)]), 1], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_body"), [new Place(1), "nothing", new Place(7), new Place(8), new Skeleton(".", [new Skeleton("$CUT", [new Place(5)]), new Place(9)])]), new Skeleton(new Cache("sys_trans_body"), [new Place(2), new Place(3), new Place(4), new Place(9), "[]"]), new Skeleton(new Cache("sys_trans_mark"), [new Place(7), new Place(6), new Place(8)])], 0, "->"));
add("sys_trans_alter", 5, new Clause(4, [new Place(0), new Place(1), new Place(2), new Skeleton("$SEQ", ["nothing", new Place(3)]), 0], [new Skeleton(new Cache("sys_trans_body"), [new Place(0), new Place(1), new Place(2), new Place(3), "[]"])], -1, undefined));
add("sys_trans_mark", 3, new Clause(3, [new Skeleton("just", [new Place(1)]), new Skeleton(".", [new Skeleton("$MARK", [new Place(1)]), new Place(2)]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "just"));
add("sys_trans_mark", 3, new Clause(1, ["nothing", new Place(0), new Place(0)], [], -1, "nothing"));
add("sys_untrans_body", 3, new Clause(0, ["[]", undefined, "true"], [], -1, "[]"));
add("sys_untrans_body", 3, new Clause(4, [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_untrans_rest"), [new Place(1), new Place(0), new Place(2), new Place(3)])], -1, "."));
add("sys_untrans_rest", 4, new Clause(3, ["[]", new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_untrans_goal"), [new Place(0), new Place(1), new Place(2)])], -1, "[]"));
add("sys_untrans_rest", 4, new Clause(6, [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3), new Skeleton(",", [new Place(4), new Place(5)])], [new Skeleton(new Cache("sys_untrans_goal"), [new Place(2), new Place(3), new Place(4)]), new Skeleton(new Cache("sys_untrans_rest"), [new Place(1), new Place(0), new Place(3), new Place(5)])], -1, "."));
add("sys_untrans_goal", 3, new Clause(4, [new Skeleton("$ALT", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_untrans_disj"), [new Place(1), new Place(2), new Place(3)])], 0, "$ALT"));
add("sys_untrans_goal", 3, new Clause(3, [new Skeleton("$CUT", [new Place(1)]), new Skeleton("just", [new Place(2)]), "!"], [new Skeleton(new Cache("=="), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "$CUT"));
add("sys_untrans_goal", 3, new Clause(1, [new Place(0), undefined, new Place(0)], [], -1, undefined));
add("sys_untrans_disj", 3, new Clause(0, ["[]", undefined, "fail"], [], -1, "[]"));
add("sys_untrans_disj", 3, new Clause(4, [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_untrans_more"), [new Place(1), new Place(0), new Place(2), new Place(3)])], -1, "."));
add("sys_untrans_more", 4, new Clause(4, ["[]", new Skeleton("$SEQ", [new Place(0), new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_untrans_alter"), [new Place(0), new Place(1), new Place(2), new Place(3)])], -1, "[]"));
add("sys_untrans_more", 4, new Clause(7, [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton("$SEQ", [new Place(2), new Place(3)]), new Place(4), new Skeleton(";", [new Place(5), new Place(6)])], [new Skeleton(new Cache("sys_untrans_alter"), [new Place(2), new Place(3), new Place(4), new Place(5)]), new Skeleton(new Cache("sys_untrans_more"), [new Place(1), new Place(0), new Place(4), new Place(6)])], -1, "."));
add("sys_untrans_alter", 4, new Clause(4, ["nothing", new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_untrans_body"), [new Place(0), new Place(1), new Place(3)]), new Skeleton(new Cache("sys_untrans_ambiguity"), [new Place(3), new Place(2)])], -1, "nothing"));
add("sys_untrans_alter", 4, new Clause(9, [new Skeleton("just", [new Place(0)]), new Place(1), new Place(2), new Skeleton("->", [new Place(3), new Place(4)])], [new Skeleton(new Cache("sys_untrans_split"), [new Place(1), new Place(0), new Place(5), new Place(6)]), new Skeleton(new Cache("sys_trans_mark"), [new Place(7), new Place(5), new Place(8)]), new Skeleton(new Cache("sys_untrans_body"), [new Place(8), new Place(7), new Place(3)]), new Skeleton(new Cache("sys_untrans_body"), [new Place(6), new Place(2), new Place(4)])], -1, "just"));
add("sys_untrans_split", 4, new Clause(4, [new Skeleton(".", [new Skeleton("$CUT", [new Place(1)]), new Place(2)]), new Place(3), "[]", new Place(2)], [new Skeleton(new Cache("=="), [new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "."));
add("sys_untrans_split", 4, new Clause(5, [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Skeleton(".", [new Place(0), new Place(3)]), new Place(4)], [new Skeleton(new Cache("sys_untrans_split"), [new Place(1), new Place(2), new Place(3), new Place(4)])], -1, "."));
add("sys_untrans_ambiguity", 2, new Clause(3, [new Skeleton("->", [new Place(1), new Place(2)]), new Skeleton(";", [new Skeleton("->", [new Place(1), new Place(2)]), "fail"])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "->"));
add("sys_untrans_ambiguity", 2, new Clause(1, [new Place(0), new Place(0)], [], -1, undefined));
add("sys_encode_horn", 4, new Clause(5, [new Skeleton("tr_goal", [new Skeleton("just", [new Place(1)]), new Place(2)]), new Skeleton("ir_goal", [new Place(3), 0]), new Place(4), undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_body"), [new Place(2), new Place(3), new Skeleton(".", [new Place(1), "[]"]), new Place(4), new Skeleton(".", [new Skeleton("v", [new Place(1), 0, undefined]), "[]"]), undefined])], 0, "tr_goal"));
add("sys_encode_horn", 4, new Clause(3, [new Skeleton("tr_goal", ["nothing", new Place(0)]), new Skeleton("ir_goal", [new Place(1), -1]), new Place(2), undefined], [new Skeleton(new Cache("sys_encode_body"), [new Place(0), new Place(1), "[]", new Place(2), "[]", undefined])], -1, "tr_goal"));
add("sys_encode_horn", 4, new Clause(11, [new Skeleton("tr_clause", [new Skeleton("just", [new Place(1)]), new Place(2), new Place(3)]), new Skeleton("ir_clause", [new Place(4), new Place(5), 0, new Place(6)]), new Place(7), new Place(8)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [undefined, new Place(9)])]), new Skeleton(new Cache("sys_encode_list"), [new Place(9), new Place(4), new Place(7), new Skeleton(".", [new Skeleton("v", [new Place(1), 0, undefined]), "[]"]), new Place(10)]), new Skeleton(new Cache("sys_encode_body"), [new Place(3), new Place(5), new Skeleton(".", [new Skeleton("-", [new Place(2), new Place(1)]), "[]"]), new Place(7), new Place(10), undefined]), new Skeleton(new Cache("sys_idx_value"), [new Place(2), new Place(7), new Place(8), new Place(3), new Place(6)])], 0, "tr_clause"));
add("sys_encode_horn", 4, new Clause(9, [new Skeleton("tr_clause", ["nothing", new Place(0), new Place(1)]), new Skeleton("ir_clause", [new Place(2), new Place(3), -1, new Place(4)]), new Place(5), new Place(6)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [undefined, new Place(7)])]), new Skeleton(new Cache("sys_encode_list"), [new Place(7), new Place(2), new Place(5), "[]", new Place(8)]), new Skeleton(new Cache("sys_encode_body"), [new Place(1), new Place(3), new Skeleton(".", [new Place(0), "[]"]), new Place(5), new Place(8), undefined]), new Skeleton(new Cache("sys_idx_value"), [new Place(0), new Place(5), new Place(6), new Place(1), new Place(4)])], -1, "tr_clause"));
add("sys_encode_body", 6, new Clause(9, [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)]), new Place(4), new Place(5), new Place(6), new Place(7)], [new Skeleton(new Cache("sys_encode_goal"), [new Place(0), new Place(5), new Place(2), new Place(1), new Place(4), new Place(6), new Place(8)]), new Skeleton(new Cache("sys_encode_body"), [new Place(1), new Place(3), new Skeleton(".", [new Place(0), new Place(4)]), new Place(5), new Place(8), new Place(7)])], -1, "."));
add("sys_encode_body", 6, new Clause(1, ["[]", "[]", undefined, undefined, new Place(0), new Place(0)], [], -1, "[]"));
add("sys_encode_goal", 7, new Clause(10, [new Skeleton("$ALT", [new Place(1)]), 1, new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("vars_intersection"), [new Place(1), new Skeleton("-", [new Place(4), new Place(3)]), new Place(7)]), new Skeleton(new Cache("=.."), [new Place(8), new Skeleton(".", ["", new Place(7)])]), new Skeleton(new Cache("sys_encode_disj"), [new Place(1), new Place(8), new Place(9), 1, 1]), new Skeleton(new Cache("sys_encode_invoke"), [new Place(8), new Place(2), new Skeleton("link", [new Place(9), 1]), new Place(5), new Place(6)])], 0, "$ALT"));
add("sys_encode_goal", 7, new Clause(10, [new Skeleton("is", [new Place(1), new Place(2)]), 1, new Place(3), undefined, undefined, new Place(4), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_term"), [new Place(1), 1, new Place(6), new Place(4), new Place(7)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(2), new Place(8), new Place(7), new Place(9)]), new Skeleton(new Cache("sys_const_functor"), [new Frozen("site", ["is"]), new Skeleton(".", [new Place(6), new Skeleton(".", [new Place(8), "[]"])]), new Place(3)]), new Skeleton(new Cache("="), [new Place(9), new Place(5)])], 0, "is"));
add("sys_encode_goal", 7, new Clause(10, [new Skeleton("=:=", [new Place(1), new Place(2)]), 1, new Place(3), undefined, undefined, new Place(4), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(1), new Place(6), new Place(4), new Place(7)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(2), new Place(8), new Place(7), new Place(9)]), new Skeleton(new Cache("sys_const_functor"), [new Frozen("site", ["=:="]), new Skeleton(".", [new Place(6), new Skeleton(".", [new Place(8), "[]"])]), new Place(3)]), new Skeleton(new Cache("="), [new Place(9), new Place(5)])], 0, "=:="));
add("sys_encode_goal", 7, new Clause(10, [new Skeleton("=\\=", [new Place(1), new Place(2)]), 1, new Place(3), undefined, undefined, new Place(4), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(1), new Place(6), new Place(4), new Place(7)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(2), new Place(8), new Place(7), new Place(9)]), new Skeleton(new Cache("sys_const_functor"), [new Frozen("site", ["=\\="]), new Skeleton(".", [new Place(6), new Skeleton(".", [new Place(8), "[]"])]), new Place(3)]), new Skeleton(new Cache("="), [new Place(9), new Place(5)])], 0, "=\\="));
add("sys_encode_goal", 7, new Clause(10, [new Skeleton("<", [new Place(1), new Place(2)]), 1, new Place(3), undefined, undefined, new Place(4), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(1), new Place(6), new Place(4), new Place(7)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(2), new Place(8), new Place(7), new Place(9)]), new Skeleton(new Cache("sys_const_functor"), [new Frozen("site", ["<"]), new Skeleton(".", [new Place(6), new Skeleton(".", [new Place(8), "[]"])]), new Place(3)]), new Skeleton(new Cache("="), [new Place(9), new Place(5)])], 0, "<"));
add("sys_encode_goal", 7, new Clause(10, [new Skeleton(">", [new Place(1), new Place(2)]), 1, new Place(3), undefined, undefined, new Place(4), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(1), new Place(6), new Place(4), new Place(7)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(2), new Place(8), new Place(7), new Place(9)]), new Skeleton(new Cache("sys_const_functor"), [new Frozen("site", [">"]), new Skeleton(".", [new Place(6), new Skeleton(".", [new Place(8), "[]"])]), new Place(3)]), new Skeleton(new Cache("="), [new Place(9), new Place(5)])], 0, ">"));
add("sys_encode_goal", 7, new Clause(10, [new Skeleton("=<", [new Place(1), new Place(2)]), 1, new Place(3), undefined, undefined, new Place(4), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(1), new Place(6), new Place(4), new Place(7)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(2), new Place(8), new Place(7), new Place(9)]), new Skeleton(new Cache("sys_const_functor"), [new Frozen("site", ["=<"]), new Skeleton(".", [new Place(6), new Skeleton(".", [new Place(8), "[]"])]), new Place(3)]), new Skeleton(new Cache("="), [new Place(9), new Place(5)])], 0, "=<"));
add("sys_encode_goal", 7, new Clause(10, [new Skeleton(">=", [new Place(1), new Place(2)]), 1, new Place(3), undefined, undefined, new Place(4), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(1), new Place(6), new Place(4), new Place(7)]), new Skeleton(new Cache("sys_encode_expr"), [new Place(2), new Place(8), new Place(7), new Place(9)]), new Skeleton(new Cache("sys_const_functor"), [new Frozen("site", [">="]), new Skeleton(".", [new Place(6), new Skeleton(".", [new Place(8), "[]"])]), new Place(3)]), new Skeleton(new Cache("="), [new Place(9), new Place(5)])], 0, ">="));
add("sys_encode_goal", 7, new Clause(6, [new Place(1), 1, new Place(2), undefined, undefined, new Place(3), new Place(4)], [new Skeleton(new Cache("functor"), [new Place(1), new Place(5), undefined]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_invoke"), [new Place(1), new Place(2), new Skeleton("site", [new Place(5)]), new Place(3), new Place(4)])], 0, undefined));
add("sys_encode_goal", 7, new Clause(5, [new Place(0), new Place(1), new Place(2), undefined, undefined, new Place(3), new Place(4)], [new Skeleton(new Cache("sys_encode_term"), [new Place(0), new Place(1), new Place(2), new Place(3), new Place(4)])], -1, undefined));
add("sys_encode_disj", 5, new Clause(8, [new Skeleton(".", [new Skeleton("$SEQ", [new Place(0), new Place(1)]), new Place(2)]), new Place(3), new Skeleton(".", [new Place(4), new Place(5)]), new Place(6), new Place(7)], [new Skeleton(new Cache("sys_encode_horn"), [new Skeleton("tr_clause", [new Place(0), new Place(3), new Place(1)]), new Place(4), new Place(6), new Place(7)]), new Skeleton(new Cache("sys_encode_disj"), [new Place(2), new Place(3), new Place(5), new Place(6), new Place(7)])], -1, "."));
add("sys_encode_disj", 5, new Clause(0, ["[]", undefined, "[]", undefined, undefined], [], -1, "[]"));
add("sys_encode_invoke", 5, new Clause(9, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("compound"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [undefined, new Place(6)])]), new Skeleton(new Cache("sys_encode_list"), [new Place(6), new Place(7), 1, new Place(4), new Place(8)]), new Skeleton(new Cache("sys_const_functor"), [new Place(3), new Place(7), new Place(2)]), new Skeleton(new Cache("="), [new Place(8), new Place(5)])], 0, undefined));
add("sys_encode_invoke", 5, new Clause(2, [undefined, new Skeleton("const", [new Place(0)]), new Place(0), new Place(1), new Place(1)], [], -1, undefined));
add("sys_encode_args", 4, new Clause(7, [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)]), new Place(4), new Place(5)], [new Skeleton(new Cache("sys_encode_expr"), [new Place(0), new Place(2), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_encode_args"), [new Place(1), new Place(3), new Place(6), new Place(5)])], -1, "."));
add("sys_encode_args", 4, new Clause(1, ["[]", "[]", new Place(0), new Place(0)], [], -1, "[]"));
add("sys_encode_expr", 4, new Clause(5, [new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_var"), [new Place(1), new Place(2), new Place(3), new Place(4)])], 0, undefined));
add("sys_encode_expr", 4, new Clause(9, [new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("compound"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(5), new Place(6)])]), new Skeleton(new Cache("sys_encode_args"), [new Place(6), new Place(7), new Place(3), new Place(8)]), new Skeleton(new Cache("sys_const_functor"), [new Skeleton("site", [new Place(5)]), new Place(7), new Place(2)]), new Skeleton(new Cache("="), [new Place(8), new Place(4)])], 0, undefined));
add("sys_encode_expr", 4, new Clause(4, [new Place(1), new Skeleton("const", [new Skeleton("site", [new Place(1)])]), new Place(2), new Place(3)], [new Skeleton(new Cache("atom"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], 0, undefined));
add("sys_encode_expr", 4, new Clause(2, [new Place(0), new Skeleton("const", [new Place(0)]), new Place(1), new Place(1)], [], -1, undefined));
add("sys_encode_list", 5, new Clause(8, [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)]), new Place(4), new Place(5), new Place(6)], [new Skeleton(new Cache("sys_encode_term"), [new Place(0), new Place(4), new Place(2), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_encode_list"), [new Place(1), new Place(3), new Place(4), new Place(7), new Place(6)])], -1, "."));
add("sys_encode_list", 5, new Clause(1, ["[]", "[]", undefined, new Place(0), new Place(0)], [], -1, "[]"));
add("sys_encode_term", 5, new Clause(5, [new Place(1), undefined, new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_var"), [new Place(1), new Place(2), new Place(3), new Place(4)])], 0, undefined));
add("sys_encode_term", 5, new Clause(10, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("compound"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(6), new Place(7)])]), new Skeleton(new Cache("sys_encode_list"), [new Place(7), new Place(8), new Place(2), new Place(4), new Place(9)]), new Skeleton(new Cache("sys_const_functor"), [new Place(6), new Place(8), new Place(3)]), new Skeleton(new Cache("="), [new Place(9), new Place(5)])], 0, undefined));
add("sys_encode_term", 5, new Clause(2, [new Place(0), undefined, new Skeleton("const", [new Place(0)]), new Place(1), new Place(1)], [], -1, undefined));
add("sys_const_functor", 3, new Clause(4, [new Place(1), new Place(2), new Skeleton("const", [new Skeleton("functor", [new Place(1), new Place(3)])])], [new Skeleton(new Cache("sys_const_only"), [new Place(2), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_const_functor", 3, new Clause(2, [new Place(0), new Place(1), new Skeleton("functor", [new Place(0), new Place(1)])], [], -1, undefined));
add("sys_const_only", 2, new Clause(3, [new Skeleton(".", [new Skeleton("const", [new Place(0)]), new Place(1)]), new Skeleton(".", [new Place(0), new Place(2)])], [new Skeleton(new Cache("sys_const_only"), [new Place(1), new Place(2)])], -1, "."));
add("sys_const_only", 2, new Clause(0, ["[]", "[]"], [], -1, "[]"));
add("sys_encode_var", 4, new Clause(9, [new Place(1), new Skeleton("place", [new Place(2), new Place(3)]), new Place(4), new Place(5)], [new Skeleton(new Cache("sys_current_map"), [new Place(6), new Place(4), new Place(7)]), new Skeleton(new Cache("member"), [new Skeleton("v", [new Place(8), new Place(2), new Place(3)]), new Place(6)]), new Skeleton(new Cache("=="), [new Place(8), new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), 1]), new Skeleton(new Cache("="), [new Place(7), new Place(5)])], 0, undefined));
add("sys_encode_var", 4, new Clause(7, [new Place(0), new Skeleton("place", [new Place(1), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_current_map"), [new Place(5), new Place(3), new Place(6)]), new Skeleton(new Cache("sys_set_map"), [new Skeleton(".", [new Skeleton("v", [new Place(0), new Place(1), new Place(2)]), new Place(5)]), new Place(6), new Place(4)])], -1, undefined));
add("sys_current_map", 3, new Clause(1, [new Place(0), new Place(0), new Place(0)], [], -1, undefined));
add("sys_set_map", 3, new Clause(1, [new Place(0), undefined, new Place(0)], [], -1, undefined));
add("sys_idx_value", 5, new Clause(6, [new Place(1), 1, new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("arg"), [new Place(2), new Place(1), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_idx_value_arg"), [new Place(3), new Place(5), new Place(4)])], 0, undefined));
add("sys_idx_value", 5, new Clause(5, [new Place(1), undefined, new Place(2), undefined, new Place(3)], [new Skeleton(new Cache("arg"), [new Place(2), new Place(1), new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_idx_value_term"), [new Place(4), new Place(3)])], 0, undefined));
add("sys_idx_value", 5, new Clause(0, [undefined, undefined, undefined, undefined, "nothing"], [], -1, undefined));
add("sys_idx_value_arg", 3, new Clause(3, [undefined, new Place(1), new Skeleton("just", [new Place(2)])], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("functor"), [new Place(1), new Place(2), undefined])], 0, undefined));
add("sys_idx_value_arg", 3, new Clause(6, [new Skeleton(".", [new Skeleton("=", [new Place(1), new Place(2)]), new Place(3)]), new Place(4), new Place(5)], [new Skeleton(new Cache("=="), [new Place(4), new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_idx_value_arg"), [new Place(3), new Place(2), new Place(5)])], 0, "."));
add("sys_idx_value_arg", 3, new Clause(6, [new Skeleton(".", [new Skeleton("=", [new Place(1), new Place(2)]), new Place(3)]), new Place(4), new Place(5)], [new Skeleton(new Cache("=="), [new Place(4), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_idx_value_arg"), [new Place(3), new Place(1), new Place(5)])], 0, "."));
add("sys_idx_value_arg", 3, new Clause(4, [new Skeleton(".", [new Skeleton("=", [undefined, undefined]), new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_idx_value_arg"), [new Place(1), new Place(2), new Place(3)])], 0, "."));
add("sys_idx_value_arg", 3, new Clause(0, [undefined, undefined, "nothing"], [], -1, undefined));
add("sys_idx_value_term", 2, new Clause(3, [new Place(1), new Skeleton("just", [new Place(2)])], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("functor"), [new Place(1), new Place(2), undefined])], 0, undefined));
add("sys_idx_value_term", 2, new Clause(0, [undefined, "nothing"], [], -1, undefined));
add("sys_decode_body", 2, new Clause(0, ["[]", "[]"], [], -1, "[]"));
add("sys_decode_body", 2, new Clause(4, [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)])], [new Skeleton(new Cache("sys_decode_goal"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_decode_body"), [new Place(1), new Place(3)])], -1, "."));
add("sys_decode_goal", 2, new Clause(4, [new Place(1), new Place(2)], [new Skeleton(new Cache("ir_is_site"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_site_name"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_decode_goal"), [new Place(3), new Place(2)])], 0, undefined));
add("sys_decode_goal", 2, new Clause(5, [new Place(1), new Skeleton("$ALT", [new Place(2)])], [new Skeleton(new Cache("kb_is_link"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("findall"), [new Place(3), new Skeleton("kb_clause_ref", [new Place(1), 0, new Place(3)]), new Place(4)]), new Skeleton(new Cache("sys_decode_disj"), [new Place(4), undefined, new Place(1), new Place(2)])], 0, undefined));
add("sys_decode_goal", 2, new Clause(4, [new Skeleton("is", [new Place(1), new Place(2)]), new Skeleton("is", [new Place(1), new Place(3)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(2), new Place(3)])], 0, "is"));
add("sys_decode_goal", 2, new Clause(5, [new Skeleton("=:=", [new Place(1), new Place(2)]), new Skeleton("=:=", [new Place(3), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(2), new Place(4)])], 0, "=:="));
add("sys_decode_goal", 2, new Clause(5, [new Skeleton("=\\=", [new Place(1), new Place(2)]), new Skeleton("=\\=", [new Place(3), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(2), new Place(4)])], 0, "=\\="));
add("sys_decode_goal", 2, new Clause(5, [new Skeleton("<", [new Place(1), new Place(2)]), new Skeleton("<", [new Place(3), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(2), new Place(4)])], 0, "<"));
add("sys_decode_goal", 2, new Clause(5, [new Skeleton(">", [new Place(1), new Place(2)]), new Skeleton(">", [new Place(3), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(2), new Place(4)])], 0, ">"));
add("sys_decode_goal", 2, new Clause(5, [new Skeleton("=<", [new Place(1), new Place(2)]), new Skeleton("=<", [new Place(3), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(2), new Place(4)])], 0, "=<"));
add("sys_decode_goal", 2, new Clause(5, [new Skeleton(">=", [new Place(1), new Place(2)]), new Skeleton(">=", [new Place(3), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(2), new Place(4)])], 0, ">="));
add("sys_decode_goal", 2, new Clause(1, [new Place(0), new Place(0)], [], -1, undefined));
add("sys_decode_disj", 4, new Clause(0, ["[]", undefined, undefined, "[]"], [], -1, "[]"));
add("sys_decode_disj", 4, new Clause(9, [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3), new Skeleton(".", [new Skeleton("$SEQ", [new Place(4), new Place(5)]), new Place(6)])], [new Skeleton(new Cache("kb_clause_arity"), [new Place(0), new Place(7)]), new Skeleton(new Cache("functor"), [new Place(3), new Place(2), new Place(7)]), new Skeleton(new Cache("kb_clause_data"), [new Place(0), new Place(3), new Place(4), new Place(8)]), new Skeleton(new Cache("sys_decode_body"), [new Place(8), new Place(5)]), new Skeleton(new Cache("sys_decode_disj"), [new Place(1), new Place(2), new Place(3), new Place(6)])], -1, "."));
add("sys_decode_args", 2, new Clause(0, ["[]", "[]"], [], -1, "[]"));
add("sys_decode_args", 2, new Clause(4, [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)])], [new Skeleton(new Cache("sys_decode_expr"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_decode_args"), [new Place(1), new Place(3)])], -1, "."));
add("sys_decode_expr", 2, new Clause(4, [new Place(1), new Place(2)], [new Skeleton(new Cache("ir_is_site"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_site_name"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_decode_expr"), [new Place(3), new Place(2)])], 0, undefined));
add("sys_decode_expr", 2, new Clause(6, [new Place(1), new Place(2)], [new Skeleton(new Cache("compound"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(3), new Place(4)])]), new Skeleton(new Cache("sys_decode_args"), [new Place(4), new Place(5)]), new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [new Place(3), new Place(5)])])], 0, undefined));
add("sys_decode_expr", 2, new Clause(1, [new Place(0), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Frozen(new Cache("kb_pred_touch"), ["sys_source", 3, 1])], -1));
run(new Goal(0, [new Frozen(new Cache("kb_pred_touch"), ["sys_srcprop", 2, 1])], -1));
add("current_source", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("sys_source"), [new Place(0), undefined, undefined])], -1, undefined));
add("source_property", 2, new Clause(2, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_srcprop"), [new Place(0), new Place(1)])], -1, undefined));
add("discontiguous", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("discontiguous", 1, new Clause(4, [new Skeleton("\/", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("must_be"), ["atom", new Place(1)]), new Skeleton(new Cache("must_be"), ["integer", new Place(2)]), new Skeleton(new Cache("dg_get_partition"), [new Place(3)]), new Skeleton(new Cache("assertz"), [new Skeleton("sys_predprop", [new Place(1), new Place(2), new Skeleton("sys_discontiguous", [new Place(3)])])])], 0, "\/"));
add("discontiguous", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1, undefined));
add("multifile", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("multifile", 1, new Clause(3, [new Skeleton("\/", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("must_be"), ["atom", new Place(1)]), new Skeleton(new Cache("must_be"), ["integer", new Place(2)]), new Skeleton(new Cache("sys_multifile_safe"), [new Place(1), new Place(2)])], 0, "\/"));
add("multifile", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1, undefined));
add("sys_multifile_safe", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("dg_get_partition"), [new Place(2)]), new Skeleton(make_defined([new Clause(5, [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_predprop"), [new Place(1), new Place(2), new Skeleton("sys_usage", [new Place(4)])]), new Skeleton(new Cache("\\=="), [new Place(3), new Place(4)]), new Skeleton(new Cache("\\+"), [new Skeleton("sys_predprop", [new Place(1), new Place(2), new Skeleton("sys_multifile", [new Place(4)])])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("permission_error", ["promote", "multifile", new Skeleton("\/", [new Place(1), new Place(2)])]), undefined])])], 0, undefined), new Clause(0, [undefined, undefined, undefined], [], -1, undefined)], 1), [new Place(0), new Place(1), new Place(2)]), new Skeleton(new Cache("assertz"), [new Skeleton("sys_predprop", [new Place(0), new Place(1), new Skeleton("sys_multifile", [new Place(2)])])])], -1, undefined));
add("include", 1, new Clause(3, [new Place(0)], [new Skeleton(new Cache("sys_file_relative"), [new Place(0), new Place(1)]), new Skeleton(new Cache("file_property"), [new Place(1), new Skeleton("absolute_path", [new Place(2)])]), new Skeleton(new Cache("sys_include_file"), [new Place(2)])], -1, undefined));
add("sys_include_file", 1, new Clause(2, ["user"], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("current_input"), [new Place(1)]), new Skeleton(new Cache("sys_include_stream"), ["user", new Place(1)])], 0, "user"));
add("sys_include_file", 1, new Clause(5, [new Place(1)], [new Skeleton(new Cache("current_prolog_flag"), ["foreign_ext", new Place(2)]), new Skeleton(new Cache("sub_atom"), [new Place(1), undefined, undefined, 0, new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_include_native"), [new Place(1), new Place(3)]), new Skeleton(new Cache("ir_object_current"), [new Place(3), "module", new Place(4)]), new Skeleton(new Cache("os_invoke_main"), [new Place(4)])], 0, undefined));
add("sys_include_file", 1, new Clause(2, [new Place(0)], [new Skeleton(new Cache("setup_once_cleanup"), [new Skeleton("open", [new Place(0), "read", new Place(1)]), new Skeleton("sys_include_stream", [new Place(0), new Place(1)]), new Skeleton("close", [new Place(1)])])], -1, undefined));
add("sys_include_native", 2, new Clause(4, [new Place(1), new Place(2)], [new Frozen(new Cache("current_prolog_flag"), ["import_async", "on"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("os_import_promise"), [new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("$YIELD"), [new Place(3)])], 0, undefined));
add("sys_include_native", 2, new Clause(2, [new Place(0), new Place(1)], [new Skeleton(new Cache("os_import_sync"), [new Place(0), new Place(1)])], -1, undefined));
add(".", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("member"), [new Place(2), new Skeleton(".", [new Place(0), new Place(1)])]), new Skeleton(new Cache("ensure_loaded"), [new Place(2)]), new Cache("fail")], -1, undefined));
add(".", 2, new Clause(0, [undefined, undefined], [], -1, undefined));
add("ensure_loaded", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("ensure_loaded", 1, new Clause(1, ["user"], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Frozen(new Cache("sys_include_file"), ["user"])], 0, "user"));
add("ensure_loaded", 1, new Clause(5, [new Place(0)], [new Skeleton(new Cache("sys_file_relative"), [new Place(0), new Place(1)]), new Skeleton(new Cache("dg_get_partition"), [new Place(2)]), new Skeleton(new Cache("sys_prop_map"), [new Place(1), new Place(3)]), new Skeleton(new Cache("ir_object_current"), [new Place(3), "absolute_path", new Place(4)]), new Skeleton(make_defined([new Clause(3, [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_srcprop"), [new Place(1), new Skeleton("sys_link", [new Place(2)])]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined), new Clause(2, [new Place(0), new Place(1)], [new Skeleton(new Cache("assertz"), [new Skeleton("sys_srcprop", [new Place(0), new Skeleton("sys_link", [new Place(1)])])])], -1, undefined)], 1), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_check_file"), [new Place(4), new Place(3)])], -1, undefined));
add("sys_check_file", 2, new Clause(5, [new Place(1), new Place(2)], [new Skeleton(new Cache("ir_object_current"), [new Place(2), "last_modified", new Place(3)]), new Skeleton(new Cache("shield"), [new Skeleton("sys_action_file", [new Place(1), new Place(3), new Place(4)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(make_defined([new Clause(3, [new Place(1), new Place(2)], [new Skeleton(new Cache("="), [new Place(1), "replay"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_replay_file"), [new Place(2)])], 0, "replay"), new Clause(3, [new Place(1), new Place(2)], [new Skeleton(new Cache("="), [new Place(1), "clear_load"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_clear_file"), [new Place(2)]), new Skeleton(new Cache("sys_load_file"), [new Place(2)])], 0, "clear_load"), new Clause(0, [undefined, undefined], [], -1, undefined)], 1), [new Place(4), new Place(1)])], 0, undefined));
add("sys_check_file", 2, new Clause(1, [new Place(0), undefined], [new Skeleton(new Cache("sys_load_file"), [new Place(0)])], -1, undefined));
add("sys_action_file", 3, new Clause(6, [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_source"), [new Place(1), new Place(4), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(make_defined([new Clause(3, [new Place(1), new Place(2), undefined, undefined, undefined], [new Skeleton(new Cache("="), [new Place(1), 1]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), "none"])], 0, 1), new Clause(5, [undefined, new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("="), [new Place(2), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "replay"]), new Skeleton(new Cache("retractall"), [new Skeleton("sys_source", [new Place(4), undefined, undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton("sys_source", [new Place(4), new Place(3), 1])])], 0, undefined), new Clause(3, [undefined, new Place(0), new Place(1), undefined, new Place(2)], [new Skeleton(new Cache("="), [new Place(0), "clear_load"]), new Skeleton(new Cache("retractall"), [new Skeleton("sys_source", [new Place(2), undefined, undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton("sys_source", [new Place(2), new Place(1), 1])])], -1, undefined)], 1), [new Place(5), new Place(3), new Place(2), new Place(4), new Place(1)])], 0, undefined));
add("sys_action_file", 3, new Clause(2, [new Place(0), new Place(1), undefined], [new Skeleton(new Cache("assertz"), [new Skeleton("sys_source", [new Place(0), new Place(1), 1])]), new Cache("fail")], -1, undefined));
run(new Goal(0, [new Frozen(new Cache("kb_pred_touch"), ["sys_lastpred", 3, 1])], -1));
add("sys_load_file", 1, new Clause(3, [new Place(0)], [new Skeleton(new Cache("setup_once_cleanup"), [new Skeleton("sys_loading_begin", [new Place(0), new Place(1), new Place(2)]), new Skeleton("sys_include_file", [new Place(0)]), new Skeleton("sys_loading_end", [new Place(1), new Place(2)])])], -1, undefined));
add("sys_loading_begin", 3, new Clause(6, [new Place(1), new Place(2), new Skeleton("just", [new Place(3), new Place(4)])], [new Skeleton(new Cache("current_task"), [new Place(5)]), new Skeleton(new Cache("retract"), [new Skeleton("sys_lastpred", [new Place(5), new Place(3), new Place(4)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("dg_get_partition"), [new Place(2)]), new Skeleton(new Cache("dg_set_partition"), [new Place(1)])], 0, undefined));
add("sys_loading_begin", 3, new Clause(2, [new Place(0), new Place(1), "nothing"], [new Skeleton(new Cache("dg_get_partition"), [new Place(1)]), new Skeleton(new Cache("dg_set_partition"), [new Place(0)])], -1, undefined));
add("sys_loading_end", 2, new Clause(4, [new Place(0), new Skeleton("just", [new Place(1), new Place(2)])], [new Skeleton(new Cache("dg_get_partition"), [new Place(3)]), new Skeleton(new Cache("retractall"), [new Skeleton("sys_predprop", [undefined, undefined, new Skeleton("sys_discontiguous", [new Place(3)])])]), new Skeleton(new Cache("dg_set_partition"), [new Place(0)]), new Skeleton(new Cache("sys_update_last"), [new Place(1), new Place(2)])], -1, undefined));
add("sys_loading_end", 2, new Clause(3, [new Place(0), "nothing"], [new Skeleton(new Cache("dg_get_partition"), [new Place(1)]), new Skeleton(new Cache("retractall"), [new Skeleton("sys_predprop", [undefined, undefined, new Skeleton("sys_discontiguous", [new Place(1)])])]), new Skeleton(new Cache("dg_set_partition"), [new Place(0)]), new Skeleton(new Cache("current_task"), [new Place(2)]), new Skeleton(new Cache("retractall"), [new Skeleton("sys_lastpred", [new Place(2), undefined, undefined])])], -1, undefined));
add("sys_update_last", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("current_task"), [new Place(2)]), new Skeleton(new Cache("retractall"), [new Skeleton("sys_lastpred", [new Place(2), undefined, undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton("sys_lastpred", [new Place(2), new Place(0), new Place(1)])])], -1, undefined));
add("sys_style_static", 1, new Clause(2, [new Place(1)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_style_static", 1, new Clause(1, [new Skeleton(":-", [undefined])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, ":-"));
add("sys_style_static", 1, new Clause(2, [new Skeleton(":-", [new Place(1), undefined])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_style_head"), [new Place(1)])], 0, ":-"));
add("sys_style_static", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("sys_style_head"), [new Place(0)])], -1, undefined));
add("sys_style_head", 1, new Clause(4, [new Place(1)], [new Skeleton(new Cache("callable"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("functor"), [new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("sys_style_indicator"), [new Place(2), new Place(3)])], 0, undefined));
add("sys_style_head", 1, new Clause(0, [undefined], [], -1, undefined));
add("sys_style_indicator", 2, new Clause(4, [new Place(1), new Place(2)], [new Skeleton(new Cache("current_task"), [new Place(3)]), new Skeleton(new Cache("sys_lastpred"), [new Place(3), new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_style_indicator", 2, new Clause(4, [new Place(1), new Place(2)], [new Skeleton(new Cache("dg_get_partition"), [new Place(3)]), new Skeleton(new Cache("sys_predprop"), [new Place(1), new Place(2), new Skeleton("sys_usage", [new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(make_defined([new Clause(4, [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_predprop"), [new Place(1), new Place(2), new Skeleton("sys_discontiguous", [new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined), new Clause(3, [new Place(0), new Place(1), undefined], [new Skeleton(new Cache("="), [new Place(2), new Skeleton("warning", [new Skeleton("syntax_error", ["discontiguous_pred", new Skeleton("\/", [new Place(0), new Place(1)])]), undefined])]), new Skeleton(new Cache("sys_fill_stack"), [new Place(2)]), new Skeleton(new Cache("sys_print_error"), [new Place(2)])], -1, undefined)], 1), [new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("sys_update_last"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_style_indicator", 2, new Clause(2, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_usage_predicate"), [new Place(0), new Place(1)]), new Skeleton(new Cache("sys_update_last"), [new Place(0), new Place(1)])], -1, undefined));
add("sys_usage_predicate", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("dg_get_partition"), [new Place(2)]), new Skeleton(make_defined([new Clause(5, [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("\\+"), [new Skeleton("sys_predprop", [new Place(1), new Place(2), new Skeleton("sys_multifile", [new Place(3)])])]), new Skeleton(new Cache("sys_predprop"), [new Place(1), new Place(2), new Skeleton("sys_usage", [new Place(4)])]), new Skeleton(new Cache("\\=="), [new Place(3), new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("permission_error", ["redefine", "procedure", new Skeleton("\/", [new Place(1), new Place(2)])]), undefined])])], 0, undefined), new Clause(0, [undefined, undefined, undefined], [], -1, undefined)], 1), [new Place(0), new Place(1), new Place(2)]), new Skeleton(new Cache("assertz"), [new Skeleton("sys_predprop", [new Place(0), new Place(1), new Skeleton("sys_usage", [new Place(2)])])])], -1, undefined));
add("sys_include_stream", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("current_task"), [new Place(2)]), new Skeleton(new Cache("setup_once_cleanup"), [new Skeleton("asserta", [new Skeleton("sys_including", [new Place(0), new Place(2), new Place(1)])]), new Skeleton("sys_include_lines", [new Place(1)]), new Skeleton("once", [new Skeleton("retract", [new Skeleton("sys_including", [new Place(0), new Place(2), new Place(1)])])])])], -1, undefined));
add("sys_include_lines", 1, new Clause(3, [new Place(1)], [new Cache("repeat"), new Skeleton(new Cache("catch"), [new Skeleton("sys_next_term", [new Place(1)]), new Place(2), new Skeleton(",", [new Skeleton("sys_print_error", [new Place(2)]), "fail"])]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_next_term", 1, new Clause(4, [new Place(0)], [new Skeleton(new Cache("read_term"), [new Place(0), new Place(1), new Skeleton(".", [new Skeleton("variable_names", [new Place(2)]), new Skeleton(".", [new Skeleton("singletons", [new Place(3)]), "[]"])])]), new Skeleton(make_defined([new Clause(2, [new Place(1), undefined, undefined], [new Skeleton(new Cache("=="), [new Place(1), "end_of_file"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined), new Clause(4, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_expand_include"), [new Place(0), new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("sys_style_static"), [new Place(3)]), new Skeleton(new Cache("sys_handle_static"), [new Place(3)]), new Cache("fail")], -1, undefined)], 1), [new Place(1), new Place(2), new Place(3)])], -1, undefined));
add("sys_expand_include", 4, new Clause(1, [new Place(0), undefined, undefined, undefined], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("sys_expand_include", 4, new Clause(4, [new Skeleton("?-", [new Place(1)]), new Place(2), undefined, new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Skeleton(":-", [new Skeleton("sys_query_unattended", [new Place(1), new Place(2)])])])], 0, "?-"));
add("sys_expand_include", 4, new Clause(6, [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_multiton_keys"), [new Place(1), new Place(2), new Place(4)]), new Skeleton(new Cache("sys_multiton_check"), [new Place(4)]), new Skeleton(new Cache("sys_singleton_keys"), [new Place(2), new Place(5)]), new Skeleton(new Cache("sys_singleton_check"), [new Place(5)]), new Skeleton(new Cache("expand_term"), [new Place(0), new Place(3)])], -1, undefined));
add("sys_handle_static", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("sys_handle_static", 1, new Clause(3, [new Place(1)], [new Skeleton(new Cache("="), [new Place(1), new Skeleton(":-", [undefined])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_frost_horn"), [new Place(1), 1, new Place(2)]), new Skeleton(make_defined([new Clause(2, [new Place(1)], [new Skeleton(new Cache("ir_goal_call"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined), new Clause(0, [undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["directive_failed"]), undefined])])], -1, undefined)], 1), [new Place(2)])], 0, ":-"));
add("sys_handle_static", 1, new Clause(8, [new Place(1)], [new Skeleton(make_defined([new Clause(2, [new Place(0), new Place(1)], [new Skeleton(new Cache("="), [new Place(0), new Skeleton(":-", [new Place(1), undefined])])], -1, ":-"), new Clause(2, [new Place(0), new Place(1)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined)], 1), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("functor"), [new Place(2), new Place(3), new Place(4)]), new Skeleton(new Cache("sys_pred_type"), [new Place(3), new Place(4), new Place(5)]), new Skeleton(new Cache("sys_frost_horn"), [new Place(1), new Place(5), new Place(6)]), new Skeleton(new Cache("sys_pred_multi"), [new Place(3), new Place(4), new Place(7)]), new Skeleton(new Cache("ir_clause_add"), [new Place(3), new Place(4), new Place(6), new Place(7)])], 0, undefined));
add("sys_pred_type", 3, new Clause(5, [new Place(1), new Place(2), 0], [new Skeleton(new Cache("kb_pred_link"), [new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("kb_link_flags"), [new Place(3), new Place(4)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(4), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_pred_type", 3, new Clause(0, [undefined, undefined, 1], [], -1, undefined));
add("sys_pred_multi", 3, new Clause(4, [new Place(1), new Place(2), 18], [new Skeleton(new Cache("dg_get_partition"), [new Place(3)]), new Skeleton(new Cache("sys_predprop"), [new Place(1), new Place(2), new Skeleton("sys_multifile", [new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_pred_multi", 3, new Clause(0, [undefined, undefined, 2], [], -1, undefined));
add("strings", 3, new Clause(0, ["syntax_error.discontiguous_pred", "de", "Unterbrochenes Prädikat $, entsprechend deklarieren."], [], -1, "syntax_error.discontiguous_pred"));
add("strings", 3, new Clause(0, ["syntax_error.bad_module", "de", "Fehlerhaftes Modul."], [], -1, "syntax_error.bad_module"));
add("strings", 3, new Clause(0, ["syntax_error.discontiguous_pred", "", "Discontiguous predicate $, declare accordingly."], [], -1, "syntax_error.discontiguous_pred"));
add("strings", 3, new Clause(0, ["syntax_error.bad_module", "", "Faulty module."], [], -1, "syntax_error.bad_module"));
add("true", 0, new Clause(0, [], [], -1, undefined));
add("!", 0, new Clause(1, [], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add(",", 2, new Clause(6, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_trans_body"), [new Place(0), "nothing", new Place(2), new Place(3), new Place(4)]), new Skeleton(new Cache("sys_trans_body"), [new Place(1), new Place(2), new Place(5), new Place(4), "[]"]), new Skeleton(new Cache("$SEQ"), [new Place(5), new Place(3)])], -1, undefined));
add(";", 2, new Clause(7, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_trans_alter"), [new Place(0), "nothing", new Place(2), new Place(3), new Place(4)]), new Skeleton(new Cache("sys_trans_disj"), [new Place(1), new Place(4), new Place(2), new Place(5), new Place(6)]), new Skeleton(new Cache("$SEQ"), [new Place(5), new Skeleton(".", [new Skeleton("$ALT", [new Skeleton(".", [new Place(3), new Place(6)])]), "[]"])])], -1, undefined));
add("->", 2, new Clause(8, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_trans_body"), [new Place(0), "nothing", new Place(2), new Place(3), new Skeleton(".", [new Skeleton("$CUT", [new Place(4)]), new Place(5)])]), new Skeleton(new Cache("sys_trans_body"), [new Place(1), "nothing", new Place(6), new Place(5), "[]"]), new Skeleton(new Cache("sys_trans_mark"), [new Place(2), new Place(7), new Place(3)]), new Skeleton(new Cache("$SEQ"), [new Place(6), new Skeleton(".", [new Skeleton("$ALT", [new Skeleton(".", [new Skeleton("$SEQ", [new Skeleton("just", [new Place(4)]), new Place(7)]), "[]"])]), "[]"])])], -1, undefined));
add("\\=", 2, new Clause(3, [new Place(1), new Place(2)], [new Skeleton(new Cache("="), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0, undefined));
add("\\=", 2, new Clause(0, [undefined, undefined], [], -1, undefined));
add("\\+", 1, new Clause(2, [new Place(1)], [new Skeleton(new Cache("call"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0, undefined));
add("\\+", 1, new Clause(0, [undefined], [], -1, undefined));
add("once", 1, new Clause(2, [new Place(1)], [new Skeleton(new Cache("call"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("repeat", 0, new Clause(0, [], [], -1, undefined));
add("repeat", 0, new Clause(0, [], [new Cache("repeat")], -1, undefined));
add("catch", 3, new Clause(4, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_trap"), [new Place(0), new Place(3), new Skeleton("sys_error_handler", [new Place(3), new Place(1), new Place(2)])])], -1, undefined));
add("sys_error_handler", 3, new Clause(1, [new Place(0), undefined, undefined], [new Skeleton(new Cache("sys_chain_head"), [new Place(0), new Skeleton("error", [new Skeleton("system_error", [undefined]), undefined])]), new Skeleton(new Cache("sys_raise"), [new Place(0)])], -1, undefined));
add("sys_error_handler", 3, new Clause(4, [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_chain_head"), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("call"), [new Place(3)])], 0, undefined));
add("sys_error_handler", 3, new Clause(1, [new Place(0), undefined, undefined], [new Skeleton(new Cache("sys_raise"), [new Place(0)])], -1, undefined));
add("sys_chain_head", 2, new Clause(3, [new Skeleton("cause", [new Place(1), undefined]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, "cause"));
add("sys_chain_head", 2, new Clause(1, [new Place(0), new Place(0)], [], -1, undefined));
add("throw", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("sys_fill_stack"), [new Place(0)]), new Skeleton(new Cache("sys_raise"), [new Place(0)])], -1, undefined));
add("sys_fill_stack", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("sys_fill_stack", 1, new Clause(2, [new Skeleton("error", [undefined, new Place(1)])], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_fetch_stack"), [new Place(1)])], 0, "error"));
add("sys_fill_stack", 1, new Clause(2, [new Skeleton("warning", [undefined, new Place(1)])], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_fetch_stack"), [new Place(1)])], 0, "warning"));
add("sys_fill_stack", 1, new Clause(0, [undefined], [], -1, undefined));
add("sys_fetch_stack", 1, new Clause(4, [new Place(0)], [new Skeleton(new Cache("current_task"), [new Place(1)]), new Skeleton(new Cache("findall"), [new Skeleton("sys_including", [new Place(2), new Place(3)]), new Skeleton("sys_including", [new Place(2), new Place(1), new Place(3)]), new Place(0)])], -1, undefined));
add("try_call_finally", 3, new Clause(7, [new Place(1), new Place(2), new Place(3)], [new Skeleton(make_defined([new Clause(1, [new Place(0), undefined], [new Skeleton(new Cache("call"), [new Place(0)])], -1, undefined), new Clause(1, [undefined, new Place(0)], [new Skeleton(new Cache("call"), [new Place(0)]), new Cache("fail")], -1, undefined)], 1), [new Place(1), new Place(3)]), new Skeleton(new Cache("$MARK"), [new Place(4)]), new Skeleton(new Cache("sys_trap"), [new Place(2), new Place(5), new Skeleton(",", [new Place(3), new Skeleton("sys_raise", [new Place(5)])])]), new Skeleton(new Cache("$MARK"), [new Place(6)]), new Skeleton(make_defined([new Clause(5, [new Place(1), new Place(2), new Place(3), new Place(4), undefined], [new Skeleton(new Cache("=="), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$CUT"), [new Place(3)]), new Skeleton(new Cache("call"), [new Place(4)])], 0, undefined), new Clause(1, [undefined, undefined, undefined, new Place(0), undefined], [new Skeleton(new Cache("call"), [new Place(0)])], -1, undefined), new Clause(1, [undefined, undefined, undefined, undefined, new Place(0)], [new Skeleton(new Cache("call"), [new Place(0)]), new Cache("fail")], -1, undefined)], 1), [new Place(4), new Place(6), new Place(0), new Place(3), new Place(1)])], 0, undefined));
add("ignore", 1, new Clause(2, [new Place(1)], [new Skeleton(new Cache("call"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("ignore", 1, new Clause(0, [undefined], [], -1, undefined));
add("chain", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_trap"), [new Place(0), new Place(2), new Skeleton("sys_chain_error", [new Place(2), new Place(1)])]), new Skeleton(new Cache("call"), [new Place(1)])], -1, undefined));
add("sys_chain_error", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_trap"), [new Place(1), new Place(2), new Skeleton("sys_chain_raise", [new Place(0), new Place(2)])]), new Skeleton(new Cache("sys_raise"), [new Place(0)])], -1, undefined));
add("sys_chain_error", 2, new Clause(1, [new Place(0), undefined], [new Skeleton(new Cache("sys_raise"), [new Place(0)])], -1, undefined));
add("sys_chain_raise", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_chain_concat"), [new Place(0), new Place(1), new Place(2)]), new Skeleton(new Cache("sys_raise"), [new Place(2)])], -1, undefined));
add("sys_chain_concat", 3, new Clause(5, [new Skeleton("cause", [new Place(1), new Place(2)]), new Place(3), new Skeleton("cause", [new Place(1), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_chain_concat"), [new Place(2), new Place(3), new Place(4)])], 0, "cause"));
add("sys_chain_concat", 3, new Clause(2, [new Place(0), new Place(1), new Skeleton("cause", [new Place(0), new Place(1)])], [], -1, undefined));
add("once_cleanup", 2, new Clause(3, [new Place(1), new Place(2)], [new Frozen(new Cache("current_prolog_flag"), ["async_mode", "on"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("shield"), [new Skeleton("sys_once_cleanup", [new Skeleton("unshield", [new Place(1)]), new Place(2)])])], 0, undefined));
add("once_cleanup", 2, new Clause(2, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_once_cleanup"), [new Place(0), new Place(1)])], -1, undefined));
add("setup_once_cleanup", 3, new Clause(4, [new Place(1), new Place(2), new Place(3)], [new Frozen(new Cache("current_prolog_flag"), ["async_mode", "on"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("shield"), [new Skeleton("sys_setup_once_cleanup", [new Place(1), new Skeleton("unshield", [new Place(2)]), new Place(3)])])], 0, undefined));
add("setup_once_cleanup", 3, new Clause(3, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_setup_once_cleanup"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
add("sys_setup_once_cleanup", 3, new Clause(3, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("call"), [new Place(0)]), new Skeleton(new Cache("sys_once_cleanup"), [new Place(1), new Place(2)])], -1, undefined));
add("sys_once_cleanup", 2, new Clause(3, [new Place(1), new Place(2)], [new Skeleton(new Cache("chain"), [new Place(1), new Skeleton("ignore", [new Place(2)])]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_once_cleanup", 2, new Clause(1, [undefined, new Place(0)], [new Skeleton(new Cache("ignore"), [new Place(0)]), new Cache("fail")], -1, undefined));
add("sleep", 1, new Clause(2, [new Place(0)], [new Skeleton(new Cache("os_sleep_promise"), [new Place(0), new Place(1)]), new Skeleton(new Cache("$YIELD"), [new Place(1)])], -1, undefined));
add("call_later", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_frost_horn"), [new Skeleton(":-", [new Place(0)]), 0, new Place(2)]), new Skeleton(new Cache("os_call_later"), [new Place(2), new Place(1), undefined])], -1, undefined));
add("call_later", 3, new Clause(4, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_frost_horn"), [new Skeleton(":-", [new Place(0)]), 0, new Place(3)]), new Skeleton(new Cache("os_call_later"), [new Place(3), new Place(1), new Place(2)])], -1, undefined));
add("call_with_time_limit", 2, new Clause(5, [new Place(1), new Place(2)], [new Frozen(new Cache("current_prolog_flag"), ["allow_yield", "on"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("current_task"), [new Place(3)]), new Skeleton(new Cache("setup_once_cleanup"), [new Skeleton("call_later", [new Skeleton("sys_timeout_signal", [new Place(3)]), new Place(1), new Place(4)]), new Place(2), new Skeleton("timer_cancel", [new Place(4)])])], 0, undefined));
add("call_with_time_limit", 2, new Clause(0, [undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("system_error", ["illegal_yield"]), undefined])])], -1, undefined));
add("sys_timeout_signal", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("task_abort"), [new Place(0), new Frozen("system_error", ["timelimit_exceeded"])])], -1, undefined));
add("create_task", 1, new Clause(2, [new Place(0)], [new Skeleton(new Cache("sys_frost_horn"), [new Skeleton(":-", [new Place(0)]), 0, new Place(1)]), new Skeleton(new Cache("os_task_create"), [new Place(1), undefined])], -1, undefined));
add("create_task", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_frost_horn"), [new Skeleton(":-", [new Place(0)]), 0, new Place(2)]), new Skeleton(new Cache("os_task_create"), [new Place(2), new Place(1)])], -1, undefined));
add("sys_frost_horn", 3, new Clause(5, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_trans_horn"), [new Place(0), new Place(3)]), new Skeleton(new Cache("sys_encode_horn"), [new Place(3), new Place(4), new Place(1), 1]), new Skeleton(new Cache("sys_host_make"), [new Place(4), new Place(2)])], -1, undefined));
add("member", 2, new Clause(3, [new Place(0), new Skeleton(".", [new Place(1), new Place(2)])], [new Skeleton(new Cache("sys_member"), [new Place(2), new Place(1), new Place(0)])], -1, undefined));
add("sys_member", 3, new Clause(1, [undefined, new Place(0), new Place(0)], [], -1, undefined));
add("sys_member", 3, new Clause(3, [new Skeleton(".", [new Place(0), new Place(1)]), undefined, new Place(2)], [new Skeleton(new Cache("sys_member"), [new Place(1), new Place(0), new Place(2)])], -1, "."));
add("select", 3, new Clause(4, [new Place(0), new Skeleton(".", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("sys_select"), [new Place(2), new Place(1), new Place(0), new Place(3)])], -1, undefined));
add("sys_select", 4, new Clause(2, [new Place(0), new Place(1), new Place(1), new Place(0)], [], -1, undefined));
add("sys_select", 4, new Clause(5, [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3), new Skeleton(".", [new Place(2), new Place(4)])], [new Skeleton(new Cache("sys_select"), [new Place(1), new Place(0), new Place(3), new Place(4)])], -1, "."));
add("reverse", 2, new Clause(2, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_reverse"), [new Place(0), "[]", new Place(1)])], -1, undefined));
add("sys_reverse", 3, new Clause(1, ["[]", new Place(0), new Place(0)], [], -1, "[]"));
add("sys_reverse", 3, new Clause(4, [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_reverse"), [new Place(1), new Skeleton(".", [new Place(0), new Place(2)]), new Place(3)])], -1, "."));
add("append", 3, new Clause(1, ["[]", new Place(0), new Place(0)], [], -1, "[]"));
add("append", 3, new Clause(4, [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Skeleton(".", [new Place(0), new Place(3)])], [new Skeleton(new Cache("append"), [new Place(1), new Place(2), new Place(3)])], -1, "."));
add("length", 2, new Clause(3, [new Place(1), new Place(2)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_length"), [new Place(1), 0, new Place(2)])], 0, undefined));
add("length", 2, new Clause(2, [new Place(0), new Place(1)], [new Skeleton(new Cache("must_be"), ["integer", new Place(1)]), new Skeleton(new Cache(">="), [new Place(1), 0]), new Skeleton(new Cache("sys_length"), [new Place(1), new Place(0)])], -1, undefined));
add("sys_length", 3, new Clause(1, ["[]", new Place(0), new Place(0)], [], -1, "[]"));
add("sys_length", 3, new Clause(4, [new Skeleton(".", [undefined, new Place(0)]), new Place(1), new Place(2)], [new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("+"), [new Place(1), 1])]), new Skeleton(new Cache("sys_length"), [new Place(0), new Place(3), new Place(2)])], -1, "."));
add("sys_length", 2, new Clause(2, [0, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "[]"])], 0, 0));
add("sys_length", 2, new Clause(3, [new Place(0), new Skeleton(".", [undefined, new Place(1)])], [new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("-"), [new Place(0), 1])]), new Skeleton(new Cache("sys_length"), [new Place(2), new Place(1)])], -1, undefined));
add("between", 3, new Clause(4, [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("var"), [new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("must_be"), ["integer", new Place(1)]), new Skeleton(new Cache("must_be"), ["integer", new Place(2)]), new Skeleton(new Cache("=<"), [new Place(1), new Place(2)]), new Skeleton(new Cache("sys_between"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("between", 3, new Clause(3, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("must_be"), ["integer", new Place(2)]), new Skeleton(new Cache("must_be"), ["integer", new Place(0)]), new Skeleton(new Cache("must_be"), ["integer", new Place(1)]), new Skeleton(new Cache("=<"), [new Place(0), new Place(2)]), new Skeleton(new Cache("=<"), [new Place(2), new Place(1)])], -1, undefined));
add("sys_between", 3, new Clause(3, [new Place(1), new Place(1), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, undefined));
add("sys_between", 3, new Clause(1, [new Place(0), undefined, new Place(0)], [], -1, undefined));
add("sys_between", 3, new Clause(4, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("+"), [new Place(0), 1])]), new Skeleton(new Cache("sys_between"), [new Place(3), new Place(1), new Place(2)])], -1, undefined));
add("findall", 3, new Clause(4, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_find_init"), [new Place(3)]), new Skeleton(make_defined([new Clause(3, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("call"), [new Place(0)]), new Skeleton(new Cache("sys_find_next"), [new Place(1), new Place(2)]), new Cache("fail")], -1, undefined), new Clause(0, [undefined, undefined, undefined], [], -1, undefined)], 1), [new Place(1), new Place(0), new Place(3)]), new Skeleton(new Cache("sys_find_fini"), [new Place(3), new Place(2)])], -1, undefined));
add("sys_find_init", 1, new Clause(2, [new Place(0)], [new Skeleton(new Cache("=.."), [new Place(1), new Frozen(".", [".", new Frozen(".", ["-", new Frozen(".", ["[]", "[]"])])])]), new Skeleton(new Cache("="), [new Place(0), new Skeleton("v", [new Place(1), new Place(1)])])], -1, undefined));
add("sys_find_next", 2, new Clause(4, [new Place(0), new Place(1)], [new Skeleton(new Cache("copy_term"), [new Skeleton(".", [new Place(0), "[]"]), new Place(2)]), new Skeleton(new Cache("arg"), [1, new Place(1), new Place(3)]), new Skeleton(new Cache("change_arg"), [2, new Place(3), new Place(2)]), new Skeleton(new Cache("change_arg"), [1, new Place(1), new Place(2)])], -1, undefined));
add("sys_find_fini", 2, new Clause(1, [new Skeleton("v", [undefined, new Skeleton(".", [undefined, new Place(0)])]), new Place(0)], [], -1, "v"));
add("get_message", 3, new Clause(4, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("current_prolog_flag"), ["sys_locale", new Place(3)]), new Skeleton(new Cache("get_message"), [new Place(0), new Place(3), new Place(1), new Place(2)])], -1, undefined));
add("get_message", 4, new Clause(6, [new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(5), new Place(4)])]), new Skeleton(new Cache("atom"), [new Place(5)]), new Skeleton(new Cache("sys_get_string"), [new Place(5), new Place(2), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("get_message", 4, new Clause(8, [new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(5), new Skeleton(".", [new Place(6), new Place(4)])])]), new Skeleton(new Cache("atom"), [new Place(5)]), new Skeleton(new Cache("atom"), [new Place(6)]), new Skeleton(new Cache("atom_join"), [new Skeleton(".", [new Place(5), new Skeleton(".", [".", new Skeleton(".", [new Place(6), "[]"])])]), new Place(7)]), new Skeleton(new Cache("sys_get_string"), [new Place(7), new Place(2), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("get_message", 4, new Clause(9, [new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(5), new Skeleton(".", [new Place(6), new Skeleton(".", [new Place(7), new Place(4)])])])]), new Skeleton(new Cache("atom"), [new Place(5)]), new Skeleton(new Cache("atom"), [new Place(6)]), new Skeleton(new Cache("atom"), [new Place(7)]), new Skeleton(new Cache("atom_join"), [new Skeleton(".", [new Place(5), new Skeleton(".", [".", new Skeleton(".", [new Place(6), new Skeleton(".", [".", new Skeleton(".", [new Place(7), "[]"])])])])]), new Place(8)]), new Skeleton(new Cache("sys_get_string"), [new Place(8), new Place(2), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_get_string", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("current_prolog_flag"), ["sys_locale", new Place(2)]), new Skeleton(new Cache("sys_get_string"), [new Place(0), new Place(2), new Place(1)])], -1, undefined));
add("sys_get_string", 3, new Clause(6, [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_locale_ancestor"), [new Place(2), new Place(4)]), new Skeleton(new Cache("strings"), [new Place(1), new Place(4), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(5)])], 0, undefined));
add("sys_locale_ancestor", 2, new Clause(1, [new Place(0), new Place(0)], [], -1, undefined));
add("sys_locale_ancestor", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("last_sub_atom"), [new Place(0), new Place(2), undefined, undefined, "_"]), new Skeleton(new Cache("sub_atom"), [new Place(0), 0, new Place(2), undefined, new Place(1)])], -1, undefined));
add("sys_locale_ancestor", 2, new Clause(1, [new Place(0), ""], [new Skeleton(new Cache("\\=="), [new Place(0), ""])], -1, undefined));
add("sys_multiton_keys", 3, new Clause(5, [new Skeleton(".", [new Skeleton("=", [new Place(1), undefined]), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("\\+"), [new Skeleton("sys_marked_at", [new Place(1), 0, new Frozen(".", [23, "[]"])])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_multiton_keys"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_multiton_keys", 3, new Clause(5, [new Skeleton(".", [new Skeleton("=", [new Place(1), undefined]), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("\\+"), [new Skeleton("sys_marked_at", [new Place(1), 1, new Frozen(".", [1, new Frozen(".", [3, new Frozen(".", [23, "[]"])])])])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_multiton_keys"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_multiton_keys", 3, new Clause(5, [new Skeleton(".", [new Skeleton("=", [new Place(1), undefined]), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("member"), [new Skeleton("=", [new Place(1), undefined]), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_multiton_keys"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_multiton_keys", 3, new Clause(4, [new Skeleton(".", [new Skeleton("=", [new Place(0), undefined]), new Place(1)]), new Place(2), new Skeleton(".", [new Place(0), new Place(3)])], [new Skeleton(new Cache("sys_multiton_keys"), [new Place(1), new Place(2), new Place(3)])], -1, "."));
add("sys_multiton_keys", 3, new Clause(0, ["[]", undefined, "[]"], [], -1, "[]"));
add("sys_multiton_check", 1, new Clause(3, [new Skeleton(".", [new Place(0), new Place(1)])], [new Skeleton(new Cache("="), [new Place(2), new Skeleton("warning", [new Skeleton("syntax_error", ["multiton_var", new Skeleton(".", [new Place(0), new Place(1)])]), undefined])]), new Skeleton(new Cache("sys_fill_stack"), [new Place(2)]), new Skeleton(new Cache("sys_print_error"), [new Place(2)])], -1, "."));
add("sys_multiton_check", 1, new Clause(0, ["[]"], [], -1, "[]"));
add("sys_singleton_keys", 2, new Clause(4, [new Skeleton(".", [new Skeleton("=", [new Place(1), undefined]), new Place(2)]), new Place(3)], [new Skeleton(new Cache("sys_marked_at"), [new Place(1), 0, new Frozen(".", [23, "[]"])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_singleton_keys"), [new Place(2), new Place(3)])], 0, "."));
add("sys_singleton_keys", 2, new Clause(3, [new Skeleton(".", [new Skeleton("=", [new Place(0), undefined]), new Place(1)]), new Skeleton(".", [new Place(0), new Place(2)])], [new Skeleton(new Cache("sys_singleton_keys"), [new Place(1), new Place(2)])], -1, "."));
add("sys_singleton_keys", 2, new Clause(0, ["[]", "[]"], [], -1, "[]"));
add("sys_singleton_check", 1, new Clause(3, [new Skeleton(".", [new Place(0), new Place(1)])], [new Skeleton(new Cache("="), [new Place(2), new Skeleton("warning", [new Skeleton("syntax_error", ["singleton_var", new Skeleton(".", [new Place(0), new Place(1)])]), undefined])]), new Skeleton(new Cache("sys_fill_stack"), [new Place(2)]), new Skeleton(new Cache("sys_print_error"), [new Place(2)])], -1, "."));
add("sys_singleton_check", 1, new Clause(0, ["[]"], [], -1, "[]"));
add("sys_marked_at", 3, new Clause(7, [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sub_atom"), [new Place(1), new Place(2), 1, undefined, new Place(4)]), new Skeleton(new Cache("char_code"), [new Place(4), new Place(5)]), new Skeleton(new Cache("code_category"), [new Place(5), new Place(6)]), new Skeleton(new Cache("member"), [new Place(6), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("expand_term", 2, new Clause(4, [new Place(1), new Place(2)], [new Skeleton(new Cache("term_expansion"), [new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("expand_term"), [new Place(3), new Place(2)])], 0, undefined));
add("expand_term", 2, new Clause(1, [new Place(0), new Place(0)], [], -1, undefined));
add("phrase", 3, new Clause(1, [new Place(0), undefined, undefined], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("phrase", 3, new Clause(4, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_phrase_expansion"), [new Place(0), 0, 0, new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("call"), [new Place(3)])], -1, undefined));
add("term_expansion", 2, new Clause(9, [new Skeleton("-->", [new Skeleton(",", [new Place(0), new Place(1)]), new Place(2)]), new Skeleton(":-", [new Place(3), new Skeleton(",", [new Place(4), new Place(5)])])], [new Skeleton(new Cache("sys_phrase_expansion"), [new Place(0), 0, 0, new Place(6), new Place(7), new Place(3)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(2), 1, 0, new Place(6), new Place(8), new Place(4)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(1), 0, 0, new Place(7), new Place(8), new Place(5)])], -1, "-->"));
add("term_expansion", 2, new Clause(6, [new Skeleton("-->", [new Place(0), new Place(1)]), new Skeleton(":-", [new Place(2), new Place(3)])], [new Skeleton(new Cache("sys_phrase_expansion"), [new Place(0), 0, 0, new Place(4), new Place(5), new Place(2)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(1), 1, 0, new Place(4), new Place(5), new Place(3)])], -1, "-->"));
add("sys_phrase_expansion", 6, new Clause(4, [new Place(1), undefined, undefined, new Place(2), new Place(3), new Skeleton("phrase", [new Place(1), new Place(2), new Place(3)])], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_phrase_expansion", 6, new Clause(10, [new Skeleton(",", [new Place(1), new Place(2)]), new Place(3), new Place(4), new Place(5), new Place(6), new Skeleton(",", [new Place(7), new Place(8)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(1), new Place(3), 1, new Place(5), new Place(9), new Place(7)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(2), 0, new Place(4), new Place(9), new Place(6), new Place(8)])], 0, ","));
add("sys_phrase_expansion", 6, new Clause(7, [new Skeleton(";", [new Place(1), new Place(2)]), undefined, undefined, new Place(3), new Place(4), new Skeleton(";", [new Place(5), new Place(6)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(1), 0, 0, new Place(3), new Place(4), new Place(5)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(2), 0, 0, new Place(3), new Place(4), new Place(6)])], 0, ";"));
add("sys_phrase_expansion", 6, new Clause(10, [new Skeleton("->", [new Place(1), new Place(2)]), new Place(3), new Place(4), new Place(5), new Place(6), new Skeleton("->", [new Place(7), new Place(8)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(1), new Place(3), 1, new Place(5), new Place(9), new Place(7)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(2), 0, new Place(4), new Place(9), new Place(6), new Place(8)])], 0, "->"));
add("sys_phrase_expansion", 6, new Clause(3, ["[]", 0, undefined, new Place(1), new Place(2), new Skeleton("=", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_phrase_expansion", 6, new Clause(3, ["[]", 1, undefined, new Place(1), new Place(2), "true"], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, "[]"));
add("sys_phrase_expansion", 6, new Clause(6, [new Skeleton(".", [new Place(1), new Place(2)]), 0, undefined, new Place(3), new Place(4), new Skeleton("=", [new Place(3), new Skeleton(".", [new Place(1), new Place(5)])])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_list_expansion"), [new Place(2), new Place(4), new Place(5)])], 0, "."));
add("sys_phrase_expansion", 6, new Clause(6, [new Skeleton(".", [new Place(1), new Place(2)]), 1, undefined, new Place(3), new Place(4), "true"], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Skeleton(".", [new Place(1), new Place(5)])]), new Skeleton(new Cache("sys_list_expansion"), [new Place(2), new Place(4), new Place(5)])], 0, "."));
add("sys_phrase_expansion", 6, new Clause(3, ["!", undefined, 0, new Place(1), new Place(2), new Skeleton(",", ["!", new Skeleton("=", [new Place(1), new Place(2)])])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "!"));
add("sys_phrase_expansion", 6, new Clause(3, ["!", undefined, 1, new Place(1), new Place(2), "!"], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, "!"));
add("sys_phrase_expansion", 6, new Clause(4, [new Skeleton("{}", [new Place(1)]), undefined, 0, new Place(2), new Place(3), new Skeleton(",", [new Place(1), new Skeleton("=", [new Place(2), new Place(3)])])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "{}"));
add("sys_phrase_expansion", 6, new Clause(4, [new Skeleton("{}", [new Place(1)]), undefined, 1, new Place(2), new Place(3), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], 0, "{}"));
add("sys_phrase_expansion", 6, new Clause(5, [new Skeleton("\\+", [new Place(1)]), undefined, 0, new Place(2), new Place(3), new Skeleton(",", [new Skeleton("\\+", [new Place(4)]), new Skeleton("=", [new Place(2), new Place(3)])])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(1), 0, 0, new Place(2), undefined, new Place(4)])], 0, "\\+"));
add("sys_phrase_expansion", 6, new Clause(5, [new Skeleton("\\+", [new Place(1)]), undefined, 1, new Place(2), new Place(3), new Skeleton("\\+", [new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(1), 0, 0, new Place(2), undefined, new Place(4)])], 0, "\\+"));
add("sys_phrase_expansion", 6, new Clause(8, [new Place(1), undefined, undefined, new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("callable"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(5), new Place(6)])]), new Skeleton(new Cache("append"), [new Place(6), new Skeleton(".", [new Place(2), new Skeleton(".", [new Place(3), "[]"])]), new Place(7)]), new Skeleton(new Cache("=.."), [new Place(4), new Skeleton(".", [new Place(5), new Place(7)])])], 0, undefined));
add("sys_phrase_expansion", 6, new Clause(1, [new Place(0), undefined, undefined, undefined, undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["callable", new Place(0)]), undefined])])], -1, undefined));
add("sys_list_expansion", 3, new Clause(1, [new Place(0), undefined, undefined], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("sys_list_expansion", 3, new Clause(2, ["[]", new Place(1), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_list_expansion", 3, new Clause(5, [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Skeleton(".", [new Place(1), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_list_expansion"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_list_expansion", 3, new Clause(1, [new Place(0), undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), undefined])])], -1, undefined));
add("sub_atom", 5, new Clause(8, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("var"), [new Place(3)]), new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("between"), [0, new Place(6), new Place(2)]), new Skeleton(new Cache("is"), [new Place(7), new Skeleton(new Cache("-"), [new Place(6), new Place(2)])]), new Skeleton(new Cache("between"), [0, new Place(7), new Place(3)]), new Skeleton(new Cache("sys_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Place(7), new Place(3)])])], 0, undefined));
add("sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("sys_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(2)]), new Place(3)])])], 0, undefined));
add("sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(5), new Place(3)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("sys_atom_match"), [new Place(1), new Place(5), new Place(2)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(2)]), new Place(3)])])], 0, undefined));
add("sub_atom", 5, new Clause(8, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("var"), [new Place(3)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("=<"), [0, new Place(4)]), new Skeleton(new Cache("=<"), [new Place(4), new Place(6)]), new Skeleton(new Cache("is"), [new Place(7), new Skeleton(new Cache("-"), [new Place(6), new Place(4)])]), new Skeleton(new Cache("between"), [0, new Place(7), new Place(2)]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("-"), [new Place(7), new Place(2)])]), new Skeleton(new Cache("sys_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)])], 0, undefined));
add("sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(4)]), new Place(3)])]), new Skeleton(new Cache("sys_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)])], 0, undefined));
add("sub_atom", 5, new Clause(8, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(3)]), new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("=<"), [0, new Place(2)]), new Skeleton(new Cache("=<"), [new Place(2), new Place(6)]), new Skeleton(new Cache("is"), [new Place(7), new Skeleton(new Cache("-"), [new Place(6), new Place(2)])]), new Skeleton(new Cache("between"), [0, new Place(7), new Place(3)]), new Skeleton(new Cache("sys_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Place(7), new Place(3)])])], 0, undefined));
add("sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(2)]), new Place(3)])]), new Skeleton(new Cache("sys_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)])], 0, undefined));
add("sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(4)]), new Place(2)])]), new Skeleton(new Cache("sys_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)])], 0, undefined));
add("sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(5), new Place(3)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(2)]), new Place(3)])]), new Skeleton(new Cache("sys_atom_match"), [new Place(1), new Place(5), new Place(2)])], 0, undefined));
add("sub_atom", 5, new Clause(6, [new Place(0), new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("atom_length"), [new Place(4), new Place(2)]), new Skeleton(new Cache("atom_length"), [new Place(0), new Place(5)]), new Skeleton(new Cache("is"), [new Place(1), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(5), new Place(3)]), new Place(2)])]), new Skeleton(new Cache("sys_atom_match"), [new Place(0), new Place(4), new Place(1)])], -1, undefined));
add("last_sub_atom", 5, new Clause(10, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("var"), [new Place(3)]), new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("between"), [0, new Place(6), new Place(7)]), new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("-"), [new Place(6), new Place(7)])]), new Skeleton(new Cache("is"), [new Place(8), new Skeleton(new Cache("-"), [new Place(6), new Place(2)])]), new Skeleton(new Cache("between"), [0, new Place(8), new Place(9)]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("-"), [new Place(8), new Place(9)])]), new Skeleton(new Cache("sys_last_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Place(8), new Place(3)])])], 0, undefined));
add("last_sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("sys_last_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(2)]), new Place(3)])])], 0, undefined));
add("last_sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(5), new Place(3)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("sys_last_atom_match"), [new Place(1), new Place(5), new Place(2)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(2)]), new Place(3)])])], 0, undefined));
add("last_sub_atom", 5, new Clause(9, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("var"), [new Place(3)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("=<"), [0, new Place(4)]), new Skeleton(new Cache("=<"), [new Place(4), new Place(6)]), new Skeleton(new Cache("is"), [new Place(7), new Skeleton(new Cache("-"), [new Place(6), new Place(4)])]), new Skeleton(new Cache("between"), [0, new Place(7), new Place(8)]), new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("-"), [new Place(7), new Place(8)])]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("-"), [new Place(7), new Place(2)])]), new Skeleton(new Cache("sys_last_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)])], 0, undefined));
add("last_sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(4)]), new Place(3)])]), new Skeleton(new Cache("sys_last_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)])], 0, undefined));
add("last_sub_atom", 5, new Clause(9, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(3)]), new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("=<"), [0, new Place(2)]), new Skeleton(new Cache("=<"), [new Place(2), new Place(6)]), new Skeleton(new Cache("is"), [new Place(7), new Skeleton(new Cache("-"), [new Place(6), new Place(2)])]), new Skeleton(new Cache("between"), [0, new Place(7), new Place(8)]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("-"), [new Place(7), new Place(8)])]), new Skeleton(new Cache("sys_last_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Place(7), new Place(3)])])], 0, undefined));
add("last_sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(2)]), new Place(3)])]), new Skeleton(new Cache("sys_last_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)])], 0, undefined));
add("last_sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(4)]), new Place(2)])]), new Skeleton(new Cache("sys_last_atom_part"), [new Place(1), new Place(2), new Place(3), new Place(5)])], 0, undefined));
add("last_sub_atom", 5, new Clause(7, [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("var"), [new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_length"), [new Place(5), new Place(3)]), new Skeleton(new Cache("atom_length"), [new Place(1), new Place(6)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(6), new Place(2)]), new Place(3)])]), new Skeleton(new Cache("sys_last_atom_match"), [new Place(1), new Place(5), new Place(2)])], 0, undefined));
add("last_sub_atom", 5, new Clause(6, [new Place(0), new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("atom_length"), [new Place(4), new Place(2)]), new Skeleton(new Cache("atom_length"), [new Place(0), new Place(5)]), new Skeleton(new Cache("is"), [new Place(1), new Skeleton(new Cache("-"), [new Skeleton(new Cache("-"), [new Place(5), new Place(3)]), new Place(2)])]), new Skeleton(new Cache("sys_last_atom_match"), [new Place(0), new Place(4), new Place(1)])], -1, undefined));
add("strings", 3, new Clause(0, ["instantiation_error", "de", "Argument sollte keine Variable sein."], [], -1, "instantiation_error"));
add("strings", 3, new Clause(0, ["domain_error.read_option", "de", "Leseoption erwartet, gefunden $."], [], -1, "domain_error.read_option"));
add("strings", 3, new Clause(0, ["domain_error.io_mode", "de", "Eingabe-\/Ausgabemodus (read oder write) erwartet, gefunden $."], [], -1, "domain_error.io_mode"));
add("strings", 3, new Clause(0, ["domain_error.write_option", "de", "Schreiboption erwartet, gefunden $."], [], -1, "domain_error.write_option"));
add("strings", 3, new Clause(0, ["domain_error.open_option", "de", "Öffnenoption erwartet, gefunden $."], [], -1, "domain_error.open_option"));
add("strings", 3, new Clause(0, ["type_error.character_code", "de", "Unerlaubter Kodepunkt $, nicht zwischen 0 und 0x10FFFF."], [], -1, "type_error.character_code"));
add("strings", 3, new Clause(0, ["existence_error.source_sink", "de", "Datei $ nicht gefunden."], [], -1, "existence_error.source_sink"));
add("strings", 3, new Clause(0, ["existence_error.module", "de", "Modul $ nicht gefunden."], [], -1, "existence_error.module"));
add("strings", 3, new Clause(0, ["permission_error.open.source_sink", "de", "Kann Datei $ nicht öffnen."], [], -1, "permission_error.open.source_sink"));
add("strings", 3, new Clause(0, ["permission_error.modify.compound", "de", "Kann Verbund $ nicht ändern."], [], -1, "permission_error.modify.compound"));
add("strings", 3, new Clause(0, ["resource_error.socket_timeout", "de", "Ein-\/Ausgabeauszeit."], [], -1, "resource_error.socket_timeout"));
add("strings", 3, new Clause(0, ["resource_error.port_error", "de", "Fehler bei Verwendung eines Port."], [], -1, "resource_error.port_error"));
add("strings", 3, new Clause(0, ["resource_error.remote_error", "de", "Fehler von Entfernt erhalten."], [], -1, "resource_error.remote_error"));
add("strings", 3, new Clause(0, ["resource_error.io_exception", "de", "Datei nicht erstellt oder nicht zugreifbar."], [], -1, "resource_error.io_exception"));
add("strings", 3, new Clause(0, ["system_error.timelimit_exceeded", "de", "Ausführung abgebrochen da Zeitfrist abgelaufen."], [], -1, "system_error.timelimit_exceeded"));
add("strings", 3, new Clause(0, ["system_error.stack_overflow", "de", "Ausführung wegen Stapelüberlauf abgebrochen."], [], -1, "system_error.stack_overflow"));
add("strings", 3, new Clause(0, ["system_error.out_of_memory", "de", "Ausführung wegen aufgebrauchtem Speicherplatz abgebrochen."], [], -1, "system_error.out_of_memory"));
add("strings", 3, new Clause(0, ["system_error.user_abort", "de", "Ausführung auf Benutzerwunsch abgebrochen."], [], -1, "system_error.user_abort"));
add("strings", 3, new Clause(0, ["system_error.user_exit", "de", "System auf Benutzerwunsch beendet."], [], -1, "system_error.user_exit"));
add("strings", 3, new Clause(0, ["syntax_error.directive_failed", "de", "Direktive fehlgeschlagen."], [], -1, "syntax_error.directive_failed"));
add("strings", 3, new Clause(0, ["instantiation_error", "", "Argument should not be a variable."], [], -1, "instantiation_error"));
add("strings", 3, new Clause(0, ["domain_error.read_option", "", "Read option expected, found $."], [], -1, "domain_error.read_option"));
add("strings", 3, new Clause(0, ["domain_error.io_mode", "", "Input\/output mode (read or write) expected, found $."], [], -1, "domain_error.io_mode"));
add("strings", 3, new Clause(0, ["domain_error.write_option", "", "Write option expected, found $."], [], -1, "domain_error.write_option"));
add("strings", 3, new Clause(0, ["domain_error.open_option", "", "Open option expected, found $."], [], -1, "domain_error.open_option"));
add("strings", 3, new Clause(0, ["type_error.character_code", "", "Illegal code point $, not between 0 and 0x10FFFF."], [], -1, "type_error.character_code"));
add("strings", 3, new Clause(0, ["existence_error.source_sink", "", "File $ not found."], [], -1, "existence_error.source_sink"));
add("strings", 3, new Clause(0, ["existence_error.module", "", "Module $ not found."], [], -1, "existence_error.module"));
add("strings", 3, new Clause(0, ["permission_error.open.source_sink", "", "Cannot open file $."], [], -1, "permission_error.open.source_sink"));
add("strings", 3, new Clause(0, ["permission_error.modify.compound", "", "Cannot modify compound $."], [], -1, "permission_error.modify.compound"));
add("strings", 3, new Clause(0, ["resource_error.socket_timeout", "", "Input\/output timeout."], [], -1, "resource_error.socket_timeout"));
add("strings", 3, new Clause(0, ["resource_error.port_error", "", "Error using a port."], [], -1, "resource_error.port_error"));
add("strings", 3, new Clause(0, ["resource_error.remote_error", "", "Got error from remote."], [], -1, "resource_error.remote_error"));
add("strings", 3, new Clause(0, ["resource_error.io_exception", "", "File not created or not accessible."], [], -1, "resource_error.io_exception"));
add("strings", 3, new Clause(0, ["system_error.timelimit_exceeded", "", "Execution aborted since time limit exceeded."], [], -1, "system_error.timelimit_exceeded"));
add("strings", 3, new Clause(0, ["system_error.stack_overflow", "", "Execution aborted because of stack overflow."], [], -1, "system_error.stack_overflow"));
add("strings", 3, new Clause(0, ["system_error.out_of_memory", "", "Execution aborted because out of memory."], [], -1, "system_error.out_of_memory"));
add("strings", 3, new Clause(0, ["system_error.user_abort", "", "Execution aborted on user request."], [], -1, "system_error.user_abort"));
add("strings", 3, new Clause(0, ["system_error.user_exit", "", "System ended on user request."], [], -1, "system_error.user_exit"));
add("strings", 3, new Clause(0, ["syntax_error.directive_failed", "", "Directive failed."], [], -1, "syntax_error.directive_failed"));
add("dynamic", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("dynamic", 1, new Clause(3, [new Skeleton("\/", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("must_be"), ["atom", new Place(1)]), new Skeleton(new Cache("must_be"), ["integer", new Place(2)]), new Skeleton(new Cache("sys_style_indicator"), [new Place(1), new Place(2)]), new Skeleton(new Cache("kb_pred_touch"), [new Place(1), new Place(2), 1])], 0, "\/"));
add("dynamic", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1, undefined));
add("asserta", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("asserta", 1, new Clause(6, [new Skeleton(":-", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_frost_horn"), [new Skeleton(":-", [new Place(1), new Place(2)]), 0, new Place(3)]), new Skeleton(new Cache("functor"), [new Place(1), new Place(4), new Place(5)]), new Skeleton(new Cache("ir_clause_add"), [new Place(4), new Place(5), new Place(3), 1])], 0, ":-"));
add("asserta", 1, new Clause(4, [new Place(0)], [new Skeleton(new Cache("sys_frost_horn"), [new Place(0), 0, new Place(1)]), new Skeleton(new Cache("functor"), [new Place(0), new Place(2), new Place(3)]), new Skeleton(new Cache("ir_clause_add"), [new Place(2), new Place(3), new Place(1), 1])], -1, undefined));
add("assertz", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("assertz", 1, new Clause(6, [new Skeleton(":-", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_frost_horn"), [new Skeleton(":-", [new Place(1), new Place(2)]), 0, new Place(3)]), new Skeleton(new Cache("functor"), [new Place(1), new Place(4), new Place(5)]), new Skeleton(new Cache("ir_clause_add"), [new Place(4), new Place(5), new Place(3), 3])], 0, ":-"));
add("assertz", 1, new Clause(4, [new Place(0)], [new Skeleton(new Cache("sys_frost_horn"), [new Place(0), 0, new Place(1)]), new Skeleton(new Cache("functor"), [new Place(0), new Place(2), new Place(3)]), new Skeleton(new Cache("ir_clause_add"), [new Place(2), new Place(3), new Place(1), 3])], -1, undefined));
add("clause", 2, new Clause(6, [new Place(0), new Place(1)], [new Skeleton(new Cache("kb_clause_ref"), [new Place(0), 2, new Place(2)]), new Skeleton(new Cache("kb_clause_data"), [new Place(2), new Place(0), new Place(3), new Place(4)]), new Skeleton(new Cache("sys_untrans_body"), [new Place(4), new Place(3), new Place(5)]), new Skeleton(new Cache("="), [new Place(5), new Place(1)])], -1, undefined));
add("retract", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("retract", 1, new Clause(9, [new Skeleton(":-", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("functor"), [new Place(1), new Place(3), new Place(4)]), new Skeleton(new Cache("kb_clause_ref"), [new Place(1), 3, new Place(5)]), new Skeleton(new Cache("kb_clause_data"), [new Place(5), new Place(1), new Place(6), new Place(7)]), new Skeleton(new Cache("sys_untrans_body"), [new Place(7), new Place(6), new Place(8)]), new Skeleton(new Cache("="), [new Place(8), new Place(2)]), new Skeleton(new Cache("kb_clause_remove"), [new Place(3), new Place(4), 0, new Place(5)])], 0, ":-"));
add("retract", 1, new Clause(7, [new Place(0)], [new Skeleton(new Cache("functor"), [new Place(0), new Place(1), new Place(2)]), new Skeleton(new Cache("kb_clause_ref"), [new Place(0), 3, new Place(3)]), new Skeleton(new Cache("kb_clause_data"), [new Place(3), new Place(0), new Place(4), new Place(5)]), new Skeleton(new Cache("sys_untrans_body"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("="), [new Place(6), "true"]), new Skeleton(new Cache("kb_clause_remove"), [new Place(1), new Place(2), 0, new Place(3)])], -1, undefined));
add("retractall", 1, new Clause(4, [new Place(0)], [new Skeleton(new Cache("functor"), [new Place(0), new Place(1), new Place(2)]), new Skeleton(new Cache("kb_clause_ref"), [new Place(0), 7, new Place(3)]), new Skeleton(new Cache("kb_clause_head"), [new Place(3), new Place(0)]), new Skeleton(new Cache("kb_clause_remove"), [new Place(1), new Place(2), 1, new Place(3)]), new Cache("fail")], -1, undefined));
add("retractall", 1, new Clause(0, [undefined], [], -1, undefined));
add("abolish", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1, undefined));
add("abolish", 1, new Clause(3, [new Skeleton("\/", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_abolish"), [new Place(1), new Place(2)])], 0, "\/"));
add("abolish", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1, undefined));
add("sys_abolish", 2, new Clause(4, [new Place(0), new Place(1)], [new Skeleton(new Cache("kb_pred_link"), [new Place(0), new Place(1), new Place(2)]), new Skeleton(new Cache("kb_link_flags"), [new Place(2), new Place(3)]), new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(3), 1]), 0]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("permission_error", ["modify", "static_procedure", new Skeleton("\/", [new Place(0), new Place(1)])]), undefined])])], -1, undefined));
add("sys_abolish", 2, new Clause(2, [new Place(0), new Place(1)], [new Skeleton(new Cache("retractall"), [new Skeleton("sys_predprop", [new Place(0), new Place(1), undefined])]), new Skeleton(new Cache("kb_pred_destroy"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Frozen(new Cache("kb_pred_touch"), ["sys_predprop", 3, 1])], -1));
add("current_predicate", 1, new Clause(4, [new Skeleton("\/", [new Place(1), new Place(2)])], [new Skeleton(make_defined([new Clause(1, [new Place(0), undefined], [new Skeleton(new Cache("var"), [new Place(0)])], -1, undefined), new Clause(1, [undefined, new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)])], -1, undefined)], 1), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("kb_pred_list"), [new Place(3)]), new Skeleton(new Cache("member"), [new Skeleton("\/", [new Place(1), new Place(2)]), new Place(3)])], 0, "\/"));
add("current_predicate", 1, new Clause(3, [new Skeleton("\/", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("kb_pred_link"), [new Place(1), new Place(2), undefined])], 0, "\/"));
add("current_predicate", 1, new Clause(1, [new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1, undefined));
add("predicate_property", 2, new Clause(4, [new Skeleton("\/", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(make_defined([new Clause(1, [new Place(0), undefined], [new Skeleton(new Cache("var"), [new Place(0)])], -1, undefined), new Clause(1, [undefined, new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)])], -1, undefined)], 1), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("current_predicate"), [new Skeleton("\/", [new Place(1), new Place(2)])]), new Skeleton(new Cache("sys_predprop_get"), [new Place(1), new Place(2), new Place(3)])], 0, "\/"));
add("predicate_property", 2, new Clause(4, [new Skeleton("\/", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_predprop_get"), [new Place(1), new Place(2), new Place(3)])], 0, "\/"));
add("predicate_property", 2, new Clause(1, [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1, undefined));
add("sys_predprop_pattern", 2, new Clause(3, [new Skeleton("\/", [new Place(0), new Place(1)]), new Place(2)], [new Skeleton(new Cache("current_predicate"), [new Skeleton("\/", [new Place(0), new Place(1)])]), new Skeleton(new Cache("sys_predprop_get"), [new Place(0), new Place(1), new Place(2)])], -1, "\/"));
add("sys_predprop_get", 3, new Clause(6, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("kb_pred_link"), [new Place(0), new Place(1), new Place(3)]), new Skeleton(new Cache("kb_link_flags"), [new Place(3), new Place(4)]), new Skeleton(new Cache("sys_predprop_flag"), [new Place(4), new Place(5)]), new Skeleton(new Cache("="), [new Place(2), new Place(5)])], -1, undefined));
add("sys_predprop_get", 3, new Clause(3, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_predprop"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
add("sys_predprop_flag", 2, new Clause(1, [0, "static"], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, 0));
add("sys_predprop_flag", 2, new Clause(1, [1, "dynamic"], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, 1));
add("sys_predprop_flag", 2, new Clause(0, [undefined, "built_in"], [], -1, undefined));
add("sys_host_make", 2, new Clause(10, [new Skeleton("ir_clause", [new Place(0), new Place(1), new Place(2), new Place(3)]), new Place(4)], [new Skeleton(new Cache("is"), [new Place(5), new Skeleton(new Cache("+"), [new Place(2), 1])]), new Skeleton(new Cache("sys_host_instrs"), [new Place(0), new Place(6), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_host_instrs"), [new Place(1), new Place(8), new Place(7), new Place(9)]), new Skeleton(new Cache("ir_clause_new"), [new Place(9), new Place(6), new Place(8), new Place(2), new Place(3), new Place(4)])], -1, "ir_clause"));
add("sys_host_make", 2, new Clause(6, [new Skeleton("ir_goal", [new Place(0), new Place(1)]), new Place(2)], [new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("+"), [new Place(1), 1])]), new Skeleton(new Cache("sys_host_instrs"), [new Place(0), new Place(4), new Place(3), new Place(5)]), new Skeleton(new Cache("ir_goal_new"), [new Place(5), new Place(4), new Place(1), new Place(2)])], -1, "ir_goal"));
add("sys_host_instrs", 4, new Clause(1, ["[]", "[]", new Place(0), new Place(0)], [], -1, "[]"));
add("sys_host_instrs", 4, new Clause(7, [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)]), new Place(4), new Place(5)], [new Skeleton(new Cache("sys_host_instr"), [new Place(0), new Place(2), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_host_instrs"), [new Place(1), new Place(3), new Place(6), new Place(5)])], -1, "."));
add("sys_host_instr", 4, new Clause(5, [new Skeleton("place", [undefined, new Place(1)]), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_anon_new"), [new Place(2)]), new Skeleton(new Cache("="), [new Place(3), new Place(4)])], 0, "place"));
add("sys_host_instr", 4, new Clause(8, [new Skeleton("place", [new Place(1), undefined]), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_host_current_max"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("is"), [new Place(6), new Skeleton(new Cache("+"), [new Place(1), 1])]), new Skeleton(new Cache("sys_host_set_max"), [new Place(6), new Place(5), new Place(7)]), new Skeleton(new Cache("ir_place_new"), [new Place(1), new Place(2)]), new Skeleton(new Cache("="), [new Place(7), new Place(4)])], 0, "place"));
add("sys_host_instr", 4, new Clause(4, [new Skeleton("place", [new Place(0), undefined]), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("ir_place_new"), [new Place(0), new Place(1)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], -1, "place"));
add("sys_host_instr", 4, new Clause(8, [new Skeleton("functor", [new Place(0), new Place(1)]), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_host_const"), [new Place(0), new Place(5)]), new Skeleton(new Cache("sys_host_instrs"), [new Place(1), new Place(6), new Place(3), new Place(7)]), new Skeleton(new Cache("ir_skeleton_new"), [new Place(5), new Place(6), new Place(2)]), new Skeleton(new Cache("="), [new Place(7), new Place(4)])], -1, "functor"));
add("sys_host_instr", 4, new Clause(4, [new Skeleton("const", [new Place(0)]), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_host_const"), [new Place(0), new Place(1)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], -1, "const"));
add("sys_host_current_max", 3, new Clause(1, [new Place(0), new Place(0), new Place(0)], [], -1, undefined));
add("sys_host_set_max", 3, new Clause(1, [new Place(0), undefined, new Place(0)], [], -1, undefined));
add("sys_host_const", 2, new Clause(6, [new Skeleton("functor", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_host_const"), [new Place(1), new Place(4)]), new Skeleton(new Cache("sys_host_args"), [new Place(2), new Place(5)]), new Skeleton(new Cache("ir_make_frozen"), [new Place(4), new Place(5), new Place(3)])], 0, "functor"));
add("sys_host_const", 2, new Clause(5, [new Skeleton("link", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_host_alternatives"), [new Place(1), new Place(4)]), new Skeleton(new Cache("kb_make_defined"), [new Place(4), new Place(2), new Place(3)])], 0, "link"));
add("sys_host_const", 2, new Clause(3, [new Skeleton("site", [new Place(1)]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_pred_site"), [new Place(1), new Place(2)])], 0, "site"));
add("sys_host_const", 2, new Clause(1, [new Place(0), new Place(0)], [], -1, undefined));
add("sys_host_args", 2, new Clause(0, ["[]", "[]"], [], -1, "[]"));
add("sys_host_args", 2, new Clause(4, [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)])], [new Skeleton(new Cache("sys_host_const"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_host_args"), [new Place(1), new Place(3)])], -1, "."));
add("sys_host_alternatives", 2, new Clause(0, ["[]", "[]"], [], -1, "[]"));
add("sys_host_alternatives", 2, new Clause(4, [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)])], [new Skeleton(new Cache("sys_host_make"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_host_alternatives"), [new Place(1), new Place(3)])], -1, "."));
run(new Goal(0, [new Frozen(new Cache("kb_pred_touch"), ["sys_emulated", 2, 1])], -1));
add("sys_emulated", 2, new Clause(0, ["argv", "[]"], [], -1, "argv"));
add("sys_emulated", 2, new Clause(0, ["sys_locale", "en_GB"], [], -1, "sys_locale"));
add("sys_emulated", 2, new Clause(0, ["sys_color", "normal"], [], -1, "sys_color"));
add("set_prolog_flag", 2, new Clause(3, [new Place(1), new Place(2)], [new Skeleton(new Cache("must_be"), ["atom", new Place(1)]), new Skeleton(new Cache("sys_prolog_flag_set"), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("set_prolog_flag", 2, new Clause(1, [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["prolog_flag", new Place(0)]), undefined])])], -1, undefined));
add("sys_prolog_flag_set", 2, new Clause(1, ["argv", new Place(0)], [new Skeleton(new Cache("retractall"), [new Skeleton("sys_emulated", ["argv", undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton("sys_emulated", ["argv", new Place(0)])])], -1, "argv"));
add("sys_prolog_flag_set", 2, new Clause(1, ["sys_locale", new Place(0)], [new Skeleton(new Cache("retractall"), [new Skeleton("sys_emulated", ["sys_locale", undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton("sys_emulated", ["sys_locale", new Place(0)])])], -1, "sys_locale"));
add("sys_prolog_flag_set", 2, new Clause(1, ["sys_color", new Place(0)], [new Skeleton(new Cache("retractall"), [new Skeleton("sys_emulated", ["sys_color", undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton("sys_emulated", ["sys_color", new Place(0)])])], -1, "sys_color"));
add("sys_prolog_flag_set", 2, new Clause(1, ["base_url", new Place(0)], [new Skeleton(new Cache("os_set_workdir"), [new Place(0)])], -1, "base_url"));
add("sys_prolog_flag_set", 2, new Clause(1, ["stage", new Place(0)], [new Skeleton(new Cache("dg_set_stage"), [new Place(0)])], -1, "stage"));
add("sys_prolog_flag_set", 2, new Clause(1, ["partition", new Place(0)], [new Skeleton(new Cache("dg_set_partition"), [new Place(0)])], -1, "partition"));
add("sys_prolog_flag_set", 2, new Clause(1, [new Place(0), undefined], [new Skeleton(new Cache("sys_prolog_flag_get"), [new Place(0), undefined]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("permission_error", ["modify", "flag", new Place(0)]), undefined])])], -1, undefined));
add("current_prolog_flag", 2, new Clause(3, [new Place(1), new Place(2)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_prolog_flag_get"), [new Place(1), new Place(2)])], 0, undefined));
add("current_prolog_flag", 2, new Clause(4, [new Place(1), new Place(2)], [new Skeleton(new Cache("must_be"), ["atom", new Place(1)]), new Skeleton(new Cache("sys_prolog_flag_get"), [new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], 0, undefined));
add("current_prolog_flag", 2, new Clause(1, [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["prolog_flag", new Place(0)]), undefined])])], -1, undefined));
add("sys_prolog_flag_get", 2, new Clause(1, ["argv", new Place(0)], [new Skeleton(new Cache("sys_emulated"), ["argv", new Place(0)])], -1, "argv"));
add("sys_prolog_flag_get", 2, new Clause(1, ["sys_locale", new Place(0)], [new Skeleton(new Cache("sys_emulated"), ["sys_locale", new Place(0)])], -1, "sys_locale"));
add("sys_prolog_flag_get", 2, new Clause(1, ["sys_color", new Place(0)], [new Skeleton(new Cache("sys_emulated"), ["sys_color", new Place(0)])], -1, "sys_color"));
add("sys_prolog_flag_get", 2, new Clause(1, ["base_url", new Place(0)], [new Skeleton(new Cache("os_get_workdir"), [new Place(0)])], -1, "base_url"));
add("sys_prolog_flag_get", 2, new Clause(1, ["stage", new Place(0)], [new Skeleton(new Cache("dg_get_stage"), [new Place(0)])], -1, "stage"));
add("sys_prolog_flag_get", 2, new Clause(1, ["partition", new Place(0)], [new Skeleton(new Cache("dg_get_partition"), [new Place(0)])], -1, "partition"));
add("sys_prolog_flag_get", 2, new Clause(0, ["single_quotes", "atom"], [], -1, "single_quotes"));
add("sys_prolog_flag_get", 2, new Clause(0, ["double_quotes", "codes"], [], -1, "double_quotes"));
add("sys_prolog_flag_get", 2, new Clause(0, ["back_quotes", "variable"], [], -1, "back_quotes"));
add("sys_prolog_flag_get", 2, new Clause(0, ["dialect", "dogelog"], [], -1, "dialect"));
add("sys_prolog_flag_get", 2, new Clause(0, ["version", 20105], [], -1, "version"));
add("sys_prolog_flag_get", 2, new Clause(0, ["version_data", new Frozen("dogelog", [2, 1, 5, new Frozen(".", [new Frozen("build", ["20260223"]), "[]"])])], [], -1, "version_data"));
add("sys_prolog_flag_get", 2, new Clause(0, ["use_strict", "off"], [], -1, "use_strict"));
add("sys_prolog_flag_get", 2, new Clause(0, ["max_code", 1114111], [], -1, "max_code"));
add("sys_prolog_flag_get", 2, new Clause(0, ["max_arity", 2147483647n], [], -1, "max_arity"));
add("sys_prolog_flag_get", 2, new Clause(2, ["async_mode", new Place(0)], [new Skeleton(new Cache("sys_flags_get"), [new Place(1)]), new Skeleton(new Cache("sys_prolog_flag_decode"), [new Place(1), 1, new Place(0)])], -1, "async_mode"));
add("sys_prolog_flag_get", 2, new Clause(2, ["allow_yield", new Place(0)], [new Skeleton(new Cache("sys_flags_get"), [new Place(1)]), new Skeleton(new Cache("sys_prolog_flag_decode"), [new Place(1), 8, new Place(0)])], -1, "allow_yield"));
add("sys_prolog_flag_get", 2, new Clause(0, ["import_async", "on"], [], -1, "import_async"));
add("sys_prolog_flag_get", 2, new Clause(0, ["prop_async", "on"], [], -1, "prop_async"));
add("sys_prolog_flag_get", 2, new Clause(0, ["read_async", "on"], [], -1, "read_async"));
add("sys_prolog_flag_get", 2, new Clause(2, ["state_async", new Place(0)], [new Skeleton(new Cache("sys_flags_get"), [new Place(1)]), new Skeleton(new Cache("sys_prolog_flag_decode"), [new Place(1), 128, new Place(0)])], -1, "state_async"));
add("sys_prolog_flag_get", 2, new Clause(5, [new Place(1), new Place(2)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_flag_map"), [new Place(3)]), new Skeleton(new Cache("ir_object_keys"), [new Place(3), new Place(4)]), new Skeleton(new Cache("member"), [new Place(1), new Place(4)]), new Skeleton(new Cache("ir_object_current"), [new Place(3), new Place(1), new Place(2)])], 0, undefined));
add("sys_prolog_flag_get", 2, new Clause(3, [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_flag_map"), [new Place(2)]), new Skeleton(new Cache("ir_object_current"), [new Place(2), new Place(0), new Place(1)])], -1, undefined));
add("sys_prolog_flag_decode", 3, new Clause(4, [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(1), new Place(2)]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), "on"])], 0, undefined));
add("sys_prolog_flag_decode", 3, new Clause(0, [undefined, undefined, "off"], [], -1, undefined));
add("vars_intersection", 3, new Clause(4, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("vars_subtract"), [new Place(0), new Place(1), new Place(3)]), new Skeleton(new Cache("vars_subtract"), [new Place(0), new Place(3), new Place(2)])], -1, undefined));
add("vars_subtract", 3, new Clause(5, [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("term_variables"), [new Place(1), new Place(3)]), new Skeleton(new Cache("term_variables"), [new Skeleton("+", [new Place(1), new Place(0)]), new Place(4)]), new Skeleton(new Cache("append"), [new Place(3), new Place(2), new Place(4)])], -1, undefined));
run(new Goal(0, [new Frozen(new Cache("kb_pred_touch"), ["sys_including", 3, 1])], -1));
run(new Goal(4, [new Skeleton(new Cache("os_get_gestalt"), [new Place(0)]), new Skeleton(new Cache("ir_object_current"), [new Place(0), "sys_color", new Place(1)]), new Skeleton(new Cache("set_prolog_flag"), ["sys_color", new Place(1)]), new Skeleton(new Cache("ir_object_current"), [new Place(0), "sys_locale", new Place(2)]), new Skeleton(new Cache("set_prolog_flag"), ["sys_locale", new Place(2)]), new Skeleton(new Cache("ir_object_current"), [new Place(0), "argv", new Place(3)]), new Skeleton(new Cache("set_prolog_flag"), ["argv", new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_multifile_safe"), ["strings", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_multifile_safe"), ["term_expansion", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_multifile_safe"), ["strings", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_trans_horn", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_trans_body", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_trans_cut", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_trans_disj", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_trans_alter", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_trans_mark", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_body", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_rest", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_goal", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_disj", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_more", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_alter", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_split", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_ambiguity", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_horn", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_body", 6])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_goal", 7])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_disj", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_invoke", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_args", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_expr", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_list", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_term", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_const_functor", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_const_only", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_var", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_current_map", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_set_map", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_idx_value", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_idx_value_arg", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_idx_value_term", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_decode_body", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_decode_goal", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_decode_disj", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_decode_args", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_decode_expr", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_source", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_srcprop", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["current_source", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["source_property", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["discontiguous", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["multifile", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_multifile_safe", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["include", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_include_file", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_include_native", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), [".", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["ensure_loaded", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_check_file", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_action_file", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_lastpred", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_load_file", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_loading_begin", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_loading_end", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_update_last", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_style_static", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_style_head", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_style_indicator", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_usage_predicate", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_include_stream", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_include_lines", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_next_term", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_expand_include", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_handle_static", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_pred_type", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_pred_multi", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["strings", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["true", 0])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["!", 0])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), [",", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), [";", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["->", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["\\=", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["\\+", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["once", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["repeat", 0])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["catch", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_error_handler", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_chain_head", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["throw", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_fill_stack", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_fetch_stack", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["try_call_finally", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["ignore", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["chain", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_chain_error", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_chain_raise", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_chain_concat", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["once_cleanup", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["setup_once_cleanup", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_setup_once_cleanup", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_once_cleanup", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sleep", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["call_later", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["call_later", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["call_with_time_limit", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_timeout_signal", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["create_task", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["create_task", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_frost_horn", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["member", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_member", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["select", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_select", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["reverse", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_reverse", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["append", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["length", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_length", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_length", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["between", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_between", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["findall", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_find_init", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_find_next", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_find_fini", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["get_message", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["get_message", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_string", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_string", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_locale_ancestor", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_multiton_keys", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_multiton_check", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_singleton_keys", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_singleton_check", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_marked_at", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["expand_term", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["phrase", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["term_expansion", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_phrase_expansion", 6])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_list_expansion", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sub_atom", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["last_sub_atom", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["strings", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["dynamic", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["asserta", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["assertz", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["clause", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["retract", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["retractall", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["abolish", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_abolish", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_predprop", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["current_predicate", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["predicate_property", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_predprop_pattern", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_predprop_get", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_predprop_flag", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_host_make", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_host_instrs", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_host_instr", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_host_current_max", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_host_set_max", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_host_const", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_host_args", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_host_alternatives", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_emulated", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["set_prolog_flag", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_prolog_flag_set", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["current_prolog_flag", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_prolog_flag_get", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_prolog_flag_decode", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["vars_intersection", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["vars_subtract", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_including", 3])], -1));
