/**
 * 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} from "./store.mjs";
import {run, Frozen} from "./machine.mjs";
import "./special.mjs";
import "./runtime.mjs";
import "./eval.mjs";

add(new Clause(1, "sys_trans_horn", [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));
add(new Clause(5, "sys_trans_horn", [new Skeleton(":-", [new Place(1)]), new Skeleton("tr_goal", [new Place(2), new Place(3)]), new Place(4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_body"), [new Place(1), "nothing", new Place(2), new Place(4), new Place(3), "[]"])], 0));
add(new Clause(6, "sys_trans_horn", [new Skeleton(":-", [new Place(1), new Place(2)]), new Skeleton("tr_clause", [new Place(3), new Place(1), new Place(4)]), new Place(5)], [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(5), new Place(4), "[]"])], 0));
add(new Clause(1, "sys_trans_horn", [new Place(0), new Skeleton("tr_clause", ["nothing", new Place(0), "[]"]), undefined], [new Skeleton(new Cache("must_be"), ["callable", new Place(0)])], -1));
add(new Clause(5, "sys_trans_body", [new Place(1), new Place(2), new Place(2), undefined, 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));
add(new Clause(4, "sys_trans_body", ["true", new Place(1), new Place(1), undefined, 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));
add(new Clause(10, "sys_trans_body", [new Skeleton(",", [new Place(1), new Place(2)]), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_body"), [new Place(1), new Place(3), new Place(8), new Place(5), new Place(6), new Place(9)]), new Skeleton(new Cache("sys_trans_body"), [new Place(2), new Place(8), new Place(4), new Place(5), new Place(9), new Place(7)])], 0));
add(new Clause(5, "sys_trans_body", ["!", new Place(1), new Skeleton("just", [new Place(2)]), undefined, 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(new Clause(9, "sys_trans_body", [new Skeleton(";", [new Place(1), new Place(2)]), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)], [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(5), new Place(8)]), new Skeleton(new Cache("="), [new Place(6), new Skeleton(".", [new Skeleton("$ALT", [new Place(8)]), new Place(7)])])], 0));
add(new Clause(9, "sys_trans_body", [new Skeleton("->", [new Place(1), new Place(2)]), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)], [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(5), new Place(8)]), new Skeleton(new Cache("="), [new Place(6), new Skeleton(".", [new Skeleton("$ALT", [new Place(8)]), new Place(7)])])], 0));
add(new Clause(6, "sys_trans_body", [new Skeleton("\\+", [new Place(1)]), new Place(2), new Place(3), 1, new Place(4), new Place(5)], [new Skeleton(new Cache("sys_safe_meta"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_body"), [new Skeleton(";", [new Skeleton("->", [new Place(1), "fail"]), "true"]), new Place(2), new Place(3), 1, new Place(4), new Place(5)])], 0));
add(new Clause(6, "sys_trans_body", [new Skeleton("once", [new Place(1)]), new Place(2), new Place(3), 1, new Place(4), new Place(5)], [new Skeleton(new Cache("sys_safe_meta"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_body"), [new Skeleton("->", [new Place(1), "true"]), new Place(2), new Place(3), 1, new Place(4), new Place(5)])], 0));
add(new Clause(4, "sys_trans_body", [new Place(0), new Place(1), new Place(1), undefined, 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));
add(new Clause(1, "sys_trans_cut", ["nothing", undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_trans_cut", [new Skeleton("just", [new Place(0)]), new Place(0)], [], -1));
add(new Clause(6, "sys_trans_disj", [new Place(1), undefined, new Place(2), new Place(3), new Place(4), new Skeleton(".", [new Place(5), "[]"])], [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(5), new Place(4), undefined])], 0));
add(new Clause(10, "sys_trans_disj", [new Skeleton(";", [new Place(1), new Place(2)]), undefined, new Place(3), new Place(4), new Place(5), new Skeleton(".", [new Place(6), new Place(7)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_alter"), [new Place(1), new Place(3), new Place(8), new Place(6), new Place(5), new Place(9)]), new Skeleton(new Cache("sys_trans_disj"), [new Place(2), new Place(9), new Place(8), new Place(4), new Place(5), new Place(7)])], 0));
add(new Clause(2, "sys_trans_disj", ["fail", 1, new Place(1), new Place(1), undefined, "[]"], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(5, "sys_trans_disj", [new Place(0), undefined, new Place(1), new Place(2), new Place(3), new Skeleton(".", [new Place(4), "[]"])], [new Skeleton(new Cache("sys_trans_alter"), [new Place(0), new Place(1), new Place(2), new Place(4), new Place(3), undefined])], -1));
add(new Clause(6, "sys_trans_alter", [new Place(1), new Place(2), new Place(3), new Skeleton("$SEQ", ["nothing", new Place(4)]), new Place(5), 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(5), new Place(4), "[]"])], 0));
add(new Clause(11, "sys_trans_alter", [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)]), new Place(7), 1], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_body"), [new Place(1), "nothing", new Place(8), new Place(7), new Place(9), new Skeleton(".", [new Skeleton("$CUT", [new Place(5)]), new Place(10)])]), new Skeleton(new Cache("sys_trans_body"), [new Place(2), new Place(3), new Place(4), new Place(7), new Place(10), "[]"]), new Skeleton(new Cache("sys_trans_mark"), [new Place(8), new Place(6), new Place(9)])], 0));
add(new Clause(5, "sys_trans_alter", [new Place(0), new Place(1), new Place(2), new Skeleton("$SEQ", ["nothing", new Place(3)]), new Place(4), 0], [new Skeleton(new Cache("sys_trans_body"), [new Place(0), new Place(1), new Place(2), new Place(4), new Place(3), "[]"])], -1));
add(new Clause(3, "sys_trans_mark", [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));
add(new Clause(1, "sys_trans_mark", ["nothing", new Place(0), new Place(0)], [], -1));
add(new Clause(2, "sys_safe_meta", [new Place(1)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0));
add(new Clause(3, "sys_safe_meta", [new Skeleton(",", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_safe_meta"), [new Place(1)]), new Skeleton(new Cache("sys_safe_meta"), [new Place(2)])], 0));
add(new Clause(3, "sys_safe_meta", [new Skeleton(";", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_safe_meta"), [new Place(1)]), new Skeleton(new Cache("sys_safe_meta"), [new Place(2)])], 0));
add(new Clause(3, "sys_safe_meta", [new Skeleton("->", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_safe_meta"), [new Place(1)]), new Skeleton(new Cache("sys_safe_meta"), [new Place(2)])], 0));
add(new Clause(1, "sys_safe_meta", [new Place(0)], [new Skeleton(new Cache("callable"), [new Place(0)])], -1));
add(new Clause(0, "sys_untrans_body", ["[]", undefined, undefined, "true"], [], -1));
add(new Clause(6, "sys_untrans_body", [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_untrans_goal"), [new Place(0), new Place(2), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_untrans_rest"), [new Place(1), new Place(5), new Place(2), new Place(3), new Place(4)])], -1));
add(new Clause(5, "sys_untrans_rest", [new Place(1), new Skeleton(";", [new Skeleton("->", [new Place(2), "fail"]), "true"]), new Place(3), 1, new Place(4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_untrans_rest"), [new Place(1), new Skeleton("\\+", [new Place(2)]), new Place(3), 1, new Place(4)])], 0));
add(new Clause(5, "sys_untrans_rest", [new Place(1), new Skeleton("->", [new Place(2), "true"]), new Place(3), 1, new Place(4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_untrans_rest"), [new Place(1), new Skeleton("once", [new Place(2)]), new Place(3), 1, new Place(4)])], 0));
add(new Clause(1, "sys_untrans_rest", ["[]", new Place(0), undefined, undefined, new Place(0)], [], -1));
add(new Clause(7, "sys_untrans_rest", [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3), new Place(4), new Skeleton(",", [new Place(2), new Place(5)])], [new Skeleton(new Cache("sys_untrans_goal"), [new Place(0), new Place(3), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_untrans_rest"), [new Place(1), new Place(6), new Place(3), new Place(4), new Place(5)])], -1));
add(new Clause(3, "sys_untrans_goal", [new Skeleton("$CUT", [new Place(1)]), new Skeleton("just", [new Place(2)]), undefined, "!"], [new Skeleton(new Cache("=="), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(5, "sys_untrans_goal", [new Skeleton("$ALT", [new Place(1)]), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_untrans_disj"), [new Place(1), new Place(2), new Place(3), new Place(4)])], 0));
add(new Clause(1, "sys_untrans_goal", [new Place(0), undefined, undefined, new Place(0)], [], -1));
add(new Clause(0, "sys_untrans_disj", ["[]", undefined, undefined, "fail"], [], -1));
add(new Clause(5, "sys_untrans_disj", [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_untrans_more"), [new Place(1), new Place(0), new Place(2), new Place(3), new Place(4)])], -1));
add(new Clause(5, "sys_untrans_more", ["[]", new Skeleton("$SEQ", [new Place(0), new Place(1)]), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_untrans_alter"), [new Place(0), new Place(1), new Place(2), new Place(3), new Place(4)])], -1));
add(new Clause(8, "sys_untrans_more", [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton("$SEQ", [new Place(2), new Place(3)]), new Place(4), new Place(5), new Skeleton(";", [new Place(6), new Place(7)])], [new Skeleton(new Cache("sys_untrans_alter"), [new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)]), new Skeleton(new Cache("sys_untrans_more"), [new Place(1), new Place(0), new Place(4), new Place(5), new Place(7)])], -1));
add(new Clause(5, "sys_untrans_alter", ["nothing", new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_untrans_body"), [new Place(0), new Place(1), new Place(2), new Place(4)]), new Skeleton(new Cache("sys_untrans_ambiguity"), [new Place(4), new Place(3)])], -1));
add(new Clause(10, "sys_untrans_alter", [new Skeleton("just", [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_split"), [new Place(1), new Place(0), new Place(6), new Place(7)]), new Skeleton(new Cache("sys_trans_mark"), [new Place(8), new Place(6), new Place(9)]), new Skeleton(new Cache("sys_untrans_body"), [new Place(9), new Place(8), new Place(3), new Place(4)]), new Skeleton(new Cache("sys_untrans_body"), [new Place(7), new Place(2), new Place(3), new Place(5)])], -1));
add(new Clause(4, "sys_untrans_split", [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(new Clause(5, "sys_untrans_split", [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(new Clause(3, "sys_untrans_ambiguity", [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(new Clause(1, "sys_untrans_ambiguity", [new Place(0), new Place(0)], [], -1));
add(new Clause(2, "sys_encode_horn", [new Place(1), new Place(1), 0], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(3, "sys_encode_horn", [new Skeleton("tr_goal", [new Place(0), new Place(1)]), new Skeleton("tr_goal", [new Place(0), new Place(2)]), undefined], [new Skeleton(new Cache("sys_encode_body"), [new Place(1), new Place(2), new Place(0)])], -1));
add(new Clause(4, "sys_encode_horn", [new Skeleton("tr_clause", [new Place(0), new Place(1), new Place(2)]), new Skeleton("tr_clause", [new Place(0), new Place(1), new Place(3)]), undefined], [new Skeleton(new Cache("sys_encode_body"), [new Place(2), new Place(3), new Skeleton("-", [new Place(0), new Place(1)])])], -1));
add(new Clause(0, "sys_meta_args", ["is", 2, new Frozen(".", ["t", new Frozen(".", ["e", "[]"])])], [], -1));
add(new Clause(0, "sys_meta_args", ["=:=", 2, new Frozen(".", ["e", new Frozen(".", ["e", "[]"])])], [], -1));
add(new Clause(0, "sys_meta_args", ["=\\=", 2, new Frozen(".", ["e", new Frozen(".", ["e", "[]"])])], [], -1));
add(new Clause(0, "sys_meta_args", ["<", 2, new Frozen(".", ["e", new Frozen(".", ["e", "[]"])])], [], -1));
add(new Clause(0, "sys_meta_args", ["=<", 2, new Frozen(".", ["e", new Frozen(".", ["e", "[]"])])], [], -1));
add(new Clause(0, "sys_meta_args", [">", 2, new Frozen(".", ["e", new Frozen(".", ["e", "[]"])])], [], -1));
add(new Clause(0, "sys_meta_args", [">=", 2, new Frozen(".", ["e", new Frozen(".", ["e", "[]"])])], [], -1));
add(new Clause(0, "sys_meta_args", ["\\+", 1, new Frozen(".", ["p", "[]"])], [], -1));
add(new Clause(0, "sys_meta_args", ["once", 1, new Frozen(".", ["p", "[]"])], [], -1));
add(new Clause(0, "sys_meta_args", ["asserta", 1, new Frozen(".", ["c", "[]"])], [], -1));
add(new Clause(0, "sys_meta_args", ["assertz", 1, new Frozen(".", ["c", "[]"])], [], -1));
add(new Clause(0, "sys_meta_args", ["clause", 2, new Frozen(".", ["p", new Frozen(".", ["t", "[]"])])], [], -1));
add(new Clause(0, "sys_meta_args", ["retract", 1, new Frozen(".", ["c", "[]"])], [], -1));
add(new Clause(0, "sys_meta_args", ["retractall", 1, new Frozen(".", ["p", "[]"])], [], -1));
add(new Clause(0, "sys_encode_body", ["[]", "[]", undefined], [], -1));
add(new Clause(5, "sys_encode_body", [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)]), new Place(4)], [new Skeleton(new Cache("sys_encode_goal"), [new Place(0), new Place(2), new Skeleton("-", [new Place(1), new Place(4)])]), new Skeleton(new Cache("sys_encode_body"), [new Place(1), new Place(3), new Skeleton(".", [new Place(0), new Place(4)])])], -1));
add(new Clause(2, "sys_encode_goal", [new Place(1), new Place(1), undefined], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(7, "sys_encode_goal", [new Skeleton("$ALT", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("vars_intersection"), [new Place(1), new Place(3), new Place(4)]), new Skeleton(new Cache("=.."), [new Place(5), new Skeleton(".", ["", new Place(4)])]), new Skeleton(new Cache("sys_encode_disj"), [new Place(1), new Place(5), new Place(6)]), new Skeleton(new Cache("sys_encode_link"), [new Place(5), new Place(2), new Place(6)])], 0));
add(new Clause(7, "sys_encode_goal", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("functor"), [new Place(1), new Place(4), new Place(5)]), new Skeleton(new Cache("sys_meta_args"), [new Place(4), new Place(5), new Place(6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_encode_meta"), [new Place(6), new Place(1), new Place(2), new Place(3)])], 0));
add(new Clause(2, "sys_encode_goal", [new Place(0), new Place(1), undefined], [new Skeleton(new Cache("ir_site_new"), [new Place(0), new Place(1)])], -1));
add(new Clause(7, "sys_encode_disj", [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 Skeleton(new Cache("sys_encode_horn"), [new Skeleton("tr_clause", [new Place(0), new Place(3), new Place(1)]), new Place(6), 1]), new Skeleton(new Cache("sys_host_ossify"), [new Place(6), new Place(4)]), new Skeleton(new Cache("sys_encode_disj"), [new Place(2), new Place(3), new Place(5)])], -1));
add(new Clause(0, "sys_encode_disj", ["[]", undefined, "[]"], [], -1));
add(new Clause(5, "sys_encode_link", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [undefined, new Place(3)])]), new Skeleton(new Cache("ir_link_new"), [new Place(2), new Place(4)]), new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(4), new Place(3)])])], -1));
add(new Clause(8, "sys_encode_meta", [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(4), new Place(5)])]), new Skeleton(new Cache("sys_encode_params"), [new Place(0), new Place(5), new Place(6), new Place(3)]), new Skeleton(new Cache("=.."), [new Place(7), new Skeleton(".", [new Place(4), new Place(6)])]), new Skeleton(new Cache("ir_site_new"), [new Place(7), new Place(2)])], -1));
add(new Clause(0, "sys_encode_params", ["[]", "[]", "[]", undefined], [], -1));
add(new Clause(7, "sys_encode_params", [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)]), new Skeleton(".", [new Place(4), new Place(5)]), new Place(6)], [new Skeleton(new Cache("sys_encode_param"), [new Place(0), new Place(2), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_encode_params"), [new Place(1), new Place(3), new Place(5), new Place(6)])], -1));
add(new Clause(1, "sys_encode_param", ["t", new Place(0), new Place(0), undefined], [], -1));
add(new Clause(2, "sys_encode_param", ["e", new Place(0), new Place(1), undefined], [new Skeleton(new Cache("sys_encode_expr"), [new Place(0), new Place(1)])], -1));
add(new Clause(2, "sys_encode_param", ["c", new Place(0), new Place(1), undefined], [new Skeleton(new Cache("sys_encode_clause"), [new Place(0), new Place(1)])], -1));
add(new Clause(3, "sys_encode_param", ["p", new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_encode_goal"), [new Place(0), new Place(1), new Place(2)])], -1));
add(new Clause(7, "sys_encode_expr", [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_encode_args"), [new Place(4), new Place(5)]), new Skeleton(new Cache("=.."), [new Place(6), new Skeleton(".", [new Place(3), new Place(5)])]), new Skeleton(new Cache("ir_site_new"), [new Place(6), new Place(2)])], 0));
add(new Clause(2, "sys_encode_expr", [new Place(0), new Place(1)], [new Skeleton(new Cache("ir_site_new"), [new Place(0), new Place(1)])], -1));
add(new Clause(0, "sys_encode_args", ["[]", "[]"], [], -1));
add(new Clause(4, "sys_encode_args", [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)])], [new Skeleton(new Cache("sys_encode_expr"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_encode_args"), [new Place(1), new Place(3)])], -1));
add(new Clause(5, "sys_encode_clause", [new Place(1), new Skeleton(":-", [new Place(2), new Place(3)])], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(":-", [new Place(4), new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_site_new"), [new Place(4), new Place(2)])], 0));
add(new Clause(2, "sys_encode_clause", [new Place(0), new Place(1)], [new Skeleton(new Cache("ir_site_new"), [new Place(0), new Place(1)])], -1));
add(new Clause(0, "sys_decode_body", ["[]", "[]"], [], -1));
add(new Clause(4, "sys_decode_body", [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(new Clause(2, "sys_decode_goal", [new Place(1), new Place(1)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(4, "sys_decode_goal", [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));
add(new Clause(5, "sys_decode_goal", [new Place(1), new Skeleton("$ALT", [new Place(2)])], [new Skeleton(new Cache("ir_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), new Place(1), new Place(2)])], 0));
add(new Clause(6, "sys_decode_goal", [new Place(1), new Place(2)], [new Skeleton(new Cache("functor"), [new Place(1), new Place(3), new Place(4)]), new Skeleton(new Cache("sys_meta_args"), [new Place(3), new Place(4), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_decode_meta"), [new Place(5), new Place(1), new Place(2)])], 0));
add(new Clause(1, "sys_decode_goal", [new Place(0), new Place(0)], [], -1));
add(new Clause(0, "sys_decode_disj", ["[]", undefined, "[]"], [], -1));
add(new Clause(7, "sys_decode_disj", [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Skeleton(".", [new Skeleton("$SEQ", [new Place(3), new Place(4)]), new Place(5)])], [new Skeleton(new Cache("kb_clause_data"), [new Place(0), new Place(2), new Place(3), new Place(6)]), new Skeleton(new Cache("sys_decode_body"), [new Place(6), new Place(4)]), new Skeleton(new Cache("sys_decode_disj"), [new Place(1), new Place(2), new Place(5)])], -1));
add(new Clause(6, "sys_decode_meta", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(3), new Place(4)])]), new Skeleton(new Cache("sys_decode_params"), [new Place(0), new Place(4), new Place(5)]), new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [new Place(3), new Place(5)])])], -1));
add(new Clause(0, "sys_decode_params", ["[]", "[]", "[]"], [], -1));
add(new Clause(6, "sys_decode_params", [new Skeleton(".", [new Place(0), new Place(1)]), new Skeleton(".", [new Place(2), new Place(3)]), new Skeleton(".", [new Place(4), new Place(5)])], [new Skeleton(new Cache("sys_decode_param"), [new Place(0), new Place(2), new Place(4)]), new Skeleton(new Cache("sys_decode_params"), [new Place(1), new Place(3), new Place(5)])], -1));
add(new Clause(1, "sys_decode_param", ["t", new Place(0), new Place(0)], [], -1));
add(new Clause(2, "sys_decode_param", ["e", new Place(0), new Place(1)], [new Skeleton(new Cache("sys_decode_expr"), [new Place(0), new Place(1)])], -1));
add(new Clause(2, "sys_decode_param", ["c", new Place(0), new Place(1)], [new Skeleton(new Cache("sys_decode_clause"), [new Place(0), new Place(1)])], -1));
add(new Clause(2, "sys_decode_param", ["p", new Place(0), new Place(1)], [new Skeleton(new Cache("sys_decode_goal"), [new Place(0), new Place(1)])], -1));
add(new Clause(7, "sys_decode_expr", [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(6), new Skeleton(".", [new Place(3), new Place(5)])]), new Skeleton(new Cache("ir_site_name"), [new Place(6), new Place(2)])], 0));
add(new Clause(2, "sys_decode_expr", [new Place(0), new Place(1)], [new Skeleton(new Cache("ir_site_name"), [new Place(0), new Place(1)])], -1));
add(new Clause(0, "sys_decode_args", ["[]", "[]"], [], -1));
add(new Clause(4, "sys_decode_args", [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(new Clause(5, "sys_decode_clause", [new Place(1), new Skeleton(":-", [new Place(2), new Place(3)])], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(":-", [new Place(4), new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_site_name"), [new Place(4), new Place(2)])], 0));
add(new Clause(2, "sys_decode_clause", [new Place(0), new Place(1)], [new Skeleton(new Cache("ir_site_name"), [new Place(0), new Place(1)])], -1));
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(new Clause(1, "current_source", [new Place(0)], [new Skeleton(new Cache("sys_source"), [new Place(0), undefined, undefined])], -1));
add(new Clause(2, "source_property", [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_srcprop"), [new Place(0), new Place(1)])], -1));
add(new Clause(4, "discontiguous", [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(new Cache("sys_predprop"), [new Place(1), new Place(2), new Skeleton("sys_discontiguous", [new Place(3)])])])], 0));
add(new Clause(1, "discontiguous", [new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1));
add(new Clause(3, "multifile", [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(new Clause(1, "multifile", [new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1));
add(new Clause(3, "sys_multifile_safe", [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(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_multifile", [new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0), new Clause(0, "", [undefined, undefined, undefined], [], -1)]), [new Place(1), new Place(2), 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), new Clause(0, "", [undefined, undefined, undefined], [], -1)]), [new Place(0), new Place(1), new Place(2)]), new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_predprop"), [new Place(0), new Place(1), new Skeleton("sys_multifile", [new Place(2)])])])], -1));
add(new Clause(3, "include", [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));
add(new Clause(2, "sys_include_file", ["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));
add(new Clause(5, "sys_include_file", [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));
add(new Clause(2, "sys_include_file", [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));
add(new Clause(4, "sys_include_native", [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));
add(new Clause(2, "sys_include_native", [new Place(0), new Place(1)], [new Skeleton(new Cache("os_import_sync"), [new Place(0), new Place(1)])], -1));
add(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));
add(new Clause(0, ".", [undefined, undefined], [], -1));
add(new Clause(1, "ensure_loaded", [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1));
add(new Clause(1, "ensure_loaded", ["user"], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Frozen(new Cache("sys_include_file"), ["user"])], 0));
add(new Clause(5, "ensure_loaded", [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), new Clause(2, "", [new Place(0), new Place(1)], [new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_srcprop"), [new Place(0), new Skeleton("sys_link", [new Place(1)])])])], -1)]), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_check_file"), [new Place(4), new Place(3)])], -1));
add(new Clause(4, "sys_check_file", [new Place(1), new Place(2)], [new Skeleton(new Cache("shield"), [new Skeleton("sys_action_file", [new Place(1), new Place(2), new Place(3)])]), 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), 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), new Clause(0, "", [undefined, undefined], [], -1)]), [new Place(3), new Place(1)])], 0));
add(new Clause(1, "sys_check_file", [new Place(0), undefined], [new Skeleton(new Cache("sys_load_file"), [new Place(0)])], -1));
add(new Clause(6, "sys_action_file", [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), new Clause(5, "", [undefined, new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(make_defined([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_prop_map"), [new Place(2), new Place(1)])], 0), new Clause(0, "", [undefined, undefined], [], -1)]), [new Place(1), new Place(2)]), new Skeleton(new Cache("ir_object_current"), [new Place(1), "last_modified", new Place(4)]), new Skeleton(make_defined([new Clause(5, "", [new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("="), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), "replay"]), new Skeleton(new Cache("retractall"), [new Skeleton(new Cache("sys_source"), [new Place(4), undefined, undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_source"), [new Place(4), new Place(2), 1])])], 0), new Clause(3, "", [new Place(0), undefined, new Place(1), new Place(2)], [new Skeleton(new Cache("="), [new Place(1), "clear_load"]), new Skeleton(new Cache("retractall"), [new Skeleton(new Cache("sys_source"), [new Place(2), undefined, undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_source"), [new Place(2), new Place(0), 1])])], -1)]), [new Place(4), new Place(3), new Place(0), new Place(2)])], -1)]), [new Place(5), new Place(3), new Place(2), new Place(1), new Place(4)])], 0));
add(new Clause(3, "sys_action_file", [new Place(0), new Place(1), undefined], [new Skeleton(make_defined([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_prop_map"), [new Place(2), new Place(1)])], 0), new Clause(0, "", [undefined, undefined], [], -1)]), [new Place(1), new Place(0)]), new Skeleton(new Cache("ir_object_current"), [new Place(1), "last_modified", new Place(2)]), new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_source"), [new Place(0), new Place(2), 1])]), new Cache("fail")], -1));
run(new Goal(0, [new Frozen(new Cache("kb_pred_touch"), ["sys_lastpred", 3, 1])], -1));
add(new Clause(3, "sys_load_file", [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));
add(new Clause(6, "sys_loading_begin", [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(new Cache("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));
add(new Clause(2, "sys_loading_begin", [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));
add(new Clause(4, "sys_loading_end", [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(new Cache("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));
add(new Clause(3, "sys_loading_end", [new Place(0), "nothing"], [new Skeleton(new Cache("dg_get_partition"), [new Place(1)]), new Skeleton(new Cache("retractall"), [new Skeleton(new Cache("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(new Cache("sys_lastpred"), [new Place(2), undefined, undefined])])], -1));
add(new Clause(3, "sys_update_last", [new Place(0), new Place(1)], [new Skeleton(new Cache("current_task"), [new Place(2)]), new Skeleton(new Cache("retractall"), [new Skeleton(new Cache("sys_lastpred"), [new Place(2), undefined, undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_lastpred"), [new Place(2), new Place(0), new Place(1)])])], -1));
add(new Clause(2, "sys_style_static", [new Place(1)], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(":-", [undefined])]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(3, "sys_style_static", [new Place(1)], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(":-", [new Place(2), undefined])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_style_head"), [new Place(2)])], 0));
add(new Clause(1, "sys_style_static", [new Place(0)], [new Skeleton(new Cache("sys_style_head"), [new Place(0)])], -1));
add(new Clause(4, "sys_style_head", [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));
add(new Clause(0, "sys_style_head", [undefined], [], -1));
add(new Clause(4, "sys_style_indicator", [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));
add(new Clause(4, "sys_style_indicator", [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), 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)]), [new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("sys_update_last"), [new Place(1), new Place(2)])], 0));
add(new Clause(2, "sys_style_indicator", [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));
add(new Clause(3, "sys_usage_predicate", [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(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_multifile", [new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0), new Clause(0, "", [undefined, undefined, undefined], [], -1)]), [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("$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), new Clause(0, "", [undefined, undefined, undefined], [], -1)]), [new Place(0), new Place(1), new Place(2)]), new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_predprop"), [new Place(0), new Place(1), new Skeleton("sys_usage", [new Place(2)])])])], -1));
add(new Clause(3, "sys_include_stream", [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));
add(new Clause(3, "sys_include_lines", [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));
add(new Clause(4, "sys_next_term", [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), new Clause(5, "", [new Place(1), new Place(2), undefined], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton("?-", [new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_expand_unattended"), [new Place(3), new Place(2), new Place(4)]), new Skeleton(new Cache("sys_query_unattended"), [new Place(4), new Place(2)]), new Cache("fail")], 0), new Clause(6, "", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_multiton_keys"), [new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("sys_multiton_check"), [new Place(3)]), new Skeleton(new Cache("sys_singleton_keys"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_singleton_check"), [new Place(4)]), new Skeleton(new Cache("expand_term"), [new Place(0), new Place(5)]), new Skeleton(new Cache("sys_handle_clump"), [new Place(5)]), new Cache("fail")], -1)]), [new Place(1), new Place(2), new Place(3)])], -1));
add(new Clause(4, "sys_handle_clump", [new Place(1)], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [new Place(2), new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_handle_clump"), [new Place(2)]), new Skeleton(new Cache("sys_handle_clump"), [new Place(3)])], 0));
add(new Clause(2, "sys_handle_clump", [new Place(1)], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), "[]"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_handle_clump", [new Place(0)], [new Skeleton(new Cache("sys_style_static"), [new Place(0)]), new Skeleton(new Cache("sys_handle_static"), [new Place(0)])], -1));
add(new Clause(3, "sys_handle_static", [new Place(1)], [new Skeleton(new Cache("nonvar"), [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("sys_goal_call"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0), new Clause(0, "", [undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["directive_failed"]), undefined])])], -1)]), [new Place(2)])], 0));
add(new Clause(7, "sys_handle_static", [new Place(1)], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(":-", [new Place(2), undefined])]), 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_load_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_clause_add"), [new Place(6), 2])], 0));
add(new Clause(5, "sys_handle_static", [new Place(0)], [new Skeleton(new Cache("functor"), [new Place(0), new Place(1), new Place(2)]), new Skeleton(new Cache("sys_load_type"), [new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("sys_frost_horn"), [new Place(0), new Place(3), new Place(4)]), new Skeleton(new Cache("sys_clause_add"), [new Place(4), 2])], -1));
add(new Clause(5, "sys_load_type", [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));
add(new Clause(0, "sys_load_type", [undefined, undefined, 1], [], -1));
add(new Clause(0, "strings", ["syntax_error.discontiguous_pred", "de", "Unterbrochenes Prädikat ~q, entsprechend deklarieren."], [], -1));
add(new Clause(0, "strings", ["syntax_error.bad_module", "de", "Fehlerhaftes Modul."], [], -1));
add(new Clause(0, "strings", ["permission_error.modify.static_procedure", "de", "Kann Prädikat ~q nicht aktualisieren."], [], -1));
add(new Clause(0, "strings", ["permission_error.coerce.procedure", "de", "Kann Prädikat ~q nicht zu anderen Delegiertentyp zwingen."], [], -1));
add(new Clause(0, "strings", ["permission_error.access.private_procedure", "de", "Kann auf Prädikat ~q nicht zugreifen."], [], -1));
add(new Clause(0, "strings", ["permission_error.redefine.procedure", "de", "Kann Prädikat ~q nicht umdefinieren, nicht als Mehrdateien markiert."], [], -1));
add(new Clause(0, "strings", ["permission_error.promote.multifile", "de", "Kann Funktion ~q nicht zu Mehrdateien heben."], [], -1));
add(new Clause(0, "strings", ["permission_error.create.operator", "de", "Kann Operator ~q nicht erstellen."], [], -1));
add(new Clause(0, "strings", ["permission_error.invoke.method", "de", "Kann Methode ~q nicht aufrufen."], [], -1));
add(new Clause(0, "strings", ["permission_error.modify.field", "de", "Kann Feld ~q nicht aktualisieren."], [], -1));
add(new Clause(0, "strings", ["permission_error.access.source_sink", "de", "Kann auf Strom ~q nicht zugreifen."], [], -1));
add(new Clause(0, "strings", ["resource_error.unknown_host", "de", "Dienst nicht gefunden, Verzeichnisdienst aktivieren."], [], -1));
add(new Clause(0, "strings", ["resource_error.connect_failed", "de", "Verbindung zu Dienst fehlgeschlagen, Verbindungsfähigkeit sicherstellen."], [], -1));
add(new Clause(0, "strings", ["resource_error.illegal_method", "de", "Methode nicht zugelassen."], [], -1));
add(new Clause(0, "strings", ["resource_error.internal_error", "de", "Interner Fehler, Administrator kontaktieren."], [], -1));
add(new Clause(0, "strings", ["resource_error.service_unavailable", "de", "Dienst nicht verfügbar, später wieder versuchen."], [], -1));
add(new Clause(0, "strings", ["resource_error.state_error", "de", "Übergang nicht erlaubt."], [], -1));
add(new Clause(0, "strings", ["existence_error.method", "de", "Methode ~q undefiniert."], [], -1));
add(new Clause(0, "strings", ["existence_error.procedure", "de", "Prädikat ~q undefiniert."], [], -1));
add(new Clause(0, "strings", ["syntax_error.discontiguous_pred", "", "Discontiguous predicate ~q, declare accordingly."], [], -1));
add(new Clause(0, "strings", ["syntax_error.bad_module", "", "Faulty module."], [], -1));
add(new Clause(0, "strings", ["permission_error.modify.static_procedure", "", "Can\'t modify predicate ~q."], [], -1));
add(new Clause(0, "strings", ["permission_error.coerce.procedure", "", "Can\'t coerce predicate ~q into other delegate type."], [], -1));
add(new Clause(0, "strings", ["permission_error.access.private_procedure", "", "Can\'t access predicate ~q."], [], -1));
add(new Clause(0, "strings", ["permission_error.redefine.procedure", "", "Can\'t redefine predicate ~q, not marked multfile."], [], -1));
add(new Clause(0, "strings", ["permission_error.promote.multifile", "", "Can\'t promote predicate ~q to multi-file."], [], -1));
add(new Clause(0, "strings", ["permission_error.create.operator", "", "Can\'t create operator ~q."], [], -1));
add(new Clause(0, "strings", ["permission_error.invoke.method", "", "Can\'t invoke method ~q."], [], -1));
add(new Clause(0, "strings", ["permission_error.modify.field", "", "Can\'t modify field ~q."], [], -1));
add(new Clause(0, "strings", ["permission_error.access.source_sink", "", "Can\'t access stream ~q."], [], -1));
add(new Clause(0, "strings", ["resource_error.unknown_host", "", "Service lookup failed, enable directory service."], [], -1));
add(new Clause(0, "strings", ["resource_error.connect_failed", "", "Service connect failed, assure connectivity."], [], -1));
add(new Clause(0, "strings", ["resource_error.illegal_method", "", "Method not allowed."], [], -1));
add(new Clause(0, "strings", ["resource_error.internal_error", "", "Internal error, contact administrator."], [], -1));
add(new Clause(0, "strings", ["resource_error.service_unavailable", "", "Service unavailable, try again later."], [], -1));
add(new Clause(0, "strings", ["resource_error.state_error", "", "Transition not permitted."], [], -1));
add(new Clause(0, "strings", ["existence_error.method", "", "Undefined method ~q."], [], -1));
add(new Clause(0, "strings", ["existence_error.procedure", "", "Undefined predicate ~q."], [], -1));
add(new Clause(0, "true", [], [], -1));
add(new Clause(1, "!", [], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(6, ",", [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_trans_body"), [new Place(0), "nothing", new Place(2), 0, new Place(3), new Place(4)]), new Skeleton(new Cache("sys_trans_body"), [new Place(1), new Place(2), new Place(5), 0, new Place(4), "[]"]), new Skeleton(new Cache("$SEQ"), [new Place(5), new Place(3)])], -1));
add(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), 0, new Place(4)]), new Skeleton(new Cache("sys_trans_disj"), [new Place(1), new Place(4), new Place(2), new Place(5), 0, 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));
add(new Clause(8, "->", [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_trans_body"), [new Place(0), "nothing", new Place(2), 0, 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), 0, 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));
add(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));
add(new Clause(0, "\\=", [undefined, undefined], [], -1));
add(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));
add(new Clause(0, "\\+", [undefined], [], -1));
add(new Clause(2, "once", [new Place(1)], [new Skeleton(new Cache("call"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "repeat", [], [], -1));
add(new Clause(0, "repeat", [], [new Cache("repeat")], -1));
add(new Clause(4, "catch", [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));
add(new Clause(1, "sys_error_handler", [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));
add(new Clause(4, "sys_error_handler", [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));
add(new Clause(1, "sys_error_handler", [new Place(0), undefined, undefined], [new Skeleton(new Cache("sys_raise"), [new Place(0)])], -1));
add(new Clause(3, "sys_chain_head", [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));
add(new Clause(1, "sys_chain_head", [new Place(0), new Place(0)], [], -1));
add(new Clause(1, "throw", [new Place(0)], [new Skeleton(new Cache("sys_fill_stack"), [new Place(0)]), new Skeleton(new Cache("sys_raise"), [new Place(0)])], -1));
add(new Clause(1, "sys_fill_stack", [new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1));
add(new Clause(2, "sys_fill_stack", [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));
add(new Clause(2, "sys_fill_stack", [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));
add(new Clause(0, "sys_fill_stack", [undefined], [], -1));
add(new Clause(4, "sys_fetch_stack", [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));
add(new Clause(7, "try_call_finally", [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), new Clause(1, "", [undefined, new Place(0)], [new Skeleton(new Cache("call"), [new Place(0)]), new Cache("fail")], -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), new Clause(1, "", [undefined, undefined, undefined, new Place(0), undefined], [new Skeleton(new Cache("call"), [new Place(0)])], -1), new Clause(1, "", [undefined, undefined, undefined, undefined, new Place(0)], [new Skeleton(new Cache("call"), [new Place(0)]), new Cache("fail")], -1)]), [new Place(4), new Place(6), new Place(0), new Place(3), new Place(1)])], 0));
add(new Clause(2, "ignore", [new Place(1)], [new Skeleton(new Cache("call"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "ignore", [undefined], [], -1));
add(new Clause(3, "chain", [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));
add(new Clause(3, "sys_chain_error", [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));
add(new Clause(1, "sys_chain_error", [new Place(0), undefined], [new Skeleton(new Cache("sys_raise"), [new Place(0)])], -1));
add(new Clause(3, "sys_chain_raise", [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));
add(new Clause(5, "sys_chain_concat", [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));
add(new Clause(2, "sys_chain_concat", [new Place(0), new Place(1), new Skeleton("cause", [new Place(0), new Place(1)])], [], -1));
add(new Clause(3, "once_cleanup", [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));
add(new Clause(2, "once_cleanup", [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_once_cleanup"), [new Place(0), new Place(1)])], -1));
add(new Clause(4, "setup_once_cleanup", [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));
add(new Clause(3, "setup_once_cleanup", [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));
add(new Clause(3, "sys_setup_once_cleanup", [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));
add(new Clause(3, "sys_once_cleanup", [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));
add(new Clause(1, "sys_once_cleanup", [undefined, new Place(0)], [new Skeleton(new Cache("ignore"), [new Place(0)]), new Cache("fail")], -1));
add(new Clause(2, "sleep", [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));
add(new Clause(3, "call_later", [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));
add(new Clause(4, "call_later", [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));
add(new Clause(5, "call_with_time_limit", [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));
add(new Clause(0, "call_with_time_limit", [undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("system_error", ["illegal_yield"]), undefined])])], -1));
add(new Clause(1, "sys_timeout_signal", [new Place(0)], [new Skeleton(new Cache("task_abort"), [new Place(0), new Frozen("system_error", ["timelimit_exceeded"])])], -1));
add(new Clause(2, "create_task", [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));
add(new Clause(3, "create_task", [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));
add(new Clause(5, "sys_frost_horn", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_trans_horn"), [new Place(0), new Place(3), new Place(1)]), new Skeleton(new Cache("sys_encode_horn"), [new Place(3), new Place(4), new Place(1)]), new Skeleton(new Cache("sys_host_ossify"), [new Place(4), new Place(2)])], -1));
add(new Clause(6, "sys_host_ossify", [new Skeleton("tr_clause", [new Place(0), new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(4), new Place(5)])]), new Skeleton(new Cache("sys_clause_ossify"), [new Place(5), new Place(2), new Place(0), new Place(4), new Place(3)])], -1));
add(new Clause(3, "sys_host_ossify", [new Skeleton("tr_goal", [new Place(0), new Place(1)]), new Place(2)], [new Skeleton(new Cache("sys_goal_ossify"), [new Place(1), new Place(0), new Place(2)])], -1));
add(new Clause(3, "member", [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));
add(new Clause(1, "sys_member", [undefined, new Place(0), new Place(0)], [], -1));
add(new Clause(3, "sys_member", [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(new Clause(4, "select", [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));
add(new Clause(2, "sys_select", [new Place(0), new Place(1), new Place(1), new Place(0)], [], -1));
add(new Clause(5, "sys_select", [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(new Clause(2, "reverse", [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_reverse"), [new Place(0), "[]", new Place(1)])], -1));
add(new Clause(1, "sys_reverse", ["[]", new Place(0), new Place(0)], [], -1));
add(new Clause(4, "sys_reverse", [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(new Clause(1, "append", ["[]", new Place(0), new Place(0)], [], -1));
add(new Clause(4, "append", [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(new Clause(3, "length", [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));
add(new Clause(2, "length", [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));
add(new Clause(1, "sys_length", ["[]", new Place(0), new Place(0)], [], -1));
add(new Clause(4, "sys_length", [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(new Clause(2, "sys_length", [0, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "[]"])], 0));
add(new Clause(3, "sys_length", [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));
add(new Clause(4, "between", [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));
add(new Clause(3, "between", [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));
add(new Clause(3, "sys_between", [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));
add(new Clause(1, "sys_between", [new Place(0), undefined, new Place(0)], [], -1));
add(new Clause(4, "sys_between", [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));
add(new Clause(4, "findall", [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), new Clause(0, "", [undefined, undefined, 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));
add(new Clause(2, "sys_find_init", [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));
add(new Clause(4, "sys_find_next", [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));
add(new Clause(1, "sys_find_fini", [new Skeleton("v", [undefined, new Skeleton(".", [undefined, new Place(0)])]), new Place(0)], [], -1));
add(new Clause(4, "get_message", [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));
add(new Clause(6, "get_message", [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));
add(new Clause(8, "get_message", [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));
add(new Clause(9, "get_message", [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));
add(new Clause(3, "sys_get_string", [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));
add(new Clause(6, "sys_get_string", [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));
add(new Clause(1, "sys_locale_ancestor", [new Place(0), new Place(0)], [], -1));
add(new Clause(3, "sys_locale_ancestor", [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));
add(new Clause(1, "sys_locale_ancestor", [new Place(0), ""], [new Skeleton(new Cache("\\=="), [new Place(0), ""])], -1));
add(new Clause(5, "sys_multiton_keys", [new Skeleton(".", [new Skeleton("=", [new Place(1), undefined]), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(make_defined([new Clause(2, "", [new Place(1)], [new Skeleton(new Cache("sys_marked_at"), [new Place(1), 0, new Frozen(".", [23, "[]"])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0), new Clause(0, "", [undefined], [], -1)]), [new Place(1)]), 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(new Clause(5, "sys_multiton_keys", [new Skeleton(".", [new Skeleton("=", [new Place(1), undefined]), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(make_defined([new Clause(2, "", [new Place(1)], [new Skeleton(new Cache("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 Cache("fail")], 0), new Clause(0, "", [undefined], [], -1)]), [new Place(1)]), 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(new Clause(5, "sys_multiton_keys", [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(new Clause(4, "sys_multiton_keys", [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(new Clause(0, "sys_multiton_keys", ["[]", undefined, "[]"], [], -1));
add(new Clause(3, "sys_multiton_check", [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(new Clause(0, "sys_multiton_check", ["[]"], [], -1));
add(new Clause(4, "sys_singleton_keys", [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(new Clause(3, "sys_singleton_keys", [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(new Clause(0, "sys_singleton_keys", ["[]", "[]"], [], -1));
add(new Clause(3, "sys_singleton_check", [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(new Clause(0, "sys_singleton_check", ["[]"], [], -1));
add(new Clause(7, "sys_marked_at", [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));
add(new Clause(6, "expand_term", [new Place(1), new Skeleton(".", [new Place(2), new Place(3)])], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [new Place(4), new Place(5)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("expand_term"), [new Place(4), new Place(2)]), new Skeleton(new Cache("expand_term"), [new Place(5), new Place(3)])], 0));
add(new Clause(2, "expand_term", [new Place(1), "[]"], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), "[]"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(4, "expand_term", [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));
add(new Clause(1, "expand_term", [new Place(0), new Place(0)], [], -1));
add(new Clause(1, "phrase", [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));
add(new Clause(4, "phrase", [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));
add(new Clause(4, "term_expansion", [new Place(0), new Place(1)], [new Skeleton(new Cache("nonvar"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(0), new Skeleton("-->", [new Place(2), new Place(3)])]), new Skeleton(new Cache("sys_dcg_expansion"), [new Place(2), new Place(3), new Place(1)])], -1));
add(new Clause(10, "sys_dcg_expansion", [new Place(0), new Place(1), new Skeleton(":-", [new Place(2), new Skeleton(",", [new Place(3), new Place(4)])])], [new Skeleton(new Cache("nonvar"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(0), new Skeleton(",", [new Place(5), new Place(6)])]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(5), 0, 0, new Place(7), new Place(8), new Place(2)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(1), 1, 0, new Place(7), new Place(9), new Place(3)]), new Skeleton(new Cache("sys_phrase_expansion"), [new Place(6), 0, 0, new Place(8), new Place(9), new Place(4)])], -1));
add(new Clause(6, "sys_dcg_expansion", [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(new Clause(4, "sys_phrase_expansion", [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));
add(new Clause(10, "sys_phrase_expansion", [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(new Clause(7, "sys_phrase_expansion", [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(new Clause(10, "sys_phrase_expansion", [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(new Clause(3, "sys_phrase_expansion", ["[]", 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(new Clause(3, "sys_phrase_expansion", ["[]", 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(new Clause(6, "sys_phrase_expansion", [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(new Clause(6, "sys_phrase_expansion", [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(new Clause(3, "sys_phrase_expansion", ["!", 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(new Clause(3, "sys_phrase_expansion", ["!", 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(new Clause(4, "sys_phrase_expansion", [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(new Clause(4, "sys_phrase_expansion", [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(new Clause(5, "sys_phrase_expansion", [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(new Clause(5, "sys_phrase_expansion", [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(new Clause(8, "sys_phrase_expansion", [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));
add(new Clause(1, "sys_phrase_expansion", [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));
add(new Clause(1, "sys_list_expansion", [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));
add(new Clause(2, "sys_list_expansion", ["[]", new Place(1), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(5, "sys_list_expansion", [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(new Clause(1, "sys_list_expansion", [new Place(0), undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), undefined])])], -1));
add(new Clause(8, "sub_atom", [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));
add(new Clause(7, "sub_atom", [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));
add(new Clause(7, "sub_atom", [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));
add(new Clause(8, "sub_atom", [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));
add(new Clause(7, "sub_atom", [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));
add(new Clause(8, "sub_atom", [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));
add(new Clause(7, "sub_atom", [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));
add(new Clause(7, "sub_atom", [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));
add(new Clause(7, "sub_atom", [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));
add(new Clause(6, "sub_atom", [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));
add(new Clause(10, "last_sub_atom", [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));
add(new Clause(7, "last_sub_atom", [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));
add(new Clause(7, "last_sub_atom", [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));
add(new Clause(9, "last_sub_atom", [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));
add(new Clause(7, "last_sub_atom", [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));
add(new Clause(9, "last_sub_atom", [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));
add(new Clause(7, "last_sub_atom", [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));
add(new Clause(7, "last_sub_atom", [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));
add(new Clause(7, "last_sub_atom", [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));
add(new Clause(6, "last_sub_atom", [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));
add(new Clause(0, "strings", ["instantiation_error", "de", "Argument sollte keine Variable sein."], [], -1));
add(new Clause(0, "strings", ["domain_error.read_option", "de", "Leseoption erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.io_mode", "de", "Eingabe-\/Ausgabemodus (read oder write) erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.write_option", "de", "Schreiboption erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.open_option", "de", "Öffnenoption erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.boolean", "de", "Boolean (true oder false) erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.file_property", "de", "Dateieigenschaft erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.radix", "de", "Unerlaubte Zahlenbasis ~q, nicht zwischen 2 und 36."], [], -1));
add(new Clause(0, "strings", ["domain_error.character_code", "de", "Unerlaubter Kodepunkt ~q, nicht zwischen 0 und 0x10FFFF."], [], -1));
add(new Clause(0, "strings", ["domain_error.exotic", "de", "Exot erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.writer", "de", "Ausgabestrom erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.reader", "de", "Eingabestrom erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.goal", "de", "Ziel erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.clause", "de", "Klausel erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.provable", "de", "Herleitbar erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.type", "de", "Datentyp erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.timer", "de", "Zeitgeber erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.task", "de", "Aufgabe erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["existence_error.source_sink", "de", "Datei ~q nicht gefunden."], [], -1));
add(new Clause(0, "strings", ["existence_error.module", "de", "Modul ~q nicht gefunden."], [], -1));
add(new Clause(0, "strings", ["permission_error.open.source_sink", "de", "Kann Datei ~q nicht öffnen."], [], -1));
add(new Clause(0, "strings", ["permission_error.modify.compound", "de", "Kann Verbund ~q nicht ändern."], [], -1));
add(new Clause(0, "strings", ["resource_error.socket_timeout", "de", "Ein-\/Ausgabeauszeit."], [], -1));
add(new Clause(0, "strings", ["resource_error.port_error", "de", "Fehler bei Verwendung eines Port."], [], -1));
add(new Clause(0, "strings", ["resource_error.remote_error", "de", "Fehler von Entfernt erhalten."], [], -1));
add(new Clause(0, "strings", ["resource_error.io_exception", "de", "Datei nicht erstellt oder nicht zugreifbar."], [], -1));
add(new Clause(0, "strings", ["system_error.timelimit_exceeded", "de", "Ausführung abgebrochen da Zeitfrist abgelaufen."], [], -1));
add(new Clause(0, "strings", ["system_error.stack_overflow", "de", "Ausführung wegen Stapelüberlauf abgebrochen."], [], -1));
add(new Clause(0, "strings", ["system_error.out_of_memory", "de", "Ausführung wegen aufgebrauchtem Speicherplatz abgebrochen."], [], -1));
add(new Clause(0, "strings", ["system_error.user_abort", "de", "Ausführung auf Benutzerwunsch abgebrochen."], [], -1));
add(new Clause(0, "strings", ["system_error.user_exit", "de", "System auf Benutzerwunsch beendet."], [], -1));
add(new Clause(0, "strings", ["system_error.illegal_yield", "de", "Yield Instruktion momentan nicht verfügbar"], [], -1));
add(new Clause(0, "strings", ["syntax_error.directive_failed", "de", "Direktive fehlgeschlagen."], [], -1));
add(new Clause(0, "strings", ["instantiation_error", "", "Argument should not be a variable."], [], -1));
add(new Clause(0, "strings", ["domain_error.read_option", "", "Read option expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.io_mode", "", "Input\/output mode (read or write) expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.write_option", "", "Write option expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.open_option", "", "Open option expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.boolean", "", "Boolean (true or false) expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.file_property", "", "File property expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.radix", "", "Illegal number base ~q, not between 2 and 36."], [], -1));
add(new Clause(0, "strings", ["domain_error.character_code", "", "Illegal code point ~q, not between 0 and 0x10FFFF."], [], -1));
add(new Clause(0, "strings", ["domain_error.exotic", "", "Exotic expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.writer", "", "Outputstream expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.reader", "", "Inputstream expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.goal", "", "Goal expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.clause", "", "Clause expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.provable", "", "Provable expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.type", "", "Type expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.timer", "", "Timer expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.task", "", "Task expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["existence_error.source_sink", "", "File ~q not found."], [], -1));
add(new Clause(0, "strings", ["existence_error.module", "", "Module ~q not found."], [], -1));
add(new Clause(0, "strings", ["permission_error.open.source_sink", "", "Cannot open file ~q."], [], -1));
add(new Clause(0, "strings", ["permission_error.modify.compound", "", "Cannot modify compound ~q."], [], -1));
add(new Clause(0, "strings", ["resource_error.socket_timeout", "", "Input\/output timeout."], [], -1));
add(new Clause(0, "strings", ["resource_error.port_error", "", "Error using a port."], [], -1));
add(new Clause(0, "strings", ["resource_error.remote_error", "", "Got error from remote."], [], -1));
add(new Clause(0, "strings", ["resource_error.io_exception", "", "File not created or not accessible."], [], -1));
add(new Clause(0, "strings", ["system_error.timelimit_exceeded", "", "Execution aborted since time limit exceeded."], [], -1));
add(new Clause(0, "strings", ["system_error.stack_overflow", "", "Execution aborted because of stack overflow."], [], -1));
add(new Clause(0, "strings", ["system_error.out_of_memory", "", "Execution aborted because out of memory."], [], -1));
add(new Clause(0, "strings", ["system_error.user_abort", "", "Execution aborted on user request."], [], -1));
add(new Clause(0, "strings", ["system_error.user_exit", "", "System ended on user request."], [], -1));
add(new Clause(0, "strings", ["system_error.illegal_yield", "", "Yield instruction currently not available."], [], -1));
add(new Clause(0, "strings", ["syntax_error.directive_failed", "", "Directive failed."], [], -1));
add(new Clause(3, "dynamic", [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(new Clause(1, "dynamic", [new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1));
add(new Clause(3, "prehash", [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), 4])], 0));
add(new Clause(1, "prehash", [new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1));
add(new Clause(9, "asserta", [new Place(1)], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(":-", [new Place(2), new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_body"), [new Place(3), "nothing", new Place(4), 0, new Place(5), "[]"]), new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [new Place(6), new Place(7)])]), new Skeleton(new Cache("sys_clause_ossify"), [new Place(7), new Place(5), new Place(4), new Place(6), new Place(8)]), new Skeleton(new Cache("sys_clause_add"), [new Place(8), 1])], 0));
add(new Clause(4, "asserta", [new Place(0)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(1), new Place(2)])]), new Skeleton(new Cache("sys_clause_ossify"), [new Place(2), "[]", "nothing", new Place(1), new Place(3)]), new Skeleton(new Cache("sys_clause_add"), [new Place(3), 1])], -1));
add(new Clause(9, "assertz", [new Place(1)], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(":-", [new Place(2), new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_trans_body"), [new Place(3), "nothing", new Place(4), 0, new Place(5), "[]"]), new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [new Place(6), new Place(7)])]), new Skeleton(new Cache("sys_clause_ossify"), [new Place(7), new Place(5), new Place(4), new Place(6), new Place(8)]), new Skeleton(new Cache("sys_clause_add"), [new Place(8), 3])], 0));
add(new Clause(4, "assertz", [new Place(0)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(1), new Place(2)])]), new Skeleton(new Cache("sys_clause_ossify"), [new Place(2), "[]", "nothing", new Place(1), new Place(3)]), new Skeleton(new Cache("sys_clause_add"), [new Place(3), 3])], -1));
add(new Clause(6, "clause", [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), 0, new Place(5)]), new Skeleton(new Cache("="), [new Place(5), new Place(1)])], -1));
add(new Clause(8, "retract", [new Place(1)], [new Skeleton(new Cache("nonvar"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(":-", [new Place(2), new Place(3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("kb_clause_ref"), [new Place(2), 3, new Place(4)]), new Skeleton(new Cache("kb_clause_data"), [new Place(4), new Place(2), new Place(5), new Place(6)]), new Skeleton(new Cache("sys_untrans_body"), [new Place(6), new Place(5), 0, new Place(7)]), new Skeleton(new Cache("="), [new Place(7), new Place(3)]), new Skeleton(new Cache("kb_clause_remove"), [new Place(4), 0])], 0));
add(new Clause(2, "retract", [new Place(0)], [new Skeleton(new Cache("kb_clause_ref"), [new Place(0), 3, new Place(1)]), new Skeleton(new Cache("kb_clause_data"), [new Place(1), new Place(0), undefined, "[]"]), new Skeleton(new Cache("kb_clause_remove"), [new Place(1), 0])], -1));
add(new Clause(2, "retractall", [new Place(0)], [new Skeleton(new Cache("kb_clause_ref"), [new Place(0), 7, new Place(1)]), new Skeleton(new Cache("kb_clause_head"), [new Place(1), new Place(0)]), new Skeleton(new Cache("kb_clause_remove"), [new Place(1), 1]), new Cache("fail")], -1));
add(new Clause(0, "retractall", [undefined], [], -1));
add(new Clause(3, "abolish", [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(new Clause(1, "abolish", [new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1));
add(new Clause(4, "sys_abolish", [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));
add(new Clause(2, "sys_abolish", [new Place(0), new Place(1)], [new Skeleton(new Cache("retractall"), [new Skeleton(new Cache("sys_predprop"), [new Place(0), new Place(1), undefined])]), new Skeleton(new Cache("kb_pred_destroy"), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("kb_pred_touch"), ["sys_predprop", 3, 1])], -1));
add(new Clause(4, "current_predicate", [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), new Clause(1, "", [undefined, new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)])], -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(new Clause(3, "current_predicate", [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(new Clause(1, "current_predicate", [new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1));
add(new Clause(4, "predicate_property", [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), new Clause(1, "", [undefined, new Place(0)], [new Skeleton(new Cache("var"), [new Place(0)])], -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(new Clause(4, "predicate_property", [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(new Clause(1, "predicate_property", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), undefined])])], -1));
add(new Clause(7, "sys_predprop_get", [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("is"), [new Place(5), new Skeleton(new Cache("\/\\"), [new Place(4), 15])]), new Skeleton(new Cache("sys_predprop_flag"), [new Place(5), new Place(6)]), new Skeleton(new Cache("="), [new Place(2), new Place(6)])], -1));
add(new Clause(3, "sys_predprop_get", [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));
add(new Clause(1, "sys_predprop_flag", [0, "static"], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_predprop_flag", [1, "dynamic"], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "sys_predprop_flag", [undefined, "built_in"], [], -1));
run(new Goal(0, [new Frozen(new Cache("kb_pred_touch"), ["sys_emulated", 2, 1])], -1));
add(new Clause(0, "sys_emulated", ["argv", "[]"], [], -1));
add(new Clause(0, "sys_emulated", ["sys_locale", "en_GB"], [], -1));
add(new Clause(0, "sys_emulated", ["sys_color", "normal"], [], -1));
add(new Clause(3, "set_prolog_flag", [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));
add(new Clause(1, "set_prolog_flag", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["prolog_flag", new Place(0)]), undefined])])], -1));
add(new Clause(1, "sys_prolog_flag_set", ["argv", new Place(0)], [new Skeleton(new Cache("retractall"), [new Skeleton(new Cache("sys_emulated"), ["argv", undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_emulated"), ["argv", new Place(0)])])], -1));
add(new Clause(1, "sys_prolog_flag_set", ["sys_locale", new Place(0)], [new Skeleton(new Cache("retractall"), [new Skeleton(new Cache("sys_emulated"), ["sys_locale", undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_emulated"), ["sys_locale", new Place(0)])])], -1));
add(new Clause(1, "sys_prolog_flag_set", ["sys_color", new Place(0)], [new Skeleton(new Cache("retractall"), [new Skeleton(new Cache("sys_emulated"), ["sys_color", undefined])]), new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_emulated"), ["sys_color", new Place(0)])])], -1));
add(new Clause(1, "sys_prolog_flag_set", ["base_url", new Place(0)], [new Skeleton(new Cache("os_set_workdir"), [new Place(0)])], -1));
add(new Clause(1, "sys_prolog_flag_set", ["stage", new Place(0)], [new Skeleton(new Cache("dg_set_stage"), [new Place(0)])], -1));
add(new Clause(1, "sys_prolog_flag_set", ["partition", new Place(0)], [new Skeleton(new Cache("dg_set_partition"), [new Place(0)])], -1));
add(new Clause(1, "sys_prolog_flag_set", [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));
add(new Clause(3, "current_prolog_flag", [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));
add(new Clause(4, "current_prolog_flag", [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));
add(new Clause(1, "current_prolog_flag", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["prolog_flag", new Place(0)]), undefined])])], -1));
add(new Clause(1, "sys_prolog_flag_get", ["argv", new Place(0)], [new Skeleton(new Cache("sys_emulated"), ["argv", new Place(0)])], -1));
add(new Clause(1, "sys_prolog_flag_get", ["sys_locale", new Place(0)], [new Skeleton(new Cache("sys_emulated"), ["sys_locale", new Place(0)])], -1));
add(new Clause(1, "sys_prolog_flag_get", ["sys_color", new Place(0)], [new Skeleton(new Cache("sys_emulated"), ["sys_color", new Place(0)])], -1));
add(new Clause(1, "sys_prolog_flag_get", ["base_url", new Place(0)], [new Skeleton(new Cache("os_get_workdir"), [new Place(0)])], -1));
add(new Clause(1, "sys_prolog_flag_get", ["stage", new Place(0)], [new Skeleton(new Cache("dg_get_stage"), [new Place(0)])], -1));
add(new Clause(1, "sys_prolog_flag_get", ["partition", new Place(0)], [new Skeleton(new Cache("dg_get_partition"), [new Place(0)])], -1));
add(new Clause(0, "sys_prolog_flag_get", ["single_quotes", "atom"], [], -1));
add(new Clause(0, "sys_prolog_flag_get", ["double_quotes", "codes"], [], -1));
add(new Clause(0, "sys_prolog_flag_get", ["back_quotes", "variable"], [], -1));
add(new Clause(0, "sys_prolog_flag_get", ["dialect", "dogelog"], [], -1));
add(new Clause(0, "sys_prolog_flag_get", ["version", 20203], [], -1));
add(new Clause(0, "sys_prolog_flag_get", ["use_strict", "off"], [], -1));
add(new Clause(0, "sys_prolog_flag_get", ["max_code", 1114111], [], -1));
add(new Clause(0, "sys_prolog_flag_get", ["max_arity", 2147483647n], [], -1));
add(new Clause(2, "sys_prolog_flag_get", ["async_mode", new Place(0)], [new Skeleton(new Cache("dg_get_flags"), [new Place(1)]), new Skeleton(new Cache("sys_prolog_flag_decode"), [new Place(1), 1, new Place(0)])], -1));
add(new Clause(2, "sys_prolog_flag_get", ["allow_yield", new Place(0)], [new Skeleton(new Cache("dg_get_flags"), [new Place(1)]), new Skeleton(new Cache("sys_prolog_flag_decode"), [new Place(1), 8, new Place(0)])], -1));
add(new Clause(0, "sys_prolog_flag_get", ["import_async", "on"], [], -1));
add(new Clause(0, "sys_prolog_flag_get", ["prop_async", "on"], [], -1));
add(new Clause(0, "sys_prolog_flag_get", ["read_async", "on"], [], -1));
add(new Clause(2, "sys_prolog_flag_get", ["state_async", new Place(0)], [new Skeleton(new Cache("dg_get_flags"), [new Place(1)]), new Skeleton(new Cache("sys_prolog_flag_decode"), [new Place(1), 128, new Place(0)])], -1));
add(new Clause(5, "sys_prolog_flag_get", [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("os_get_host"), [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));
add(new Clause(3, "sys_prolog_flag_get", [new Place(0), new Place(1)], [new Skeleton(new Cache("os_get_host"), [new Place(2)]), new Skeleton(new Cache("ir_object_current"), [new Place(2), new Place(0), new Place(1)])], -1));
add(new Clause(4, "sys_prolog_flag_decode", [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));
add(new Clause(0, "sys_prolog_flag_decode", [undefined, undefined, "off"], [], -1));
add(new Clause(4, "vars_intersection", [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));
add(new Clause(5, "vars_subtract", [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));
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"), ["sys_meta_args", 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", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_trans_body", 6])], -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", 6])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_trans_alter", 6])], -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_safe_meta", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_body", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_rest", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_goal", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_disj", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_more", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_untrans_alter", 5])], -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", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_meta_args", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_body", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_goal", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_disj", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_link", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_meta", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_params", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_param", 4])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_expr", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_args", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_encode_clause", 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", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_decode_meta", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_decode_params", 3])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_decode_param", 3])], -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_decode_args", 2])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_decode_clause", 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_handle_clump", 1])], -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_load_type", 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"), ["sys_host_ossify", 2])], -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_dcg_expansion", 3])], -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"), ["prehash", 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_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_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));
