/**
 * 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";

run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_is_infix", 3])], -1));
add(new Clause(0, "sys_is_infix", ["xfx", 1, 1], [], -1));
add(new Clause(0, "sys_is_infix", ["yfx", 0, 1], [], -1));
add(new Clause(0, "sys_is_infix", ["xfy", 1, 0], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_is_prefix", 2])], -1));
add(new Clause(0, "sys_is_prefix", ["fx", 1], [], -1));
add(new Clause(0, "sys_is_prefix", ["fy", 0], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_is_postfix", 2])], -1));
add(new Clause(0, "sys_is_postfix", ["xf", 1], [], -1));
add(new Clause(0, "sys_is_postfix", ["yf", 0], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_op", 5])], -1));
run(new Goal(0, [new Frozen(new Cache("kb_pred_touch"), ["sys_op", 5, 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["current_op", 3])], -1));
add(new Clause(3, "current_op", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_op"), [new Place(2), new Place(1), new Place(0), undefined, undefined])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["op", 3])], -1));
add(new Clause(3, "op", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("must_be"), ["integer", new Place(0)]), new Skeleton(new Cache("must_be"), ["atom", new Place(1)]), new Skeleton(new Cache("must_be"), ["atom", new Place(2)]), new Skeleton(new Cache("sys_check_priority"), [new Place(0)]), new Skeleton(new Cache("sys_op_retract"), [new Place(2), new Place(1)]), new Skeleton(new Cache("sys_op_assert"), [new Place(2), new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_check_priority", 1])], -1));
add(new Clause(1, "sys_check_priority", [new Place(0)], [new Skeleton(new Cache("<"), [new Place(0), 0]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["not_less_than_zero", new Place(0)]), undefined])])], -1));
add(new Clause(1, "sys_check_priority", [new Place(0)], [new Skeleton(new Cache(">"), [new Place(0), 1200]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["operator_priority", new Place(0)]), undefined])])], -1));
add(new Clause(0, "sys_check_priority", [undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_op_retract", 2])], -1));
add(new Clause(3, "sys_op_retract", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_is_prefix"), [new Place(2), undefined]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(make_defined([new Clause(3, "", [new Place(0)], [new Skeleton(new Cache("sys_op"), [new Place(0), new Place(1), new Place(2), undefined, undefined]), new Skeleton(new Cache("sys_is_prefix"), [new Place(1), undefined]), new Skeleton(new Cache("retract"), [new Skeleton(new Cache("sys_op"), [new Place(0), new Place(1), new Place(2), undefined, undefined])]), new Cache("fail")], -1), new Clause(0, "", [undefined], [], -1)]), [new Place(1)])], 0));
add(new Clause(3, "sys_op_retract", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_is_postfix"), [new Place(2), undefined]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(make_defined([new Clause(3, "", [new Place(0)], [new Skeleton(new Cache("sys_op"), [new Place(0), new Place(1), new Place(2), undefined, undefined]), new Skeleton(new Cache("sys_is_postfix"), [new Place(1), undefined]), new Skeleton(new Cache("retract"), [new Skeleton(new Cache("sys_op"), [new Place(0), new Place(1), new Place(2), undefined, undefined])]), new Cache("fail")], -1), new Clause(0, "", [undefined], [], -1)]), [new Place(1)])], 0));
add(new Clause(3, "sys_op_retract", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_is_infix"), [new Place(2), undefined, undefined]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(make_defined([new Clause(3, "", [new Place(0)], [new Skeleton(new Cache("sys_op"), [new Place(0), new Place(1), new Place(2), undefined, undefined]), new Skeleton(new Cache("sys_is_infix"), [new Place(1), undefined, undefined]), new Skeleton(new Cache("retract"), [new Skeleton(new Cache("sys_op"), [new Place(0), new Place(1), new Place(2), undefined, undefined])]), new Cache("fail")], -1), new Clause(0, "", [undefined], [], -1)]), [new Place(1)])], 0));
add(new Clause(1, "sys_op_retract", [undefined, new Place(0)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["operator_specifier", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_op_assert", 3])], -1));
add(new Clause(1, "sys_op_assert", [undefined, undefined, 0], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(3, "sys_op_assert", [new Place(0), new Place(1), undefined], [new Skeleton(new Cache("sys_is_infix"), [new Place(1), undefined, undefined]), new Skeleton(new Cache("sys_op"), [new Place(0), new Place(2), undefined, undefined, undefined]), new Skeleton(new Cache("sys_is_postfix"), [new Place(2), undefined]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("permission_error", ["create", "operator", new Place(0)]), undefined])])], -1));
add(new Clause(3, "sys_op_assert", [new Place(0), new Place(1), undefined], [new Skeleton(new Cache("sys_is_postfix"), [new Place(1), undefined]), new Skeleton(new Cache("sys_op"), [new Place(0), new Place(2), undefined, undefined, undefined]), new Skeleton(new Cache("sys_is_infix"), [new Place(2), undefined, undefined]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("permission_error", ["create", "operator", new Place(0)]), undefined])])], -1));
add(new Clause(8, "sys_op_assert", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_op_punct"), [new Place(0), new Place(3)]), new Skeleton(new Cache("sys_op_space"), [new Place(1), new Place(2), new Place(4)]), new Skeleton(new Cache("sys_op_format"), [new Place(1), new Place(2), new Place(5)]), new Skeleton(new Cache("is"), [new Place(6), new Skeleton(new Cache("\\\/"), [new Skeleton(new Cache("\\\/"), [new Place(3), new Place(4)]), new Place(5)])]), new Skeleton(new Cache("dg_get_partition"), [new Place(7)]), new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_op"), [new Place(0), new Place(1), new Place(2), new Place(6), new Place(7)])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_op_punct", 2])], -1));
add(new Clause(1, "sys_op_punct", [";", 2], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_op_punct", [",", 2], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "sys_op_punct", [undefined, 0], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_op_space", 3])], -1));
add(new Clause(2, "sys_op_space", [undefined, new Place(1), 0], [new Skeleton(new Cache(">"), [new Place(1), 699]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(2, "sys_op_space", [new Place(1), undefined, 1], [new Skeleton(new Cache("sys_is_prefix"), [new Place(1), undefined]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(2, "sys_op_space", [new Place(1), undefined, 2], [new Skeleton(new Cache("sys_is_postfix"), [new Place(1), undefined]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "sys_op_space", [undefined, undefined, 3], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_op_format", 3])], -1));
add(new Clause(4, "sys_op_format", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_is_infix"), [new Place(1), undefined, undefined]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_op_format2"), [new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_op_format", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_is_prefix"), [new Place(1), undefined]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_op_format3"), [new Place(2), new Place(3)])], 0));
add(new Clause(0, "sys_op_format", [undefined, undefined, 0], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_op_format2", 2])], -1));
add(new Clause(2, "sys_op_format2", [new Place(1), 12], [new Skeleton(new Cache(">"), [new Place(1), 1149]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(2, "sys_op_format2", [new Place(1), 8], [new Skeleton(new Cache(">"), [new Place(1), 1049]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(2, "sys_op_format2", [new Place(1), 4], [new Skeleton(new Cache(">"), [new Place(1), 949]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "sys_op_format2", [undefined, 0], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_op_format3", 2])], -1));
add(new Clause(2, "sys_op_format3", [new Place(1), 12], [new Skeleton(new Cache(">"), [new Place(1), 1149]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "sys_op_format3", [undefined, 0], [], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [1200, "fx", ":-"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [1200, "xfx", ":-"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [1200, "fx", "?-"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [1200, "xfx", "-->"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [1100, "xfy", ";"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [1050, "xfy", "->"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [1000, "xfy", ","])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [900, "fy", "\\+"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "is"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "="])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "\\="])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "=.."])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "<"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "=<"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "=\\="])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", ">="])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", ">"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "=:="])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "@<"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "@=<"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "\\=="])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "@>="])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "@>"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [700, "xfx", "=="])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [600, "xfy", ":"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [500, "yfx", "+"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [500, "yfx", "-"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [500, "yfx", "\/\\"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [500, "yfx", "\\\/"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [400, "yfx", "*"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [400, "yfx", "\/"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [400, "yfx", "\/\/"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [400, "yfx", "rem"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [400, "yfx", "div"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [400, "yfx", "mod"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [400, "yfx", "xor"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [400, "yfx", ">>"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [400, "yfx", "<<"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [200, "fy", "-"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [200, "fy", "\\"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [200, "xfx", "**"])], -1));
run(new Goal(0, [new Frozen(new Cache("op"), [200, "xfy", "^"])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_init_goal", 1])], -1));
run(new Goal(0, [new Frozen(new Cache("kb_pred_touch"), ["sys_init_goal", 1, 1])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["initialization", 1])], -1));
add(new Clause(1, "initialization", [new Place(0)], [new Skeleton(new Cache("assertz"), [new Skeleton(new Cache("sys_init_goal"), [new Place(0)])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_init_goals", 0])], -1));
add(new Clause(2, "sys_init_goals", [], [new Skeleton(new Cache("retract"), [new Skeleton(new Cache("sys_init_goal"), [new Place(0)])]), new Skeleton(new Cache("catch"), [new Skeleton("sys_must", [new Place(0)]), new Place(1), new Skeleton("sys_print_error", [new Place(1)])]), new Cache("fail")], -1));
add(new Clause(0, "sys_init_goals", [], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_must", 1])], -1));
add(new Clause(2, "sys_must", [new Place(1)], [new Skeleton(new Cache("call"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "sys_must", [undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["directive_failed"]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_baseline", 0])], -1));
add(new Clause(1, "sys_baseline", [], [new Skeleton(new Cache("current_prolog_flag"), ["argv", new Place(0)]), new Skeleton(new Cache("sys_baseline"), [new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_baseline", 1])], -1));
add(new Clause(2, "sys_baseline", [new Skeleton(".", ["-h", undefined])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("current_output"), [new Place(1)]), new Skeleton(new Cache("put_message"), [new Place(1), new Frozen("command", ["runtime"])]), new Cache("nl")], 0));
add(new Clause(1, "sys_baseline", [new Skeleton(".", [new Place(0), undefined])], [new Skeleton(new Cache("sub_atom"), [new Place(0), 0, undefined, undefined, "-"]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("system_error", ["option_command"]), undefined])])], -1));
add(new Clause(0, "sys_baseline", [undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_launch", 0])], -1));
add(new Clause(1, "sys_launch", [], [new Skeleton(new Cache("current_prolog_flag"), ["argv", new Place(0)]), new Skeleton(new Cache("sys_launch"), [new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_launch", 1])], -1));
add(new Clause(1, "sys_launch", [new Skeleton(".", ["-h", undefined])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "sys_launch", ["[]"], [new Frozen(new Cache("ensure_loaded"), [new Frozen("library", [new Frozen("\/", ["tester", "session"])])]), new Cache("version"), new Cache("prolog")], -1));
add(new Clause(1, "sys_launch", [new Skeleton(".", [new Place(0), undefined])], [new Skeleton(new Cache("ensure_loaded"), [new Place(0)]), new Cache("sys_init_goals")], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_net_request", 1])], -1));
add(new Clause(1, "sys_net_request", [new Place(0)], [new Skeleton(new Cache("sys_net_path"), [new Place(0)])], -1));
add(new Clause(1, "sys_net_request", [undefined], [new Skeleton(new Cache("current_prolog_flag"), ["base_url", new Place(0)]), new Skeleton(new Cache("sys_net_path"), [new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_net_path", 1])], -1));
add(new Clause(1, "sys_net_path", [new Place(0)], [new Skeleton(new Cache("sub_atom"), [new Place(0), 0, undefined, undefined, "http:"])], -1));
add(new Clause(1, "sys_net_path", [new Place(0)], [new Skeleton(new Cache("sub_atom"), [new Place(0), 0, undefined, undefined, "https:"])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["open", 3])], -1));
add(new Clause(3, "open", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("open"), [new Place(0), new Place(1), new Place(2), "[]"])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["open", 4])], -1));
add(new Clause(6, "open", [new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_net_request"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_object_new"), [new Place(5)]), new Skeleton(new Cache("sys_open_opts"), [new Place(4), new Place(5)]), new Skeleton(new Cache("sys_open_http"), [new Place(1), new Place(2), new Place(5), new Place(3)]), new Skeleton(new Cache("sys_open_results"), [new Place(4), new Place(5)])], 0));
add(new Clause(5, "open", [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("ir_object_new"), [new Place(4)]), new Skeleton(new Cache("sys_stream_opts"), [new Place(3), new Place(4)]), new Skeleton(new Cache("sys_open_file"), [new Place(0), new Place(1), new Place(4), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_open_file", 4])], -1));
add(new Clause(5, "sys_open_file", [new Place(1), "read", new Place(2), new Place(3)], [new Frozen(new Cache("current_prolog_flag"), ["read_async", "on"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("os_open_promise"), [new Place(1), new Place(2), new Place(3), new Place(4)]), new Skeleton(new Cache("$YIELD"), [new Place(4)])], 0));
add(new Clause(4, "sys_open_file", [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("os_open_sync"), [new Place(0), new Place(1), new Place(2), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_open_http", 4])], -1));
add(new Clause(5, "sys_open_http", [new Place(1), "read", new Place(2), new Place(3)], [new Frozen(new Cache("current_prolog_flag"), ["read_async", "on"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("net_open_promise"), [new Place(1), new Place(2), new Place(3), new Place(4)]), new Skeleton(new Cache("$YIELD"), [new Place(4)])], 0));
add(new Clause(4, "sys_open_http", [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("net_open_sync"), [new Place(0), new Place(1), new Place(2), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["close", 1])], -1));
add(new Clause(4, "close", [new Place(1)], [new Skeleton(new Cache("ir_object_current"), [new Place(1), "flags", new Place(2)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 2]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("os_close_promise"), [new Place(1), new Place(3)]), new Skeleton(new Cache("$YIELD"), [new Place(3)])], 0));
add(new Clause(1, "close", [new Place(0)], [new Skeleton(new Cache("os_close_sync"), [new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["nl", 0])], -1));
add(new Clause(1, "nl", [], [new Skeleton(new Cache("current_output"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(0), "\n"]), new Skeleton(new Cache("flush_output"), [new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["nl", 1])], -1));
add(new Clause(3, "nl", [new Place(1)], [new Skeleton(new Cache("ir_object_current"), [new Place(1), "flags", new Place(2)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 16]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), "\n"]), new Skeleton(new Cache("flush_output"), [new Place(1)])], 0));
add(new Clause(1, "nl", [new Place(0)], [new Skeleton(new Cache("put_atom"), [new Place(0), "\n"])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["flush_output", 0])], -1));
add(new Clause(1, "flush_output", [], [new Skeleton(new Cache("current_output"), [new Place(0)]), new Skeleton(new Cache("flush_output"), [new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["put_code", 1])], -1));
add(new Clause(3, "put_code", [new Place(0)], [new Skeleton(new Cache("current_output"), [new Place(1)]), new Skeleton(new Cache("char_code"), [new Place(2), new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["put_code", 2])], -1));
add(new Clause(3, "put_code", [new Place(0), new Place(1)], [new Skeleton(new Cache("char_code"), [new Place(2), new Place(1)]), new Skeleton(new Cache("put_atom"), [new Place(0), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["get_code", 1])], -1));
add(new Clause(2, "get_code", [new Place(0)], [new Skeleton(new Cache("current_input"), [new Place(1)]), new Skeleton(new Cache("get_code"), [new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["get_code", 2])], -1));
add(new Clause(4, "get_code", [new Place(1), new Place(2)], [new Skeleton(new Cache("os_get_code"), [new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(2)])], 0));
add(new Clause(4, "get_code", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_read_buffer"), [new Place(1)]), new Skeleton(new Cache("os_get_code"), [new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(2)])], 0));
add(new Clause(1, "get_code", [undefined, new Place(0)], [new Skeleton(new Cache("="), [-1, new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["peek_code", 1])], -1));
add(new Clause(2, "peek_code", [new Place(0)], [new Skeleton(new Cache("current_input"), [new Place(1)]), new Skeleton(new Cache("peek_code"), [new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["peek_code", 2])], -1));
add(new Clause(4, "peek_code", [new Place(1), new Place(2)], [new Skeleton(new Cache("os_peek_code"), [new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(2)])], 0));
add(new Clause(4, "peek_code", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_read_buffer"), [new Place(1)]), new Skeleton(new Cache("os_peek_code"), [new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(2)])], 0));
add(new Clause(1, "peek_code", [undefined, new Place(0)], [new Skeleton(new Cache("="), [-1, new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_buffer", 1])], -1));
add(new Clause(4, "sys_read_buffer", [new Place(1)], [new Skeleton(new Cache("ir_object_current"), [new Place(1), "flags", new Place(2)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 2]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("os_read_promise"), [new Place(1), new Place(3)]), new Skeleton(new Cache("$YIELD"), [new Place(3)])], 0));
add(new Clause(1, "sys_read_buffer", [new Place(0)], [new Skeleton(new Cache("os_read_sync"), [new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["put_atom", 1])], -1));
add(new Clause(2, "put_atom", [new Place(0)], [new Skeleton(new Cache("current_output"), [new Place(1)]), new Skeleton(new Cache("put_atom"), [new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["get_atom", 2])], -1));
add(new Clause(3, "get_atom", [new Place(0), new Place(1)], [new Skeleton(new Cache("current_input"), [new Place(2)]), new Skeleton(new Cache("get_atom"), [new Place(2), new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["get_atom", 3])], -1));
add(new Clause(8, "get_atom", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_atom_opts"), [new Place(2), new Frozen("v", [10, 1, 0]), new Skeleton("v", [new Place(3), new Place(4), new Place(5)])]), new Skeleton(new Cache("sys_get_code"), [new Place(0), new Place(6), new Place(4)]), new Skeleton(new Cache("sys_get_code_list"), [new Place(6), new Place(3), new Place(5), new Place(0), new Place(7), new Place(4)]), new Skeleton(new Cache("atom_codes"), [new Place(1), new Place(7)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_code_list", 6])], -1));
add(new Clause(1, "sys_get_code_list", [-1, undefined, undefined, undefined, "[]", undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(2, "sys_get_code_list", [new Place(1), new Place(1), undefined, undefined, new Skeleton(".", [new Place(1), "[]"]), undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(2, "sys_get_code_list", [new Place(1), undefined, 1, undefined, new Skeleton(".", [new Place(1), "[]"]), undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(7, "sys_get_code_list", [new Place(1), new Place(2), 0, new Place(3), new Skeleton(".", [new Place(1), new Place(4)]), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_get_code"), [new Place(3), new Place(6), new Place(5)]), new Skeleton(new Cache("sys_get_code_list"), [new Place(6), new Place(2), 0, new Place(3), new Place(4), new Place(5)])], 0));
add(new Clause(8, "sys_get_code_list", [new Place(0), new Place(1), new Place(2), new Place(3), new Skeleton(".", [new Place(0), new Place(4)]), new Place(5)], [new Skeleton(new Cache("sys_get_code"), [new Place(3), new Place(6), new Place(5)]), new Skeleton(new Cache("is"), [new Place(7), new Skeleton(new Cache("-"), [new Place(2), 1])]), new Skeleton(new Cache("sys_get_code_list"), [new Place(6), new Place(1), new Place(7), new Place(3), new Place(4), new Place(5)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_code", 3])], -1));
add(new Clause(4, "sys_get_code", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(3), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("get_code"), [new Place(1), new Place(2)])], 0));
add(new Clause(5, "sys_get_code", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("ir_object_current"), [new Place(0), "flags", new Place(3)]), new Skeleton(new Cache("get_code"), [new Place(0), new Place(4)]), new Skeleton(new Cache("sys_get_code_more"), [new Place(4), new Place(3), new Place(0), new Place(1), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_code_more", 5])], -1));
add(new Clause(1, "sys_get_code_more", [13, undefined, undefined, 10, undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(5, "sys_get_code_more", [10, new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(1), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_get_code"), [new Place(2), new Place(3), new Place(4)])], 0));
add(new Clause(1, "sys_get_code_more", [new Place(0), undefined, undefined, new Place(0), undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_atom_opts", 3])], -1));
add(new Clause(1, "sys_atom_opts", [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(6, "sys_atom_opts", [new Skeleton(".", [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_atom_opt"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_atom_opts"), [new Place(2), new Place(5), new Place(4)])], 0));
add(new Clause(2, "sys_atom_opts", ["[]", new Place(1), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_atom_opts", [new Place(0), undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_atom_opt", 3])], -1));
add(new Clause(1, "sys_atom_opt", [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, "sys_atom_opt", [new Skeleton("stop", [new Place(1)]), new Skeleton("v", [undefined, new Place(2), new Place(3)]), new Skeleton("v", [new Place(1), new Place(2), new Place(3)])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(6, "sys_atom_opt", [new Skeleton("compress", [new Place(1)]), new Skeleton("v", [new Place(2), new Place(3), new Place(4)]), new Skeleton("v", [new Place(2), new Place(5), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 1, new Place(3), new Place(5)])], 0));
add(new Clause(4, "sys_atom_opt", [new Skeleton("max", [new Place(1)]), new Skeleton("v", [new Place(2), new Place(3), undefined]), new Skeleton("v", [new Place(2), new Place(3), new Place(1)])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_atom_opt", [new Place(0), undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["atom_option", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["write", 1])], -1));
add(new Clause(2, "write", [new Place(0)], [new Skeleton(new Cache("current_output"), [new Place(1)]), new Skeleton(new Cache("write_term"), [new Place(1), new Place(0), new Frozen(".", [new Frozen("numbervars", ["true"]), "[]"])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["write", 2])], -1));
add(new Clause(2, "write", [new Place(0), new Place(1)], [new Skeleton(new Cache("write_term"), [new Place(0), new Place(1), new Frozen(".", [new Frozen("numbervars", ["true"]), "[]"])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["writeq", 1])], -1));
add(new Clause(2, "writeq", [new Place(0)], [new Skeleton(new Cache("current_output"), [new Place(1)]), new Skeleton(new Cache("write_term"), [new Place(1), new Place(0), new Frozen(".", [new Frozen("numbervars", ["true"]), new Frozen(".", [new Frozen("quoted", ["true"]), "[]"])])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["writeq", 2])], -1));
add(new Clause(2, "writeq", [new Place(0), new Place(1)], [new Skeleton(new Cache("write_term"), [new Place(0), new Place(1), new Frozen(".", [new Frozen("numbervars", ["true"]), new Frozen(".", [new Frozen("quoted", ["true"]), "[]"])])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["write_canonical", 1])], -1));
add(new Clause(2, "write_canonical", [new Place(0)], [new Skeleton(new Cache("current_output"), [new Place(1)]), new Skeleton(new Cache("write_term"), [new Place(1), new Place(0), new Frozen(".", [new Frozen("quoted", ["true"]), new Frozen(".", [new Frozen("ignore_ops", ["true"]), "[]"])])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["write_canonical", 2])], -1));
add(new Clause(2, "write_canonical", [new Place(0), new Place(1)], [new Skeleton(new Cache("write_term"), [new Place(0), new Place(1), new Frozen(".", [new Frozen("quoted", ["true"]), new Frozen(".", [new Frozen("ignore_ops", ["true"]), "[]"])])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["write_term", 2])], -1));
add(new Clause(3, "write_term", [new Place(0), new Place(1)], [new Skeleton(new Cache("current_output"), [new Place(2)]), new Skeleton(new Cache("write_term"), [new Place(2), new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_print_error", 1])], -1));
add(new Clause(2, "sys_print_error", [new Place(0)], [new Skeleton(new Cache("current_error"), [new Place(1)]), new Skeleton(new Cache("sys_print_error"), [new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_print_error", 2])], -1));
add(new Clause(4, "sys_print_error", [new Place(1), new Place(2)], [new Skeleton(new Cache("ir_object_current"), [new Place(1), "flags", new Place(3)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(3), 12]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_fancy_problem"), [new Place(2), new Place(1)])], 0));
add(new Clause(2, "sys_print_error", [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_print_problem"), [new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_print_problem", 2])], -1));
add(new Clause(3, "sys_print_problem", [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("put_message"), [new Place(2), new Skeleton("exception", ["unknown", new Place(1)]), new Place(2)]), new Skeleton(new Cache("nl"), [new Place(2)])], 0));
add(new Clause(4, "sys_print_problem", [new Skeleton("cause", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_print_problem"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_print_problem"), [new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_print_problem", [new Skeleton("error", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_message"), [new Place(3), new Frozen("exception", ["error"])]), new Skeleton(new Cache("put_message"), [new Place(3), new Place(1)]), new Skeleton(new Cache("nl"), [new Place(3)]), new Skeleton(new Cache("sys_print_trace"), [new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_print_problem", [new Skeleton("warning", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_message"), [new Place(3), new Frozen("exception", ["warning"])]), new Skeleton(new Cache("put_message"), [new Place(3), new Place(1)]), new Skeleton(new Cache("nl"), [new Place(3)]), new Skeleton(new Cache("sys_print_trace"), [new Place(2), new Place(3)])], 0));
add(new Clause(2, "sys_print_problem", [new Place(0), new Place(1)], [new Skeleton(new Cache("put_message"), [new Place(1), new Skeleton("exception", ["unknown", new Place(0)])]), new Skeleton(new Cache("nl"), [new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_print_trace", 2])], -1));
add(new Clause(3, "sys_print_trace", [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("put_message"), [new Place(2), new Skeleton("exception", ["context", new Place(1)])]), new Skeleton(new Cache("nl"), [new Place(2)])], 0));
add(new Clause(4, "sys_print_trace", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_print_frame"), [new Place(1), new Place(3)]), new Skeleton(new Cache("nl"), [new Place(3)]), new Skeleton(new Cache("sys_print_trace"), [new Place(2), new Place(3)])], 0));
add(new Clause(1, "sys_print_trace", ["[]", undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(2, "sys_print_trace", [new Place(0), new Place(1)], [new Skeleton(new Cache("put_message"), [new Place(1), new Skeleton("exception", ["context", new Place(0)])]), new Skeleton(new Cache("nl"), [new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_print_frame", 2])], -1));
add(new Clause(6, "sys_print_frame", [new Skeleton("sys_including", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("atom"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("file_base_name"), [new Place(1), new Place(4)]), new Skeleton(new Cache("ir_object_current"), [new Place(2), "lineno", new Place(5)]), new Skeleton(new Cache("put_message"), [new Place(3), new Skeleton("exception", ["including", new Place(4), new Place(5)])])], 0));
add(new Clause(3, "sys_print_frame", [new Skeleton("sys_text", [new Place(1)]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(2), new Place(1)])], 0));
add(new Clause(3, "sys_print_frame", [new Skeleton("sys_offset", [new Place(1)]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("tab"), [new Place(2), new Place(1)]), new Skeleton(new Cache("put_atom"), [new Place(2), "^"])], 0));
add(new Clause(2, "sys_print_frame", [new Place(0), new Place(1)], [new Skeleton(new Cache("put_message"), [new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["read", 1])], -1));
add(new Clause(3, "read", [new Place(0)], [new Skeleton(new Cache("current_input"), [new Place(1)]), new Skeleton(new Cache("get_code"), [new Place(1), new Place(2)]), new Skeleton(new Cache("sys_read_term"), [new Place(2), new Place(1), "[]", new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["read", 2])], -1));
add(new Clause(3, "read", [new Place(0), new Place(1)], [new Skeleton(new Cache("get_code"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_read_term"), [new Place(2), new Place(0), "[]", new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["read_term", 2])], -1));
add(new Clause(4, "read_term", [new Place(0), new Place(1)], [new Skeleton(new Cache("current_input"), [new Place(2)]), new Skeleton(new Cache("get_code"), [new Place(2), new Place(3)]), new Skeleton(new Cache("sys_read_term"), [new Place(3), new Place(2), new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["read_term", 3])], -1));
add(new Clause(4, "read_term", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("get_code"), [new Place(0), new Place(3)]), new Skeleton(new Cache("sys_read_term"), [new Place(3), new Place(0), new Place(2), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["file_property", 2])], -1));
add(new Clause(7, "file_property", [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_prop_map"), [new Place(1), new Place(3)]), new Skeleton(new Cache("ir_object_keys"), [new Place(3), new Place(4)]), new Skeleton(new Cache("member"), [new Place(5), new Place(4)]), new Skeleton(new Cache("ir_object_current"), [new Place(3), new Place(5), new Place(6)]), new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [new Place(5), new Skeleton(".", [new Place(6), "[]"])])])], 0));
add(new Clause(7, "file_property", [new Place(1), new Place(2)], [new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [new Place(3), new Skeleton(".", [new Place(4), "[]"])])]), new Skeleton(new Cache("sys_prop_map"), [new Place(1), new Place(5)]), new Skeleton(new Cache("ir_object_current"), [new Place(5), new Place(3), new Place(6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(6)])], 0));
add(new Clause(2, "file_property", [undefined, new Place(0)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(1), new Skeleton(".", [undefined, "[]"])])]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["prolog_flag", new Place(1)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_prop_map", 2])], -1));
add(new Clause(3, "sys_prop_map", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_net_request"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_prop_http"), [new Place(1), new Place(2)])], 0));
add(new Clause(2, "sys_prop_map", [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_prop_file"), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_prop_file", 2])], -1));
add(new Clause(4, "sys_prop_file", [new Place(1), new Place(2)], [new Frozen(new Cache("current_prolog_flag"), ["prop_async", "on"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("os_prop_promise"), [new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("$YIELD"), [new Place(3)])], 0));
add(new Clause(2, "sys_prop_file", [new Place(0), new Place(1)], [new Skeleton(new Cache("os_prop_sync"), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_prop_http", 2])], -1));
add(new Clause(4, "sys_prop_http", [new Place(1), new Place(2)], [new Frozen(new Cache("current_prolog_flag"), ["prop_async", "on"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("net_prop_promise"), [new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("$YIELD"), [new Place(3)])], 0));
add(new Clause(2, "sys_prop_http", [new Place(0), new Place(1)], [new Skeleton(new Cache("net_prop_sync"), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["set_file_property", 2])], -1));
add(new Clause(3, "set_file_property", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_net_request"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("net_cntrl_sync"), [new Place(1), new Place(2)])], 0));
add(new Clause(2, "set_file_property", [new Place(0), new Place(1)], [new Skeleton(new Cache("os_cntrl_sync"), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["file_directory_name", 2])], -1));
add(new Clause(6, "file_directory_name", [new Place(0), new Place(1)], [new Skeleton(make_defined([new Clause(3, "", [new Place(1), new Place(2)], [new Skeleton(new Cache("last_sub_atom"), [new Place(1), new Place(2), undefined, undefined, "\/"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0), new Clause(1, "", [undefined, new Place(0)], [new Skeleton(new Cache("="), [new Place(0), -1])], -1)]), [new Place(0), new Place(2)]), new Skeleton(make_defined([new Clause(3, "", [new Place(1), new Place(2)], [new Skeleton(new Cache("last_sub_atom"), [new Place(1), new Place(2), undefined, undefined, "\\"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0), new Clause(1, "", [undefined, new Place(0)], [new Skeleton(new Cache("="), [new Place(0), -1])], -1)]), [new Place(0), new Place(3)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("max"), [new Place(2), new Place(3)])]), new Skeleton(new Cache("is"), [new Place(5), new Skeleton(new Cache("+"), [new Place(4), 1])]), new Skeleton(new Cache("sub_atom"), [new Place(0), 0, new Place(5), undefined, new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["file_base_name", 2])], -1));
add(new Clause(6, "file_base_name", [new Place(0), new Place(1)], [new Skeleton(new Cache("atom_length"), [new Place(0), new Place(2)]), new Skeleton(make_defined([new Clause(3, "", [new Place(1), new Place(2), undefined], [new Skeleton(new Cache("last_sub_atom"), [new Place(1), undefined, undefined, new Place(2), "\/"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0), new Clause(2, "", [undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1)]), [new Place(0), new Place(3), new Place(2)]), new Skeleton(make_defined([new Clause(3, "", [new Place(1), new Place(2), undefined], [new Skeleton(new Cache("last_sub_atom"), [new Place(1), undefined, undefined, new Place(2), "\\"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0), new Clause(2, "", [undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1)]), [new Place(0), new Place(4), new Place(2)]), new Skeleton(new Cache("is"), [new Place(5), new Skeleton(new Cache("min"), [new Place(3), new Place(4)])]), new Skeleton(new Cache("sub_atom"), [new Place(0), undefined, new Place(5), 0, new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["absolute_file_name", 2])], -1));
add(new Clause(2, "absolute_file_name", [new Place(0), new Place(1)], [new Skeleton(new Cache("absolute_file_name"), [new Place(0), new Place(1), "[]"])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["absolute_file_name", 3])], -1));
add(new Clause(7, "absolute_file_name", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("current_prolog_flag"), ["base_url", new Place(3)]), new Skeleton(new Cache("sys_absolute_opts"), [new Place(2), new Skeleton("v", ["", new Place(3)]), new Skeleton("v", [new Place(4), new Place(5)])]), new Skeleton(new Cache("sys_file_complete"), [new Place(4), new Place(0), new Place(6)]), new Skeleton(new Cache("sys_file_combine"), [new Place(5), new Place(6), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_absolute_opts", 3])], -1));
add(new Clause(1, "sys_absolute_opts", [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(6, "sys_absolute_opts", [new Skeleton(".", [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_absolute_opt"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_absolute_opts"), [new Place(2), new Place(5), new Place(4)])], 0));
add(new Clause(2, "sys_absolute_opts", ["[]", new Place(1), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_absolute_opts", [new Place(0), undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_absolute_opt", 3])], -1));
add(new Clause(1, "sys_absolute_opt", [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(3, "sys_absolute_opt", [new Skeleton("relative_to", [new Place(1)]), new Skeleton("v", [new Place(2), undefined]), new Skeleton("v", [new Place(2), new Place(1)])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(3, "sys_absolute_opt", [new Skeleton("extension", [new Place(1)]), new Skeleton("v", [undefined, new Place(2)]), new Skeleton("v", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_absolute_opt", [new Place(0), undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["absolute_option", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_file_complete", 3])], -1));
add(new Clause(2, "sys_file_complete", ["", new Place(1), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(3, "sys_file_complete", [undefined, new Place(1), new Place(1)], [new Skeleton(new Cache("file_base_name"), [new Place(1), new Place(2)]), new Skeleton(new Cache("sub_atom"), [new Place(2), undefined, undefined, undefined, "."]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(3, "sys_file_complete", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("atom_concat"), [new Place(1), new Place(0), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_file_combine", 3])], -1));
add(new Clause(3, "sys_file_combine", [undefined, new Place(1), new Place(2)], [new Skeleton(new Cache("is_absolute_file_name"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0));
add(new Clause(7, "sys_file_combine", [new Place(1), new Place(2), new Place(3)], [new Skeleton(make_defined([new Clause(1, "", [new Place(0)], [new Skeleton(new Cache("sub_atom"), [new Place(0), 0, undefined, undefined, "..\/"])], -1), new Clause(1, "", [new Place(0)], [new Skeleton(new Cache("sub_atom"), [new Place(0), 0, undefined, undefined, "..\\"])], -1)]), [new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sub_atom"), [new Place(2), 3, undefined, 0, new Place(4)]), new Skeleton(new Cache("file_directory_name"), [new Place(1), new Place(5)]), new Skeleton(new Cache("sub_atom"), [new Place(5), 0, undefined, 1, new Place(6)]), new Skeleton(new Cache("sys_file_combine"), [new Place(6), new Place(4), new Place(3)])], 0));
add(new Clause(4, "sys_file_combine", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("file_directory_name"), [new Place(0), new Place(3)]), new Skeleton(new Cache("atom_concat"), [new Place(3), new Place(1), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["is_absolute_file_name", 1])], -1));
add(new Clause(5, "is_absolute_file_name", [new Place(0)], [new Skeleton(new Cache("atom_length"), [new Place(0), new Place(1)]), new Skeleton(make_defined([new Clause(3, "", [new Place(1), new Place(2), undefined], [new Skeleton(new Cache("sub_atom"), [new Place(1), new Place(2), undefined, undefined, "\/"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0), new Clause(2, "", [undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1)]), [new Place(0), new Place(2), new Place(1)]), new Skeleton(make_defined([new Clause(3, "", [new Place(1), new Place(2), undefined], [new Skeleton(new Cache("sub_atom"), [new Place(1), new Place(2), undefined, undefined, "\\"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0), new Clause(2, "", [undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1)]), [new Place(0), new Place(3), new Place(1)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("min"), [new Place(2), new Place(3)])]), new Skeleton(make_defined([new Clause(3, "", [new Place(1), new Place(2), undefined], [new Skeleton(new Cache("=="), [new Place(1), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("<"), [new Place(1), new Place(2)])], 0), new Clause(4, "", [new Place(1), undefined, new Place(2)], [new Skeleton(new Cache("sub_atom"), [new Place(2), new Place(3), undefined, undefined, ":"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("<"), [new Place(3), new Place(1)])], 0)]), [new Place(4), new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_file_relative", 2])], -1));
add(new Clause(1, "sys_file_relative", [new Place(0), undefined], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1));
add(new Clause(3, "sys_file_relative", [new Skeleton("library", [new Place(1)]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_file_compound"), [new Place(1), "liblet", ".p", new Place(2)])], 0));
add(new Clause(4, "sys_file_relative", [new Skeleton("foreign", [new Place(1)]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("current_prolog_flag"), ["foreign_ext", new Place(3)]), new Skeleton(new Cache("sys_file_compound"), [new Place(1), "doglet", new Place(3), new Place(2)])], 0));
add(new Clause(4, "sys_file_relative", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_file_including"), [new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("absolute_file_name"), [new Place(1), new Place(2), new Skeleton(".", [new Skeleton("relative_to", [new Place(3)]), new Frozen(".", [new Frozen("extension", [".p"]), "[]"])])])], 0));
add(new Clause(2, "sys_file_relative", [new Place(0), new Place(1)], [new Skeleton(new Cache("absolute_file_name"), [new Place(0), new Place(1), new Frozen(".", [new Frozen("extension", [".p"]), "[]"])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_file_compound", 4])], -1));
add(new Clause(7, "sys_file_compound", [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_file_struct"), [new Place(0), new Place(4)]), new Skeleton(new Cache("atom_join"), [new Skeleton(".", [new Place(1), new Skeleton(".", ["\/", new Skeleton(".", [new Place(4), new Skeleton(".", [new Place(2), "[]"])])])]), new Place(5)]), new Skeleton(new Cache("current_prolog_flag"), ["system_url", new Place(6)]), new Skeleton(new Cache("sys_file_combine"), [new Place(6), new Place(5), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_file_including", 1])], -1));
add(new Clause(3, "sys_file_including", [new Place(1)], [new Skeleton(new Cache("current_task"), [new Place(2)]), new Skeleton(new Cache("sys_including"), [new Place(1), new Place(2), undefined]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("\\=="), [new Place(1), "user"])], 0));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_file_struct", 2])], -1));
add(new Clause(1, "sys_file_struct", [new Place(0), 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_file_struct", [new Skeleton("\/", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_file_struct"), [new Place(1), new Place(4)]), new Skeleton(new Cache("atom_join"), [new Skeleton(".", [new Place(4), new Skeleton(".", ["\/", new Skeleton(".", [new Place(2), "[]"])])]), new Place(3)])], 0));
add(new Clause(3, "sys_file_struct", [new Place(1), new Place(2)], [new Skeleton(new Cache("atom"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0));
add(new Clause(1, "sys_file_struct", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["atom", new Place(0)]), undefined])])], -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"), ["strings", 3])], -1));
add(new Clause(0, "strings", ["exception.unknown", "de", "Ausnahme unbekannt: ~q"], [], -1));
add(new Clause(0, "strings", ["exception.error", "de", "Fehler: "], [], -1));
add(new Clause(0, "strings", ["exception.warning", "de", "Warnung: "], [], -1));
add(new Clause(0, "strings", ["exception.template", "de", "Vorlage unbekannt: ~q"], [], -1));
add(new Clause(0, "strings", ["exception.context", "de", "    Kontext unbekannt: ~q"], [], -1));
add(new Clause(0, "strings", ["exception.including", "de", "    ~q auf ~q"], [], -1));
add(new Clause(0, "strings", ["command.runtime", "de", "Benutzung: opt_1 .. opt_m [text arg_1 .. arg_n]\nFalls kein text spezifiziert ist, wird Banner gezeigt und dann\nTop-Level ausgeführt, andernfalls wird text ausgeführt.\n-h                   Diesen Hilfetext anzeigen und Vorgang beenden"], [], -1));
add(new Clause(0, "strings", ["system_error.option_command", "de", "Ungültige Befehlzeilenoption, -h für weitere Informationen."], [], -1));
add(new Clause(0, "strings", ["exception.unknown", "", "Unknown exception: ~q"], [], -1));
add(new Clause(0, "strings", ["exception.error", "", "Error: "], [], -1));
add(new Clause(0, "strings", ["exception.warning", "", "Warning: "], [], -1));
add(new Clause(0, "strings", ["exception.template", "", "Unknown template: ~q"], [], -1));
add(new Clause(0, "strings", ["exception.context", "", "    Unknown context: ~q"], [], -1));
add(new Clause(0, "strings", ["exception.including", "", "    ~q at ~q"], [], -1));
add(new Clause(0, "strings", ["command.runtime", "", "Usage: opt_1 ... opt_m [text arg_1 ... arg_n]\nIf no text is specified, banner is shown and then top-level\nis executed, otherwise text is executed.\n-h                   Display this help and exit."], [], -1));
add(new Clause(0, "strings", ["system_error.option_command", "", "Invalid command line option, -h for more information."], [], -1));
add(new Clause(0, "strings", ["evaluation_error.float_overflow", "de", "Die Funktion überschreitet hier den Gleitpunktzahlbereich."], [], -1));
add(new Clause(0, "strings", ["evaluation_error.undefined", "de", "Die Funktion ist hier undefiniert."], [], -1));
add(new Clause(0, "strings", ["evaluation_error.zero_divisor", "de", "Nulldivision."], [], -1));
add(new Clause(0, "strings", ["resource_error.not_supported", "de", "Nicht unterstützte Operation."], [], -1));
add(new Clause(0, "strings", ["resource_error.interrupted_exception", "de", "Unerwartet unterbrochene Operation."], [], -1));
add(new Clause(0, "strings", ["representation_error.int", "de", "Unerlaubte Ganzzahl (nicht zwischen - 2^31 und 2^31-1)."], [], -1));
add(new Clause(0, "strings", ["representation_error.long", "de", "Unerlaubte Ganzzahl (nicht zwischen - 2^63 und 2^63-1)."], [], -1));
add(new Clause(0, "strings", ["representation_error.max_arity", "de", "Unerlaubte Stelligkeit (nicht kleiner oder gleich 2^31-1)."], [], -1));
add(new Clause(0, "strings", ["domain_error.prolog_flag", "de", "Flag erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.not_less_than_zero", "de", "Positiv oder 0 erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.operator_priority", "de", "Operatorlevel (kleiner oder gleich 1200) erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.operator_specifier", "de", "Operatormode (fx, fy, xfx, yfx, xfy, xf, yf) erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.time_format", "de", "Zeitformat erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.atom_option", "de", "Atomoption erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.absolute_option", "de", "Absolutoption erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.atom", "de", "Atom erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.number", "de", "Zahl erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.integer", "de", "Ganzzahl erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.callable", "de", "Argument sollte aufrufbar sein (Atom oder Verbund), gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.atomic", "de", "Argument sollte atomar sein, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.list", "de", "Liste ([] oder [_|_]) erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.evaluable", "de", "Berechenbaren Funktion erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.character", "de", "Zeichen erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.pair", "de", "Paar (_-_) erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.predicate_indicator", "de", "Prädikatindikator (_\/_) erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.maybe", "de", "Option (nothing oder just(_)) erwartet, gefunden ~q."], [], -1));
add(new Clause(0, "strings", ["permission_error.modify.flag", "de", "Kann schreibgeschütztes Flag ~q nicht aktualisieren."], [], -1));
add(new Clause(0, "strings", ["evaluation_error.float_overflow", "", "The function overflows the float range here."], [], -1));
add(new Clause(0, "strings", ["evaluation_error.undefined", "", "The function is undefined here."], [], -1));
add(new Clause(0, "strings", ["evaluation_error.zero_divisor", "", "Division by zero."], [], -1));
add(new Clause(0, "strings", ["resource_error.not_supported", "", "Operation not supported."], [], -1));
add(new Clause(0, "strings", ["resource_error.interrupted_exception", "", "Operation terminated unexpectedly."], [], -1));
add(new Clause(0, "strings", ["representation_error.int", "", "Illegal integer (not between - 2^31 and 2^31-1)."], [], -1));
add(new Clause(0, "strings", ["representation_error.long", "", "Illegal integer (not between - 2^63 and 2^63-1)."], [], -1));
add(new Clause(0, "strings", ["representation_error.max_arity", "", "Illegal arity (not less or equal 2^31-1)."], [], -1));
add(new Clause(0, "strings", ["domain_error.prolog_flag", "", "Flag expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.not_less_than_zero", "", "Positive or 0 expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.operator_priority", "", "Operator level (less or equal 1200) expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.operator_specifier", "", "Operator mode (fx, fy, xfx, yfx, xfy, xf, yf) expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.time_format", "", "Time format expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.atom_option", "", "Atom option expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["domain_error.absolute_option", "", "Absolute option expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.atom", "", "Atom expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.number", "", "Number expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.integer", "", "Integer expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.callable", "", "Argument should be callable (atom or compound), found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.atomic", "", "Argument should be an atomic, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.list", "", "List ([] or [_|_]) expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.evaluable", "", "Evaluable functor expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.character", "", "Character expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.pair", "", "Pair (_-_) expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.predicate_indicator", "", "Predicate indicator (_\/_) expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["type_error.maybe", "", "Maybe (nothing or just(_)) expected, found ~q."], [], -1));
add(new Clause(0, "strings", ["permission_error.modify.flag", "", "Can\'t modify read-only flag ~q."], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_code_class", 2])], -1));
add(new Clause(2, "sys_code_class", [44, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0));
add(new Clause(2, "sys_code_class", [40, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0));
add(new Clause(2, "sys_code_class", [41, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0));
add(new Clause(2, "sys_code_class", [124, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0));
add(new Clause(2, "sys_code_class", [91, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0));
add(new Clause(2, "sys_code_class", [93, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0));
add(new Clause(2, "sys_code_class", [123, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0));
add(new Clause(2, "sys_code_class", [125, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0));
add(new Clause(2, "sys_code_class", [59, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0));
add(new Clause(2, "sys_code_class", [33, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0));
add(new Clause(2, "sys_code_class", [39, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0));
add(new Clause(2, "sys_code_class", [96, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0));
add(new Clause(2, "sys_code_class", [34, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0));
add(new Clause(2, "sys_code_class", [37, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0));
add(new Clause(2, "sys_code_class", [8205, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_graphic"])], 0));
add(new Clause(2, "sys_code_class", [65039, new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_graphic"])], 0));
add(new Clause(3, "sys_code_class", [new Place(0), new Place(1)], [new Skeleton(new Cache("code_category"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_type_class"), [new Place(2), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_type_class", 2])], -1));
add(new Clause(0, "sys_type_class", [0, "is_invalid"], [], -1));
add(new Clause(0, "sys_type_class", [1, "is_upper"], [], -1));
add(new Clause(0, "sys_type_class", [2, "is_ident"], [], -1));
add(new Clause(0, "sys_type_class", [3, "is_upper"], [], -1));
add(new Clause(0, "sys_type_class", [4, "is_ident"], [], -1));
add(new Clause(0, "sys_type_class", [5, "is_ident"], [], -1));
add(new Clause(0, "sys_type_class", [6, "is_ident"], [], -1));
add(new Clause(0, "sys_type_class", [7, "is_ident"], [], -1));
add(new Clause(0, "sys_type_class", [8, "is_ident"], [], -1));
add(new Clause(0, "sys_type_class", [9, "is_digit"], [], -1));
add(new Clause(0, "sys_type_class", [10, "is_ident"], [], -1));
add(new Clause(0, "sys_type_class", [11, "is_ident"], [], -1));
add(new Clause(0, "sys_type_class", [12, "is_blank"], [], -1));
add(new Clause(0, "sys_type_class", [13, "is_blank"], [], -1));
add(new Clause(0, "sys_type_class", [14, "is_blank"], [], -1));
add(new Clause(0, "sys_type_class", [15, "is_cntrl"], [], -1));
add(new Clause(0, "sys_type_class", [16, "is_cntrl"], [], -1));
add(new Clause(0, "sys_type_class", [18, "is_invalid"], [], -1));
add(new Clause(0, "sys_type_class", [19, "is_invalid"], [], -1));
add(new Clause(0, "sys_type_class", [20, "is_graphic"], [], -1));
add(new Clause(0, "sys_type_class", [21, "is_solo"], [], -1));
add(new Clause(0, "sys_type_class", [22, "is_solo"], [], -1));
add(new Clause(0, "sys_type_class", [23, "is_score"], [], -1));
add(new Clause(0, "sys_type_class", [24, "is_graphic"], [], -1));
add(new Clause(0, "sys_type_class", [25, "is_graphic"], [], -1));
add(new Clause(0, "sys_type_class", [26, "is_graphic"], [], -1));
add(new Clause(0, "sys_type_class", [27, "is_graphic"], [], -1));
add(new Clause(0, "sys_type_class", [28, "is_graphic"], [], -1));
add(new Clause(0, "sys_type_class", [29, "is_solo"], [], -1));
add(new Clause(0, "sys_type_class", [30, "is_solo"], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_name_class", 1])], -1));
add(new Clause(0, "sys_name_class", ["is_ident"], [], -1));
add(new Clause(0, "sys_name_class", ["is_upper"], [], -1));
add(new Clause(0, "sys_name_class", ["is_score"], [], -1));
add(new Clause(0, "sys_name_class", ["is_digit"], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_white_class", 1])], -1));
add(new Clause(0, "sys_white_class", ["is_blank"], [], -1));
add(new Clause(0, "sys_white_class", ["is_cntrl"], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_token", 3])], -1));
add(new Clause(6, "sys_get_token", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_current_code"), [new Place(3), new Place(1), new Place(4)]), new Skeleton(new Cache("sys_code_class"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_get_class"), [new Place(5), new Place(3), new Place(0), new Place(4), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_class", 5])], -1));
add(new Clause(7, "sys_get_class", ["is_ident", new Place(0), new Skeleton("atom", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_get_name"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("atom_codes"), [new Place(1), new Skeleton(".", [new Place(0), new Place(5)])]), new Skeleton(new Cache("="), [new Place(6), new Place(3)])], -1));
add(new Clause(7, "sys_get_class", ["is_upper", new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_get_name"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_make_variable"), [new Skeleton(".", [new Place(0), new Place(5)]), new Place(1)]), new Skeleton(new Cache("="), [new Place(6), new Place(3)])], -1));
add(new Clause(7, "sys_get_class", ["is_score", new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_get_name"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_make_variable"), [new Skeleton(".", [new Place(0), new Place(5)]), new Place(1)]), new Skeleton(new Cache("="), [new Place(6), new Place(3)])], -1));
add(new Clause(4, "sys_get_class", ["is_digit", new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_get_number"), [new Place(0), new Place(1), new Place(2), new Place(3)])], -1));
add(new Clause(5, "sys_get_class", ["is_punct", new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("char_code"), [new Place(1), new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(3)])], -1));
add(new Clause(5, "sys_get_class", ["is_graphic", new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_get_block_or_symbol"), [new Place(0), new Place(1), new Place(4), new Place(3)])], -1));
add(new Clause(4, "sys_get_class", ["is_solo", new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_get_line_or_solo"), [new Place(0), new Place(1), new Place(2), new Place(3)])], -1));
add(new Clause(4, "sys_get_class", ["is_invalid", new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_get_eof_or_error"), [new Place(0), new Place(1), new Place(2), new Place(3)])], -1));
add(new Clause(4, "sys_get_class", ["is_blank", undefined, new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_next_code"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_get_token"), [new Place(0), new Place(3), new Place(2)])], -1));
add(new Clause(4, "sys_get_class", ["is_cntrl", undefined, new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_next_code"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_get_token"), [new Place(0), new Place(3), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_eof_or_error", 4])], -1));
add(new Clause(3, "sys_get_eof_or_error", [-1, "end_of_file", 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(2, "sys_get_eof_or_error", [undefined, undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["illegal_unicode"]), undefined])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_name", 3])], -1));
add(new Clause(8, "sys_get_name", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_code_class"), [new Place(1), new Place(6)]), new Skeleton(new Cache("sys_name_class"), [new Place(6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(5), new Place(7)]), new Skeleton(new Cache("sys_get_name"), [new Place(2), new Place(7), new Place(4)])], 0));
add(new Clause(1, "sys_get_name", ["[]", new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_make_variable", 2])], -1));
add(new Clause(2, "sys_make_variable", [new Skeleton(".", [new Place(1), "[]"]), "anon"], [new Skeleton(new Cache("code_category"), [new Place(1), 23]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(2, "sys_make_variable", [new Place(0), new Skeleton("var", [new Place(1)])], [new Skeleton(new Cache("atom_codes"), [new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_number", 4])], -1));
add(new Clause(7, "sys_get_number", [48, new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_current_code"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_get_special"), [new Place(5), new Place(1), new Place(6), new Place(3)])], 0));
add(new Clause(5, "sys_get_number", [new Place(0), new Skeleton("decimal", [new Skeleton(".", [new Place(0), new Place(1)])]), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_get_decimal"), [new Place(1), new Place(4), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_special", 4])], -1));
add(new Clause(5, "sys_get_special", [120, new Skeleton("radix", [new Place(1), 16]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_get_radix"), [new Place(1), "[]", 16, new Place(4), new Place(3)])], 0));
add(new Clause(5, "sys_get_special", [111, new Skeleton("radix", [new Place(1), 8]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_get_radix"), [new Place(1), "[]", 8, new Place(4), new Place(3)])], 0));
add(new Clause(5, "sys_get_special", [98, new Skeleton("radix", [new Place(1), 2]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_get_radix"), [new Place(1), "[]", 2, new Place(4), new Place(3)])], 0));
add(new Clause(5, "sys_get_special", [114, new Skeleton("exotic", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_get_name"), [new Place(1), new Place(4), new Place(3)])], 0));
add(new Clause(7, "sys_get_special", [39, new Skeleton("code", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_current_code"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_get_code"), [new Place(5), new Place(1), new Place(6), new Place(3)])], 0));
add(new Clause(3, "sys_get_special", [undefined, new Skeleton("decimal", [new Skeleton(".", [48, new Place(0)])]), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_get_decimal"), [new Place(0), new Place(1), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_decimal", 3])], -1));
add(new Clause(7, "sys_get_decimal", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("code_category"), [new Place(1), 9]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(5), new Place(6)]), new Skeleton(new Cache("sys_get_decimal"), [new Place(2), new Place(6), new Place(4)])], 0));
add(new Clause(8, "sys_get_decimal", [new Skeleton(".", [46, new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_code"), [46, new Place(2), new Place(4)]), new Skeleton(new Cache("sys_at_code"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("code_category"), [new Place(5), 9]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(6), new Place(7)]), new Skeleton(new Cache("sys_get_fraction"), [new Place(1), new Place(7), new Place(3)])], 0));
add(new Clause(9, "sys_get_decimal", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_is_expo"), [new Place(1)]), new Skeleton(new Cache("sys_at_code"), [new Place(6), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_is_sign_digit"), [new Place(6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(7), new Place(8)]), new Skeleton(new Cache("sys_get_exponent"), [new Place(2), new Place(8), new Place(4)])], 0));
add(new Clause(1, "sys_get_decimal", ["[]", new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_fraction", 3])], -1));
add(new Clause(7, "sys_get_fraction", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("code_category"), [new Place(1), 9]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(5), new Place(6)]), new Skeleton(new Cache("sys_get_fraction"), [new Place(2), new Place(6), new Place(4)])], 0));
add(new Clause(9, "sys_get_fraction", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_is_expo"), [new Place(1)]), new Skeleton(new Cache("sys_at_code"), [new Place(6), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_is_sign_digit"), [new Place(6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(7), new Place(8)]), new Skeleton(new Cache("sys_get_exponent"), [new Place(2), new Place(8), new Place(4)])], 0));
add(new Clause(1, "sys_get_fraction", ["[]", new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_exponent", 3])], -1));
add(new Clause(7, "sys_get_exponent", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_is_sign"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(5), new Place(6)]), new Skeleton(new Cache("sys_get_rest"), [new Place(2), new Place(6), new Place(4)])], 0));
add(new Clause(3, "sys_get_exponent", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_get_rest"), [new Place(0), new Place(1), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_rest", 3])], -1));
add(new Clause(7, "sys_get_rest", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("code_category"), [new Place(1), 9]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(5), new Place(6)]), new Skeleton(new Cache("sys_get_rest"), [new Place(2), new Place(6), new Place(4)])], 0));
add(new Clause(1, "sys_get_rest", ["[]", new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_is_expo", 1])], -1));
add(new Clause(0, "sys_is_expo", [69], [], -1));
add(new Clause(0, "sys_is_expo", [101], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_is_sign_digit", 1])], -1));
add(new Clause(1, "sys_is_sign_digit", [new Place(0)], [new Skeleton(new Cache("sys_is_sign"), [new Place(0)])], -1));
add(new Clause(1, "sys_is_sign_digit", [new Place(0)], [new Skeleton(new Cache("code_category"), [new Place(0), 9])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_is_sign", 1])], -1));
add(new Clause(0, "sys_is_sign", [45], [], -1));
add(new Clause(0, "sys_is_sign", [43], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_block_or_symbol", 4])], -1));
add(new Clause(7, "sys_get_block_or_symbol", [47, new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_code"), [42, new Place(2), new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(4), new Place(5)]), new Skeleton(new Cache("sys_skip_block"), [new Place(5), new Place(6)]), new Skeleton(new Cache("sys_get_token"), [new Place(1), new Place(6), new Place(3)])], 0));
add(new Clause(8, "sys_get_block_or_symbol", [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_get_symbol"), [new Place(4), new Place(2), new Place(5)]), new Skeleton(new Cache("sys_current_code"), [new Place(6), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_make_period"), [new Place(6), new Skeleton(".", [new Place(0), new Place(4)]), new Place(1)]), new Skeleton(new Cache("="), [new Place(7), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_symbol", 3])], -1));
add(new Clause(7, "sys_get_symbol", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_graphic"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(5), new Place(6)]), new Skeleton(new Cache("sys_get_symbol"), [new Place(2), new Place(6), new Place(4)])], 0));
add(new Clause(1, "sys_get_symbol", ["[]", new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_skip_block", 2])], -1));
add(new Clause(5, "sys_skip_block", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_current_code"), [42, new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(4)]), new Skeleton(new Cache("sys_skip_end"), [new Place(4), new Place(2)])], 0));
add(new Clause(3, "sys_skip_block", [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_current_code"), [-1, new Place(0), new Place(2)]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["end_of_file_in_block_comment"]), undefined])]), new Skeleton(new Cache("="), [new Place(2), new Place(1)])], -1));
add(new Clause(3, "sys_skip_block", [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_next_code"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_skip_block"), [new Place(2), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_skip_end", 2])], -1));
add(new Clause(4, "sys_skip_end", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_current_code"), [47, new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(2)])], 0));
add(new Clause(2, "sys_skip_end", [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_skip_block"), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_make_period", 3])], -1));
add(new Clause(1, "sys_make_period", [37, new Frozen(".", [46, "[]"]), "."], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_make_period", [-1, new Frozen(".", [46, "[]"]), "."], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(3, "sys_make_period", [new Place(1), new Frozen(".", [46, "[]"]), "."], [new Skeleton(new Cache("sys_code_class"), [new Place(1), new Place(2)]), new Skeleton(new Cache("sys_white_class"), [new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(2, "sys_make_period", [undefined, new Place(0), new Skeleton("atom", [new Place(1)])], [new Skeleton(new Cache("atom_codes"), [new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_line_or_solo", 4])], -1));
add(new Clause(7, "sys_get_line_or_solo", [39, new Skeleton("single", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_current_code"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_get_quote"), [new Place(5), new Place(1), 39, new Place(6), new Place(3)])], 0));
add(new Clause(7, "sys_get_line_or_solo", [34, new Skeleton("codes", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_current_code"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_get_quote"), [new Place(5), new Place(1), 34, new Place(6), new Place(3)])], 0));
add(new Clause(7, "sys_get_line_or_solo", [96, new Skeleton("back", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_current_code"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_get_quote"), [new Place(5), new Place(1), 96, new Place(6), new Place(3)])], 0));
add(new Clause(8, "sys_get_line_or_solo", [37, new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_current_code"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_skip_line"), [new Place(5), new Place(6), new Place(7)]), new Skeleton(new Cache("sys_get_token"), [new Place(1), new Place(7), new Place(3)])], 0));
add(new Clause(5, "sys_get_line_or_solo", [new Place(0), new Skeleton("atom", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("char_code"), [new Place(1), new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_skip_line", 3])], -1));
add(new Clause(3, "sys_skip_line", [10, 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(3, "sys_skip_line", [13, 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(3, "sys_skip_line", [-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(5, "sys_skip_line", [undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("sys_next_code"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_current_code"), [new Place(3), new Place(2), new Place(4)]), new Skeleton(new Cache("sys_skip_line"), [new Place(3), new Place(4), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_quote", 5])], -1));
add(new Clause(8, "sys_get_quote", [new Place(1), new Place(2), new Place(1), new Place(3), new Place(4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_current_code"), [new Place(6), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_get_more"), [new Place(6), new Place(2), new Place(1), new Place(7), new Place(4)])], 0));
add(new Clause(8, "sys_get_quote", [92, new Skeleton(".", [92, 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_next_code"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_current_code"), [new Place(6), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_get_cont"), [new Place(6), new Place(1), new Place(2), new Place(7), new Place(4)])], 0));
add(new Clause(3, "sys_get_quote", [10, new Frozen(".", [-1, "[]"]), undefined, 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(3, "sys_get_quote", [13, new Frozen(".", [-1, "[]"]), undefined, 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(3, "sys_get_quote", [-1, new Frozen(".", [-1, "[]"]), undefined, 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(8, "sys_get_quote", [new Place(0), new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_current_code"), [new Place(6), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_get_quote"), [new Place(6), new Place(1), new Place(2), new Place(7), new Place(4)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_more", 5])], -1));
add(new Clause(8, "sys_get_more", [new Place(1), new Skeleton(".", [new Place(1), new Skeleton(".", [new Place(1), new Place(2)])]), new Place(1), new Place(3), new Place(4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_current_code"), [new Place(6), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_get_quote"), [new Place(6), new Place(2), new Place(1), new Place(7), new Place(4)])], 0));
add(new Clause(1, "sys_get_more", [undefined, "[]", undefined, new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_code", 4])], -1));
add(new Clause(5, "sys_get_code", [39, new Skeleton(".", [39, new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_get_double"), [new Place(1), new Place(4), new Place(3)])], 0));
add(new Clause(7, "sys_get_code", [92, new Skeleton(".", [92, new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_current_code"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_get_escape"), [new Place(5), new Place(1), "[]", new Place(6), new Place(3)])], 0));
add(new Clause(3, "sys_get_code", [10, new Frozen(".", [-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(3, "sys_get_code", [13, new Frozen(".", [-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(3, "sys_get_code", [-1, new Frozen(".", [-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(3, "sys_get_code", [new Place(0), new Skeleton(".", [new Place(0), "[]"]), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_next_code"), [new Place(1), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_double", 3])], -1));
add(new Clause(4, "sys_get_double", [new Frozen(".", [39, "[]"]), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_current_code"), [39, new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(2)])], 0));
add(new Clause(1, "sys_get_double", ["[]", new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_cont", 5])], -1));
add(new Clause(8, "sys_get_cont", [10, new Skeleton(".", [10, 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_next_code"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_current_code"), [new Place(6), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_get_quote"), [new Place(6), new Place(1), new Place(2), new Place(7), new Place(4)])], 0));
add(new Clause(10, "sys_get_cont", [13, new Skeleton(".", [13, 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_next_code"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_get_skip"), [new Place(1), new Place(6), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_current_code"), [new Place(8), new Place(7), new Place(9)]), new Skeleton(new Cache("sys_get_quote"), [new Place(8), new Place(6), new Place(2), new Place(9), new Place(4)])], 0));
add(new Clause(9, "sys_get_cont", [new Place(0), new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_get_escape"), [new Place(0), new Place(1), new Place(5), new Place(3), new Place(6)]), new Skeleton(new Cache("sys_current_code"), [new Place(7), new Place(6), new Place(8)]), new Skeleton(new Cache("sys_get_quote"), [new Place(7), new Place(5), new Place(2), new Place(8), new Place(4)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_skip", 4])], -1));
add(new Clause(5, "sys_get_skip", [new Skeleton(".", [10, new Place(1)]), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_code"), [10, new Place(2), new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(4), new Place(3)])], 0));
add(new Clause(2, "sys_get_skip", [new Place(0), new Place(0), new Place(1), new Place(1)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_escape", 5])], -1));
add(new Clause(8, "sys_get_escape", [120, new Skeleton(".", [120, 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_next_code"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_get_radix"), [new Place(1), new Place(6), 16, new Place(5), new Place(7)]), new Skeleton(new Cache("sys_get_backslash"), [new Place(6), new Place(2), new Place(7), new Place(4)])], 0));
add(new Clause(9, "sys_get_escape", [new Place(1), new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("sys_is_radix"), [new Place(1), 8]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(4), new Place(6)]), new Skeleton(new Cache("sys_get_radix"), [new Place(2), new Place(7), 8, new Place(6), new Place(8)]), new Skeleton(new Cache("sys_get_backslash"), [new Place(7), new Place(3), new Place(8), new Place(5)])], 0));
add(new Clause(4, "sys_get_escape", [10, new Skeleton(".", [-1, new Place(1)]), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_get_escape", [13, new Skeleton(".", [-1, new Place(1)]), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_get_escape", [-1, new Skeleton(".", [-1, new Place(1)]), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_get_escape", [new Place(0), new Skeleton(".", [new Place(0), new Place(1)]), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_backslash", 4])], -1));
add(new Clause(5, "sys_get_backslash", [new Skeleton(".", [92, new Place(1)]), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_code"), [92, new Place(2), new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(4), new Place(3)])], 0));
add(new Clause(2, "sys_get_backslash", [new Place(0), new Place(0), new Place(1), new Place(1)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_get_radix", 5])], -1));
add(new Clause(9, "sys_get_radix", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Place(4), new Place(5), new Place(6)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(5), new Place(7)]), new Skeleton(new Cache("sys_is_radix"), [new Place(1), new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_code"), [new Place(7), new Place(8)]), new Skeleton(new Cache("sys_get_radix"), [new Place(2), new Place(3), new Place(4), new Place(8), new Place(6)])], 0));
add(new Clause(2, "sys_get_radix", [new Place(0), new Place(0), undefined, new Place(1), new Place(1)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_is_radix", 2])], -1));
add(new Clause(3, "sys_is_radix", [new Place(0), new Place(1)], [new Skeleton(new Cache("code_numeric"), [new Place(0), new Place(2)]), new Skeleton(new Cache("=<"), [0, new Place(2)]), new Skeleton(new Cache("<"), [new Place(2), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_is_meta", 1])], -1));
add(new Clause(0, "sys_is_meta", [39], [], -1));
add(new Clause(0, "sys_is_meta", [96], [], -1));
add(new Clause(0, "sys_is_meta", [34], [], -1));
add(new Clause(0, "sys_is_meta", [92], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_is_escape", 2])], -1));
add(new Clause(0, "sys_is_escape", [110, 10], [], -1));
add(new Clause(0, "sys_is_escape", [116, 9], [], -1));
add(new Clause(0, "sys_is_escape", [98, 8], [], -1));
add(new Clause(0, "sys_is_escape", [102, 12], [], -1));
add(new Clause(0, "sys_is_escape", [114, 13], [], -1));
add(new Clause(0, "sys_is_escape", [97, 7], [], -1));
add(new Clause(0, "sys_is_escape", [118, 11], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_current_code", 3])], -1));
add(new Clause(2, "sys_current_code", [new Place(0), new Skeleton("-", [new Place(1), new Place(0)]), new Skeleton("-", [new Place(1), new Place(0)])], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_next_code", 2])], -1));
add(new Clause(2, "sys_next_code", [new Skeleton("-", [new Place(0), undefined]), new Skeleton("-", [new Place(0), new Place(1)])], [new Skeleton(new Cache("get_code"), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_at_code", 3])], -1));
add(new Clause(3, "sys_at_code", [new Place(0), new Skeleton("-", [new Place(1), new Place(2)]), new Skeleton("-", [new Place(1), new Place(2)])], [new Skeleton(new Cache("peek_code"), [new Place(1), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_safe_space", 3])], -1));
add(new Clause(8, "sys_safe_space", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sub_atom"), [new Place(2), 0, 1, undefined, new Place(4)]), new Skeleton(new Cache("char_code"), [new Place(4), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_object_current"), [new Place(1), "last", new Place(6)]), new Skeleton(new Cache("sys_code_class"), [new Place(6), new Place(7)]), new Skeleton(new Cache("sys_safe_cases"), [new Place(7), new Place(1), new Place(6), new Place(5), new Place(3)])], 0));
add(new Clause(0, "sys_safe_space", [undefined, undefined, undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_safe_cases", 5])], -1));
add(new Clause(5, "sys_safe_cases", [new Place(1), new Place(2), new Place(3), new Place(4), undefined], [new Skeleton(new Cache("sys_name_class"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_safe_name"), [new Place(2), new Place(3), new Place(4)])], 0));
add(new Clause(5, "sys_safe_cases", ["is_graphic", 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_safe_symbol"), [new Place(1), new Place(2), new Place(3), new Place(4)])], 0));
add(new Clause(3, "sys_safe_cases", ["is_solo", new Place(1), new Place(2), new Place(2), undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_safe_quote"), [new Place(1), new Place(2)])], 0));
add(new Clause(0, "sys_safe_cases", [undefined, undefined, undefined, undefined, undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_safe_name", 3])], -1));
add(new Clause(4, "sys_safe_name", [new Place(1), undefined, new Place(2)], [new Skeleton(new Cache("sys_code_class"), [new Place(2), new Place(3)]), new Skeleton(new Cache("sys_name_class"), [new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), " "])], 0));
add(new Clause(2, "sys_safe_name", [new Place(1), 48, 39], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), " "])], 0));
add(new Clause(0, "sys_safe_name", [undefined, undefined, undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_safe_symbol", 4])], -1));
add(new Clause(3, "sys_safe_symbol", [new Place(1), undefined, new Place(2), undefined], [new Skeleton(new Cache("sys_code_class"), [new Place(2), "is_graphic"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), " "])], 0));
add(new Clause(4, "sys_safe_symbol", [new Place(1), 45, new Place(2), new Place(3)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(3), 4]), 0]), new Skeleton(new Cache("code_category"), [new Place(2), 9]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), " "])], 0));
add(new Clause(0, "sys_safe_symbol", [undefined, undefined, undefined, undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_safe_quote", 2])], -1));
add(new Clause(2, "sys_safe_quote", [new Place(1), 39], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), " "])], 0));
add(new Clause(2, "sys_safe_quote", [new Place(1), 96], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), " "])], 0));
add(new Clause(2, "sys_safe_quote", [new Place(1), 34], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), " "])], 0));
add(new Clause(0, "sys_safe_quote", [undefined, undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_print_atom", 3])], -1));
add(new Clause(5, "sys_print_atom", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(3), 16]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("open_input_atom_stream"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_fancy_stream"), [new Place(4), new Place(1), ""])], 0));
add(new Clause(2, "sys_print_atom", [new Place(0), new Place(1), undefined], [new Skeleton(new Cache("put_atom"), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_convert_token", 2])], -1));
add(new Clause(4, "sys_convert_token", [new Skeleton("single", [new Place(1)]), new Skeleton("atom", [new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_quote"), [new Place(3), 39, new Place(1), "[]"]), new Skeleton(new Cache("atom_codes"), [new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_convert_token", [new Skeleton("back", [new Place(1)]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_quote"), [new Place(3), 96, new Place(1), "[]"]), new Skeleton(new Cache("sys_make_variable"), [new Place(3), new Place(2)])], 0));
add(new Clause(4, "sys_convert_token", [new Skeleton("decimal", [new Place(1)]), new Skeleton("const", [new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_codes"), [new Place(3), new Place(1)]), new Skeleton(new Cache("atom_number"), [new Place(3), new Place(2)])], 0));
add(new Clause(5, "sys_convert_token", [new Skeleton("radix", [new Place(1), new Place(2)]), new Skeleton("const", [new Place(3)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_codes"), [new Place(4), new Place(1)]), new Skeleton(new Cache("atom_integer"), [new Place(4), new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_convert_token", [new Skeleton("exotic", [new Place(1)]), new Skeleton("const", [new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_codes"), [new Place(3), new Place(1)]), new Skeleton(new Cache("sys_convert_exotic"), [new Place(3), new Place(2)])], 0));
add(new Clause(3, "sys_convert_token", [new Skeleton("codes", [new Place(1)]), new Skeleton("const", [new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_quote"), [new Place(2), 34, new Place(1), "[]"])], 0));
add(new Clause(3, "sys_convert_token", [new Skeleton("code", [new Place(1)]), new Skeleton("const", [new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_code"), [new Place(2), new Place(1), "[]"])], 0));
add(new Clause(1, "sys_convert_token", [new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_convert_quote", 4])], -1));
add(new Clause(6, "sys_convert_quote", [new Place(1), new Place(2), new Skeleton(".", [92, new Place(3)]), new Place(4)], [new Skeleton(new Cache("sys_convert_sep"), [new Place(3), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_quote"), [new Place(1), new Place(2), new Place(5), new Place(4)])], 0));
add(new Clause(5, "sys_convert_quote", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(1), new Skeleton(".", [new Place(1), new Skeleton(".", [new Place(1), new Place(3)])]), new Place(4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_quote"), [new Place(2), new Place(1), new Place(3), new Place(4)])], 0));
add(new Clause(2, "sys_convert_quote", [undefined, undefined, new Skeleton(".", [-1, new Place(0)]), new Place(1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["unbalanced_quoted"]), undefined])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1));
add(new Clause(9, "sys_convert_quote", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Skeleton(".", [new Place(4), new Place(5)]), new Place(6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_code_class"), [new Place(4), new Place(7)]), new Skeleton(new Cache("sys_convert_char"), [new Place(7), new Place(4), new Place(1), new Place(5), new Place(8)]), new Skeleton(new Cache("sys_convert_quote"), [new Place(2), new Place(3), new Place(8), new Place(6)])], 0));
add(new Clause(1, "sys_convert_quote", ["[]", undefined, new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_convert_sep", 2])], -1));
add(new Clause(1, "sys_convert_sep", [new Skeleton(".", [13, new Skeleton(".", [10, new Place(0)])]), new Place(0)], [], -1));
add(new Clause(1, "sys_convert_sep", [new Skeleton(".", [10, new Place(0)]), new Place(0)], [], -1));
add(new Clause(1, "sys_convert_sep", [new Skeleton(".", [13, new Place(0)]), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_convert_code", 3])], -1));
add(new Clause(3, "sys_convert_code", [39, new Skeleton(".", [39, new Place(1)]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_double"), [new Place(1), new Place(2)])], 0));
add(new Clause(2, "sys_convert_code", [undefined, new Skeleton(".", [-1, new Place(0)]), new Place(1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["missing_char"]), undefined])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1));
add(new Clause(5, "sys_convert_code", [new Place(0), new Skeleton(".", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("sys_code_class"), [new Place(1), new Place(4)]), new Skeleton(new Cache("sys_convert_char"), [new Place(4), new Place(1), new Place(0), new Place(2), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_convert_double", 2])], -1));
add(new Clause(3, "sys_convert_double", [new Skeleton(".", [39, 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(2, "sys_convert_double", [new Place(0), new Place(1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["doubling_missing"]), undefined])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_convert_exotic", 2])], -1));
add(new Clause(3, "sys_convert_exotic", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_atom_exotic"), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_convert_exotic", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["exotic", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_atom_exotic", 2])], -1));
add(new Clause(0, "sys_atom_exotic", ["True", true], [], -1));
add(new Clause(0, "sys_atom_exotic", ["False", false], [], -1));
add(new Clause(0, "sys_atom_exotic", ["None", null], [], -1));
add(new Clause(0, "sys_atom_exotic", ["Inf", Infinity], [], -1));
add(new Clause(0, "sys_atom_exotic", ["NaN", NaN], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_convert_char", 5])], -1));
add(new Clause(4, "sys_convert_char", ["is_graphic", 92, new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_escape"), [new Place(1), new Place(2), new Place(3)])], 0));
add(new Clause(2, "sys_convert_char", ["is_cntrl", undefined, undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["illegal_layout"]), undefined])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1));
add(new Clause(2, "sys_convert_char", ["is_invalid", undefined, undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["illegal_unicode"]), undefined])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1));
add(new Clause(2, "sys_convert_char", [undefined, new Place(0), new Place(0), new Place(1), new Place(1)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_convert_escape", 3])], -1));
add(new Clause(5, "sys_convert_escape", [new Place(1), new Skeleton(".", [new Place(2), new Place(3)]), new Place(4)], [new Skeleton(new Cache("sys_is_escape"), [new Place(2), new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(4)])], 0));
add(new Clause(8, "sys_convert_escape", [new Place(1), new Skeleton(".", [new Place(2), new Place(3)]), new Place(4)], [new Skeleton(new Cache("sys_is_radix"), [new Place(2), 8]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_radix"), [new Place(5), 8, new Place(3), new Place(6)]), new Skeleton(new Cache("atom_codes"), [new Place(7), new Skeleton(".", [new Place(2), new Place(5)])]), new Skeleton(new Cache("atom_integer"), [new Place(7), 8, new Place(1)]), new Skeleton(new Cache("sys_convert_backslash"), [new Place(6), new Place(4)])], 0));
add(new Clause(7, "sys_convert_escape", [new Place(1), new Skeleton(".", [120, new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_radix"), [new Place(4), 16, new Place(2), new Place(5)]), new Skeleton(new Cache("atom_codes"), [new Place(6), new Place(4)]), new Skeleton(new Cache("atom_integer"), [new Place(6), 16, new Place(1)]), new Skeleton(new Cache("sys_convert_backslash"), [new Place(5), new Place(3)])], 0));
add(new Clause(4, "sys_convert_escape", [new Place(1), new Skeleton(".", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("sys_is_meta"), [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(2, "sys_convert_escape", [undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["illegal_escape"]), undefined])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_convert_backslash", 2])], -1));
add(new Clause(3, "sys_convert_backslash", [new Skeleton(".", [92, 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(2, "sys_convert_backslash", [new Place(0), new Place(1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Frozen("syntax_error", ["unbalanced_escape"]), undefined])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_convert_radix", 4])], -1));
add(new Clause(6, "sys_convert_radix", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Skeleton(".", [new Place(1), new Place(4)]), new Place(5)], [new Skeleton(new Cache("sys_is_radix"), [new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_radix"), [new Place(2), new Place(3), new Place(4), new Place(5)])], 0));
add(new Clause(1, "sys_convert_radix", ["[]", undefined, new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_stream_opts", 2])], -1));
add(new Clause(1, "sys_stream_opts", [new Place(0), 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, "sys_stream_opts", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_stream_opt"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_stream_opts"), [new Place(2), new Place(3)])], 0));
add(new Clause(1, "sys_stream_opts", ["[]", undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_stream_opts", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_stream_opt", 2])], -1));
add(new Clause(1, "sys_stream_opt", [new Place(0), 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, "sys_stream_opt", [new Skeleton("type", [new Place(1)]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_check_type"), [new Place(1), new Place(3)]), new Skeleton(new Cache("ir_object_set"), [new Place(2), "encoding", new Place(3)])], 0));
add(new Clause(1, "sys_stream_opt", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["open_option", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_check_type", 2])], -1));
add(new Clause(1, "sys_check_type", [new Place(0), undefined], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1));
add(new Clause(1, "sys_check_type", ["text", "utf8"], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_check_type", ["binary", "latin1"], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_check_type", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["type", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_open_opts", 2])], -1));
add(new Clause(1, "sys_open_opts", [new Place(0), 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, "sys_open_opts", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_open_opt"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_open_opts"), [new Place(2), new Place(3)])], 0));
add(new Clause(1, "sys_open_opts", ["[]", undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_open_opts", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_open_opt", 2])], -1));
add(new Clause(1, "sys_open_opt", [new Place(0), undefined], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1));
add(new Clause(3, "sys_open_opt", [new Skeleton("method", [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("ir_object_set"), [new Place(2), "method", new Place(1)])], 0));
add(new Clause(4, "sys_open_opt", [new Skeleton("headers", [new Place(1)]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_object_new"), [new Place(3)]), new Skeleton(new Cache("sys_header_opts"), [new Place(1), new Place(3)]), new Skeleton(new Cache("ir_object_set"), [new Place(2), "headers", new Place(3)])], 0));
add(new Clause(4, "sys_open_opt", [new Skeleton("body", [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("ir_object_new"), [new Place(3)]), new Skeleton(new Cache("ir_object_set"), [new Place(3), "text", new Place(1)]), new Skeleton(new Cache("ir_object_set"), [new Place(2), "body", new Place(3)])], 0));
add(new Clause(5, "sys_open_opt", [new Skeleton("body", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("must_be"), ["atom", new Place(1)]), new Skeleton(new Cache("ir_object_new"), [new Place(4)]), new Skeleton(new Cache("ir_object_set"), [new Place(4), "text", new Place(1)]), new Skeleton(new Cache("sys_stream_opts"), [new Place(2), new Place(4)]), new Skeleton(new Cache("ir_object_set"), [new Place(3), "body", new Place(4)])], 0));
add(new Clause(4, "sys_open_opt", [new Skeleton("type", [new Place(1)]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_check_type"), [new Place(1), new Place(3)]), new Skeleton(new Cache("ir_object_set"), [new Place(2), "encoding", new Place(3)])], 0));
add(new Clause(1, "sys_open_opt", [new Skeleton("uri", [undefined]), undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_open_opt", [new Skeleton("status", [undefined]), undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_open_opt", [new Skeleton("fields", [undefined]), undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_open_opt", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["open_option", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_header_opts", 2])], -1));
add(new Clause(1, "sys_header_opts", [new Place(0), 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, "sys_header_opts", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_header_opt"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_header_opts"), [new Place(2), new Place(3)])], 0));
add(new Clause(1, "sys_header_opts", ["[]", undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_header_opts", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_header_opt", 2])], -1));
add(new Clause(1, "sys_header_opt", [new Place(0), 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, "sys_header_opt", [new Skeleton("-", [new Place(1), new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("must_be"), ["atom", new Place(1)]), new Skeleton(new Cache("must_be"), ["atom", new Place(2)]), new Skeleton(new Cache("ir_object_set"), [new Place(3), new Place(1), new Place(2)])], 0));
add(new Clause(1, "sys_header_opt", [new Place(0), undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["pair", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_open_results", 2])], -1));
add(new Clause(3, "sys_open_results", [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2)], [new Skeleton(new Cache("sys_open_result"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_open_results"), [new Place(1), new Place(2)])], -1));
add(new Clause(0, "sys_open_results", ["[]", undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_open_result", 2])], -1));
add(new Clause(0, "sys_open_result", [new Skeleton("method", [undefined]), undefined], [], -1));
add(new Clause(0, "sys_open_result", [new Skeleton("headers", [undefined]), undefined], [], -1));
add(new Clause(1, "sys_open_result", [new Skeleton("body", [undefined]), undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "sys_open_result", [new Skeleton("body", [undefined, undefined]), undefined], [], -1));
add(new Clause(0, "sys_open_result", [new Skeleton("type", [undefined]), undefined], [], -1));
add(new Clause(2, "sys_open_result", [new Skeleton("uri", [new Place(0)]), new Place(1)], [new Skeleton(new Cache("ir_object_current"), [new Place(1), "uri", new Place(0)])], -1));
add(new Clause(2, "sys_open_result", [new Skeleton("status", [new Place(0)]), new Place(1)], [new Skeleton(new Cache("ir_object_current"), [new Place(1), "status", new Place(0)])], -1));
add(new Clause(3, "sys_open_result", [new Skeleton("fields", [new Place(0)]), new Place(1)], [new Skeleton(new Cache("ir_object_current"), [new Place(1), "fields", new Place(2)]), new Skeleton(new Cache("sys_header_results"), [new Place(2), new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_header_results", 2])], -1));
add(new Clause(3, "sys_header_results", [new Place(0), new Place(1)], [new Skeleton(new Cache("ir_object_keys"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_header_results"), [new Place(2), new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_header_results", 3])], -1));
add(new Clause(0, "sys_header_results", ["[]", undefined, "[]"], [], -1));
add(new Clause(5, "sys_header_results", [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Skeleton(".", [new Skeleton("-", [new Place(0), new Place(3)]), new Place(4)])], [new Skeleton(new Cache("ir_object_current"), [new Place(2), new Place(0), new Place(3)]), new Skeleton(new Cache("sys_header_results"), [new Place(1), new Place(2), new Place(4)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_opts", 3])], -1));
add(new Clause(1, "sys_write_opts", [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(6, "sys_write_opts", [new Skeleton(".", [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_write_opt"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_write_opts"), [new Place(2), new Place(5), new Place(4)])], 0));
add(new Clause(2, "sys_write_opts", ["[]", new Place(1), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_write_opts", [new Place(0), undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_opt", 3])], -1));
add(new Clause(1, "sys_write_opt", [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_write_opt", [new Skeleton("variable_names", [new Place(1)]), new Skeleton("h", [undefined, new Place(2), new Place(3), new Place(4)]), new Skeleton("h", [new Place(1), new Place(2), new Place(3), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(5, "sys_write_opt", [new Skeleton("anonymous", [new Place(1)]), new Skeleton("h", [new Place(2), undefined, new Place(3), new Place(4)]), new Skeleton("h", [new Place(2), new Place(1), new Place(3), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(7, "sys_write_opt", [new Skeleton("quoted", [new Place(1)]), new Skeleton("h", [new Place(2), new Place(3), new Place(4), new Place(5)]), new Skeleton("h", [new Place(2), new Place(3), new Place(6), new Place(5)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 1, new Place(4), new Place(6)])], 0));
add(new Clause(7, "sys_write_opt", [new Skeleton("ignore_ops", [new Place(1)]), new Skeleton("h", [new Place(2), new Place(3), new Place(4), new Place(5)]), new Skeleton("h", [new Place(2), new Place(3), new Place(6), new Place(5)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 2, new Place(4), new Place(6)])], 0));
add(new Clause(7, "sys_write_opt", [new Skeleton("numbervars", [new Place(1)]), new Skeleton("h", [new Place(2), new Place(3), new Place(4), new Place(5)]), new Skeleton("h", [new Place(2), new Place(3), new Place(6), new Place(5)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 8, new Place(4), new Place(6)])], 0));
add(new Clause(5, "sys_write_opt", [new Skeleton("priority", [new Place(1)]), new Skeleton("h", [new Place(2), new Place(3), new Place(4), undefined]), new Skeleton("h", [new Place(2), new Place(3), new Place(4), new Place(1)])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(7, "sys_write_opt", [new Skeleton("format", [new Place(1)]), new Skeleton("h", [new Place(2), new Place(3), new Place(4), new Place(5)]), new Skeleton("h", [new Place(2), new Place(3), new Place(6), new Place(5)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 4, new Place(4), new Place(6)])], 0));
add(new Clause(7, "sys_write_opt", [new Skeleton("colorize", [new Place(1)]), new Skeleton("h", [new Place(2), new Place(3), new Place(4), new Place(5)]), new Skeleton("h", [new Place(2), new Place(3), new Place(6), new Place(5)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 16, new Place(4), new Place(6)])], 0));
add(new Clause(1, "sys_write_opt", [new Place(0), undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["write_option", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_opts", 3])], -1));
add(new Clause(1, "sys_read_opts", [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(6, "sys_read_opts", [new Skeleton(".", [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_read_opt"), [new Place(1), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_read_opts"), [new Place(2), new Place(5), new Place(4)])], 0));
add(new Clause(2, "sys_read_opts", ["[]", new Place(1), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(1, "sys_read_opts", [new Place(0), undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_opt", 3])], -1));
add(new Clause(1, "sys_read_opt", [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_read_opt", [new Skeleton("variable_names", [undefined]), new Place(1), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(2, "sys_read_opt", [new Skeleton("singletons", [undefined]), new Place(1), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(3, "sys_read_opt", [new Skeleton("priority", [new Place(1)]), new Skeleton("z", [undefined, new Place(2)]), new Skeleton("z", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(5, "sys_read_opt", [new Skeleton("end_of_file", [new Place(1)]), new Skeleton("z", [new Place(2), new Place(3)]), new Skeleton("z", [new Place(2), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 1, new Place(3), new Place(4)])], 0));
add(new Clause(1, "sys_read_opt", [new Place(0), undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["read_option", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_results", 2])], -1));
add(new Clause(3, "sys_read_results", [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2)], [new Skeleton(new Cache("sys_read_result"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_read_results"), [new Place(1), new Place(2)])], -1));
add(new Clause(0, "sys_read_results", ["[]", undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_result", 2])], -1));
add(new Clause(2, "sys_read_result", [new Skeleton("variable_names", [new Place(0)]), new Skeleton("s", [new Place(1), undefined])], [new Skeleton(new Cache("reverse"), [new Place(1), new Place(0)])], -1));
add(new Clause(2, "sys_read_result", [new Skeleton("singletons", [new Place(0)]), new Skeleton("s", [undefined, new Place(1)])], [new Skeleton(new Cache("reverse"), [new Place(1), new Place(0)])], -1));
add(new Clause(0, "sys_read_result", [new Skeleton("priority", [undefined]), undefined], [], -1));
add(new Clause(0, "sys_read_result", [new Skeleton("end_of_file", [undefined]), undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_opt_boolean", 4])], -1));
add(new Clause(1, "sys_opt_boolean", [new Place(0), undefined, undefined, undefined], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", undefined])])], -1));
add(new Clause(4, "sys_opt_boolean", ["true", new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("\\\/"), [new Place(2), new Place(1)])])], 0));
add(new Clause(4, "sys_opt_boolean", ["false", new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("\/\\"), [new Place(2), new Skeleton(new Cache("\\"), [new Place(1)])])])], 0));
add(new Clause(1, "sys_opt_boolean", [new Place(0), undefined, undefined, undefined], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["boolean", new Place(0)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_proper_atom", 1])], -1));
add(new Clause(3, "sys_proper_atom", [new Skeleton(".", [new Place(0), new Place(1)])], [new Skeleton(new Cache("sys_code_class"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_proper_atom"), [new Place(2), new Skeleton(".", [new Place(0), new Place(1)])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_proper_atom", 2])], -1));
add(new Clause(1, "sys_proper_atom", ["is_ident", new Skeleton(".", [undefined, new Place(0)])], [new Skeleton(new Cache("sys_proper_atom_name"), [new Place(0)])], -1));
add(new Clause(1, "sys_proper_atom", ["is_graphic", new Frozen(".", [46, "[]"])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0));
add(new Clause(1, "sys_proper_atom", ["is_graphic", new Skeleton(".", [47, new Skeleton(".", [42, undefined])])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0));
add(new Clause(1, "sys_proper_atom", ["is_graphic", new Skeleton(".", [undefined, new Place(0)])], [new Skeleton(new Cache("sys_proper_atom_graphic"), [new Place(0)])], -1));
add(new Clause(1, "sys_proper_atom", ["is_solo", new Frozen(".", [39, "[]"])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0));
add(new Clause(1, "sys_proper_atom", ["is_solo", new Frozen(".", [96, "[]"])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0));
add(new Clause(1, "sys_proper_atom", ["is_solo", new Frozen(".", [34, "[]"])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0));
add(new Clause(1, "sys_proper_atom", ["is_solo", new Frozen(".", [37, "[]"])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0));
add(new Clause(0, "sys_proper_atom", ["is_solo", new Skeleton(".", [undefined, "[]"])], [], -1));
add(new Clause(1, "sys_proper_atom", ["is_punct", new Frozen(".", [91, new Frozen(".", [93, "[]"])])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "sys_proper_atom", ["is_punct", new Frozen(".", [123, new Frozen(".", [125, "[]"])])], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_proper_atom_name", 1])], -1));
add(new Clause(4, "sys_proper_atom_name", [new Skeleton(".", [new Place(1), new Place(2)])], [new Skeleton(new Cache("sys_code_class"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_name_class"), [new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_proper_atom_name"), [new Place(2)])], 0));
add(new Clause(0, "sys_proper_atom_name", ["[]"], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_proper_atom_graphic", 1])], -1));
add(new Clause(3, "sys_proper_atom_graphic", [new Skeleton(".", [new Place(1), new Place(2)])], [new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_graphic"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_proper_atom_graphic"), [new Place(2)])], 0));
add(new Clause(0, "sys_proper_atom_graphic", ["[]"], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_escape_codes", 3])], -1));
add(new Clause(6, "sys_escape_codes", [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_code_class"), [new Place(0), new Place(4)]), new Skeleton(new Cache("sys_escape_code"), [new Place(4), new Place(0), new Place(2), new Place(5)]), new Skeleton(new Cache("sys_escape_codes"), [new Place(1), new Place(5), new Place(3)])], -1));
add(new Clause(1, "sys_escape_codes", ["[]", new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_escape_code", 4])], -1));
add(new Clause(5, "sys_escape_code", ["is_cntrl", new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_is_escape"), [new Place(4), new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [92, new Skeleton(".", [new Place(4), new Place(3)])])])], 0));
add(new Clause(4, "sys_escape_code", ["is_cntrl", new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_escape_code2"), [new Place(1), new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_escape_code", ["is_solo", new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_is_meta"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [92, new Skeleton(".", [new Place(1), new Place(3)])])])], 0));
add(new Clause(4, "sys_escape_code", ["is_graphic", new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_is_meta"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [92, new Skeleton(".", [new Place(1), new Place(3)])])])], 0));
add(new Clause(4, "sys_escape_code", ["is_invalid", new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_escape_code2"), [new Place(1), new Place(2), new Place(3)])], 0));
add(new Clause(2, "sys_escape_code", [undefined, new Place(0), new Skeleton(".", [new Place(0), new Place(1)]), new Place(1)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_escape_code2", 3])], -1));
add(new Clause(8, "sys_escape_code2", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("=<"), [new Place(1), 511]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_integer"), [new Place(4), 8, new Place(1)]), new Skeleton(new Cache("atom_codes"), [new Place(4), new Place(5)]), new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [92, new Place(6)])]), new Skeleton(new Cache("sys_escape_codes2"), [new Place(5), new Place(6), new Place(7)]), new Skeleton(new Cache("="), [new Place(7), new Skeleton(".", [92, new Place(3)])])], 0));
add(new Clause(7, "sys_escape_code2", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("atom_integer"), [new Place(3), 16, new Place(0)]), new Skeleton(new Cache("atom_codes"), [new Place(3), new Place(4)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [92, new Skeleton(".", [120, new Place(5)])])]), new Skeleton(new Cache("sys_escape_codes2"), [new Place(4), new Place(5), new Place(6)]), new Skeleton(new Cache("="), [new Place(6), new Skeleton(".", [92, new Place(2)])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_escape_codes2", 3])], -1));
add(new Clause(6, "sys_escape_codes2", [new Skeleton(".", [new Place(1), new Place(2)]), new Place(3), new Place(4)], [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_escape_codes2"), [new Place(2), new Place(5), new Place(4)])], 0));
add(new Clause(1, "sys_escape_codes2", ["[]", new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_numbervars_name", 2])], -1));
add(new Clause(4, "sys_numbervars_name", [new Place(1), new Place(2)], [new Skeleton(new Cache("<"), [new Place(1), 26]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("+"), [new Place(1), 65])]), new Skeleton(new Cache("char_code"), [new Place(2), new Place(3)])], 0));
add(new Clause(6, "sys_numbervars_name", [new Place(0), new Place(1)], [new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("+"), [new Skeleton(new Cache("rem"), [new Place(0), 26]), 65])]), new Skeleton(new Cache("char_code"), [new Place(3), new Place(2)]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("+"), [new Skeleton(new Cache("\/\/"), [new Place(0), 26]), 1])]), new Skeleton(new Cache("atom_integer"), [new Place(5), 10, new Place(4)]), new Skeleton(new Cache("atom_concat"), [new Place(3), new Place(5), new Place(1)])], -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"), ["strings", 3])], -1));
add(new Clause(0, "strings", ["syntax_error.illegal_number", "de", "Keine Nummer."], [], -1));
add(new Clause(0, "strings", ["syntax_error.illegal_date", "de", "Kein Datum."], [], -1));
add(new Clause(0, "strings", ["syntax_error.illegal_layout", "de", "Unerlaubtes Druckbildzeichen in Zeichenkette."], [], -1));
add(new Clause(0, "strings", ["syntax_error.illegal_unicode", "de", "Unerlaubtes Unicodezeichen im Text."], [], -1));
add(new Clause(0, "strings", ["syntax_error.illegal_escape", "de", "Unerlaubte Steuersequenz in Zeichenkette."], [], -1));
add(new Clause(0, "strings", ["syntax_error.unbalanced_escape", "de", "Steuersequenz nicht abgeschlossen."], [], -1));
add(new Clause(0, "strings", ["syntax_error.end_of_file_in_block_comment", "de", "Blockkommentar nicht geschlossen."], [], -1));
add(new Clause(0, "strings", ["syntax_error.singleton_var", "de", "Alleinstehende Variable(n) ~q."], [], -1));
add(new Clause(0, "strings", ["syntax_error.multiton_var", "de", "Mehrfache markierte Variable(n) ~q."], [], -1));
add(new Clause(0, "strings", ["syntax_error.bracket_balance", "de", "Rechte eckige Klammer (\"]\") fehlt."], [], -1));
add(new Clause(0, "strings", ["syntax_error.brace_balance", "de", "Rechte geschweifte Klammer (\"}\") fehlt."], [], -1));
add(new Clause(0, "strings", ["syntax_error.parenthesis_balance", "de", "Rechte runde Klammer (\")\") fehlt."], [], -1));
add(new Clause(0, "strings", ["syntax_error.end_of_clause_expected", "de", "Überflüssiges Token."], [], -1));
add(new Clause(0, "strings", ["syntax_error.operator_clash", "de", "Runde Klammer (\"(\") vor Operator fehlt."], [], -1));
add(new Clause(0, "strings", ["syntax_error.cannot_start_term", "de", "Term fehlt."], [], -1));
add(new Clause(0, "strings", ["syntax_error.doubling_missing", "de", "Anführungszeichen nicht zweifach."], [], -1));
add(new Clause(0, "strings", ["syntax_error.unbalanced_quoted", "de", "Zeichenkette nicht abgeschlossen."], [], -1));
add(new Clause(0, "strings", ["syntax_error.missing_char", "de", "Zeichen fehlt."], [], -1));
add(new Clause(0, "strings", ["syntax_error.illegal_number", "", "Not a number."], [], -1));
add(new Clause(0, "strings", ["syntax_error.illegal_date", "", "Not a date."], [], -1));
add(new Clause(0, "strings", ["syntax_error.illegal_layout", "", "Illegal layout character in string."], [], -1));
add(new Clause(0, "strings", ["syntax_error.illegal_unicode", "", "Illegal Unicode character in text."], [], -1));
add(new Clause(0, "strings", ["syntax_error.illegal_escape", "", "Illegal escape sequence in string."], [], -1));
add(new Clause(0, "strings", ["syntax_error.unbalanced_escape", "", "Escape sequence not closed."], [], -1));
add(new Clause(0, "strings", ["syntax_error.end_of_file_in_block_comment", "", "Block comment not closed."], [], -1));
add(new Clause(0, "strings", ["syntax_error.singleton_var", "", "Singleton variable(s) ~q."], [], -1));
add(new Clause(0, "strings", ["syntax_error.multiton_var", "", "Multiton marked variable(s) ~q."], [], -1));
add(new Clause(0, "strings", ["syntax_error.bracket_balance", "", "Right bracket (\"]\") missing."], [], -1));
add(new Clause(0, "strings", ["syntax_error.brace_balance", "", "Right brace (\"}\") missing."], [], -1));
add(new Clause(0, "strings", ["syntax_error.parenthesis_balance", "", "Right parenthesis (\")\") missing."], [], -1));
add(new Clause(0, "strings", ["syntax_error.end_of_clause_expected", "", "Superfluous token."], [], -1));
add(new Clause(0, "strings", ["syntax_error.operator_clash", "", "Parenthesis (\"(\") before operator missing."], [], -1));
add(new Clause(0, "strings", ["syntax_error.cannot_start_term", "", "Term missing."], [], -1));
add(new Clause(0, "strings", ["syntax_error.doubling_missing", "", "Quote not doubled."], [], -1));
add(new Clause(0, "strings", ["syntax_error.unbalanced_quoted", "", "String not closed."], [], -1));
add(new Clause(0, "strings", ["syntax_error.missing_char", "", "Character missing."], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["write_term", 3])], -1));
add(new Clause(7, "write_term", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_write_opts"), [new Place(2), new Frozen("h", ["[]", "[]", 0, 1200]), new Skeleton("h", [new Place(3), new Place(4), new Place(5), new Place(6)])]), new Skeleton(new Cache("ir_object_set"), [new Place(0), "last", -1]), new Skeleton(new Cache("sys_write_priority"), [new Place(1), new Skeleton("w", [1, new Place(6), 0]), new Skeleton("v", [new Place(0), new Place(5), new Place(3), new Place(4)])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_priority", 3])], -1));
add(new Clause(5, "sys_write_priority", [new Place(1), new Place(2), new Place(3)], [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(4)]), new Skeleton(new Cache("sys_write_priority"), [new Place(4), new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_write_priority", [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)]), new Skeleton(new Cache("sys_write_var"), [new Place(1), new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_write_priority", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("number"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_number"), [new Place(1), new Place(2), new Place(3)])], 0));
add(new Clause(4, "sys_write_priority", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("atom"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_atom"), [new Place(1), new Place(2), new Place(3)])], 0));
add(new Clause(5, "sys_write_priority", [new Skeleton("$VAR", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_flags"), [new Place(3), new Place(4)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(4), 8]), 0]), new Skeleton(new Cache("integer"), [new Place(1)]), new Skeleton(new Cache(">="), [new Place(1), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_numbervars"), [new Place(1), new Place(2), new Place(3)])], 0));
add(new Clause(5, "sys_write_priority", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_flags"), [new Place(3), new Place(4)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(4), 2]), 0]), new Skeleton(new Cache("compound"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_compound"), [new Place(1), new Place(2), new Place(3)])], 0));
add(new Clause(6, "sys_write_priority", [new Skeleton(".", [new Place(1), new Place(2)]), new Skeleton("w", [undefined, undefined, new Place(3)]), new Place(4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(4), new Place(5)]), new Skeleton(new Cache("put_atom"), [new Place(5), "["]), new Skeleton(new Cache("sys_write_priority"), [new Place(1), new Skeleton("w", [1, 999, new Place(3)]), new Place(4)]), new Skeleton(new Cache("sys_write_list"), [new Place(2), new Place(3), new Place(4)]), new Skeleton(new Cache("put_atom"), [new Place(5), "]"])], 0));
add(new Clause(5, "sys_write_priority", [new Skeleton("{}", [new Place(1)]), new Skeleton("w", [undefined, undefined, new Place(2)]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(4)]), new Skeleton(new Cache("put_atom"), [new Place(4), "{"]), new Skeleton(new Cache("sys_write_priority"), [new Place(1), new Skeleton("w", [1, 1200, new Place(2)]), new Place(3)]), new Skeleton(new Cache("put_atom"), [new Place(4), "}"])], 0));
add(new Clause(9, "sys_write_priority", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("functor"), [new Place(1), new Place(4), 1]), new Skeleton(new Cache("sys_op"), [new Place(4), new Place(5), new Place(6), new Place(7), undefined]), new Skeleton(new Cache("sys_is_prefix"), [new Place(5), new Place(8)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_prefix"), [new Place(1), new Place(2), new Place(3), new Place(6), new Place(7), new Place(8)])], 0));
add(new Clause(9, "sys_write_priority", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("functor"), [new Place(1), new Place(4), 1]), new Skeleton(new Cache("sys_op"), [new Place(4), new Place(5), new Place(6), new Place(7), undefined]), new Skeleton(new Cache("sys_is_postfix"), [new Place(5), new Place(8)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_postfix"), [new Place(1), new Place(2), new Place(3), new Place(6), new Place(7), new Place(8)])], 0));
add(new Clause(10, "sys_write_priority", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("functor"), [new Place(1), new Place(4), 2]), new Skeleton(new Cache("sys_op"), [new Place(4), new Place(5), new Place(6), new Place(7), undefined]), new Skeleton(new Cache("sys_is_infix"), [new Place(5), new Place(8), new Place(9)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_infix"), [new Place(1), new Place(2), new Place(3), new Place(6), new Place(7), new Place(8), new Place(9)])], 0));
add(new Clause(4, "sys_write_priority", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("compound"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_compound"), [new Place(1), new Place(2), new Place(3)])], 0));
add(new Clause(3, "sys_write_priority", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_write_exotic"), [new Place(0), new Place(1), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_number", 3])], -1));
add(new Clause(7, "sys_write_number", [new Place(1), new Skeleton("w", [new Place(2), undefined, undefined]), new Place(3)], [new Skeleton(new Cache("float"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_number"), [new Place(4), new Place(1)]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_safe_space"), [new Place(5), new Place(4), new Place(2)]), new Skeleton(new Cache("sys_current_flags"), [new Place(3), new Place(6)]), new Skeleton(new Cache("sys_print_atom"), [new Place(5), new Place(4), new Place(6)])], 0));
add(new Clause(7, "sys_write_number", [new Place(1), new Skeleton("w", [new Place(2), undefined, undefined]), new Place(3)], [new Skeleton(new Cache("integer"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_integer"), [new Place(4), 10, new Place(1)]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_safe_space"), [new Place(5), new Place(4), new Place(2)]), new Skeleton(new Cache("sys_current_flags"), [new Place(3), new Place(6)]), new Skeleton(new Cache("sys_print_atom"), [new Place(5), new Place(4), new Place(6)])], 0));
add(new Clause(4, "sys_write_number", [-Infinity, new Skeleton("w", [new Place(1), undefined, undefined]), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(2), new Place(3)]), new Skeleton(new Cache("put_atom"), [new Place(3), "-"]), new Skeleton(new Cache("sys_put_exotic"), [Infinity, new Place(1), new Place(2)])], 0));
add(new Clause(4, "sys_write_number", [new Place(1), new Skeleton("w", [new Place(2), undefined, undefined]), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_exotic"), [new Place(1), new Place(2), new Place(3)])], 0));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_atom", 3])], -1));
add(new Clause(6, "sys_write_atom", [new Place(1), new Skeleton("w", [new Place(2), undefined, undefined]), new Place(3)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 1]), 0]), new Skeleton(new Cache("sys_op"), [new Place(1), new Place(4), undefined, undefined, undefined]), new Skeleton(new Cache("sys_is_prefix"), [new Place(4), undefined]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_put_lparen"), [new Place(5), 1, 0, 1200, new Place(2), undefined]), new Skeleton(new Cache("sys_put_ident"), [new Place(1), 0, new Place(3), undefined]), new Skeleton(new Cache("put_atom"), [new Place(5), ")"])], 0));
add(new Clause(3, "sys_write_atom", [new Place(0), new Skeleton("w", [new Place(1), undefined, undefined]), new Place(2)], [new Skeleton(new Cache("sys_put_ident"), [new Place(0), new Place(1), new Place(2), undefined])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_exotic", 3])], -1));
add(new Clause(3, "sys_write_exotic", [new Place(0), new Skeleton("w", [new Place(1), undefined, undefined]), new Place(2)], [new Skeleton(new Cache("sys_put_exotic"), [new Place(0), new Place(1), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_numbervars", 3])], -1));
add(new Clause(6, "sys_write_numbervars", [new Place(0), new Skeleton("w", [new Place(1), undefined, undefined]), new Place(2)], [new Skeleton(new Cache("sys_numbervars_name"), [new Place(0), new Place(3)]), new Skeleton(new Cache("sys_current_stream"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_safe_space"), [new Place(4), new Place(3), new Place(1)]), new Skeleton(new Cache("sys_current_flags"), [new Place(2), new Place(5)]), new Skeleton(new Cache("sys_print_atom"), [new Place(4), new Place(3), new Place(5)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_prefix", 6])], -1));
add(new Clause(18, "sys_write_prefix", [new Place(0), new Skeleton("w", [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("=.."), [new Place(0), new Skeleton(".", [new Place(8), new Skeleton(".", [new Place(9), "[]"])])]), new Skeleton(new Cache("sys_current_stream"), [new Place(4), new Place(10)]), new Skeleton(new Cache("sys_current_flags"), [new Place(4), new Place(11)]), new Skeleton(new Cache("sys_put_lparen"), [new Place(10), new Place(7), new Place(2), new Place(5), new Place(1), new Place(12)]), new Skeleton(new Cache("sys_put_adjust"), [new Place(3), new Place(11), new Place(6), new Place(13)]), new Skeleton(new Cache("sys_oper_minus"), [new Place(8), new Place(12), new Place(14)]), new Skeleton(new Cache("sys_put_ident"), [new Place(8), new Place(12), new Place(4), undefined]), new Skeleton(new Cache("sys_put_rspace"), [new Place(10), new Place(6), new Place(14), new Place(15)]), new Skeleton(new Cache("is"), [new Place(16), new Skeleton(new Cache("-"), [new Place(5), new Place(7)])]), new Skeleton(new Cache("is"), [new Place(17), new Skeleton(new Cache("\/\\"), [new Place(15), new Frozen(new Cache("\\"), [8])])]), new Skeleton(new Cache("sys_write_priority"), [new Place(9), new Skeleton("w", [new Place(17), new Place(16), new Place(13)]), new Place(4)]), new Skeleton(new Cache("sys_put_rparen"), [new Place(10), new Place(7), new Place(2), new Place(5), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_postfix", 6])], -1));
add(new Clause(15, "sys_write_postfix", [new Place(0), new Skeleton("w", [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("=.."), [new Place(0), new Skeleton(".", [new Place(8), new Skeleton(".", [new Place(9), "[]"])])]), new Skeleton(new Cache("sys_current_stream"), [new Place(4), new Place(10)]), new Skeleton(new Cache("sys_put_lparen"), [new Place(10), 1, new Place(2), new Place(5), new Place(1), new Place(11)]), new Skeleton(new Cache("sys_oper_escape"), [new Place(8), new Place(11), new Place(12)]), new Skeleton(new Cache("sys_oper_side"), [new Place(7), new Place(12), new Place(13)]), new Skeleton(new Cache("is"), [new Place(14), new Skeleton(new Cache("-"), [new Place(5), new Place(7)])]), new Skeleton(new Cache("sys_write_priority"), [new Place(9), new Skeleton("w", [new Place(13), new Place(14), new Place(3)]), new Place(4)]), new Skeleton(new Cache("sys_put_lspace"), [new Place(10), new Place(6)]), new Skeleton(new Cache("sys_write_oper"), [new Place(8), new Place(4), undefined]), new Skeleton(new Cache("sys_put_rparen"), [new Place(10), 1, new Place(2), new Place(5), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_infix", 7])], -1));
add(new Clause(22, "sys_write_infix", [new Place(0), new Skeleton("w", [new Place(1), new Place(2), new Place(3)]), new Place(4), new Place(5), new Place(6), new Place(7), new Place(8)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(9), new Skeleton(".", [new Place(10), new Skeleton(".", [new Place(11), "[]"])])])]), new Skeleton(new Cache("sys_current_stream"), [new Place(4), new Place(12)]), new Skeleton(new Cache("sys_current_flags"), [new Place(4), new Place(13)]), new Skeleton(new Cache("sys_put_lparen"), [new Place(12), new Place(8), new Place(2), new Place(5), new Place(1), new Place(14)]), new Skeleton(new Cache("sys_put_indent"), [new Place(12), new Place(3), new Place(13), new Place(6), new Place(8), new Place(2), new Place(5), new Place(1), new Place(15)]), new Skeleton(new Cache("sys_oper_escape"), [new Place(9), new Place(14), new Place(16)]), new Skeleton(new Cache("sys_oper_side"), [new Place(7), new Place(16), new Place(17)]), new Skeleton(new Cache("is"), [new Place(18), new Skeleton(new Cache("-"), [new Place(5), new Place(7)])]), new Skeleton(new Cache("sys_write_priority"), [new Place(10), new Skeleton("w", [new Place(17), new Place(18), new Place(15)]), new Place(4)]), new Skeleton(new Cache("sys_put_lformat"), [new Place(12), new Place(15), new Place(13), new Place(6)]), new Skeleton(new Cache("sys_write_oper"), [new Place(9), new Place(4), new Place(19)]), new Skeleton(new Cache("sys_put_rformat"), [new Place(12), new Place(15), new Place(13), new Place(6), new Place(19), new Place(14)]), new Skeleton(new Cache("is"), [new Place(20), new Skeleton(new Cache("-"), [new Place(5), new Place(8)])]), new Skeleton(new Cache("is"), [new Place(21), new Skeleton(new Cache("\/\\"), [new Place(14), new Frozen(new Cache("\\"), [14])])]), new Skeleton(new Cache("sys_write_priority"), [new Place(11), new Skeleton("w", [new Place(21), new Place(20), new Place(15)]), new Place(4)]), new Skeleton(new Cache("sys_put_rparen"), [new Place(12), new Place(8), new Place(2), new Place(5), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_oper", 3])], -1));
add(new Clause(3, "sys_write_oper", [",", new Place(1), ","], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(1), new Place(2)]), new Skeleton(new Cache("put_atom"), [new Place(2), ","])], 0));
add(new Clause(3, "sys_write_oper", ["|", new Place(1), "|"], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(1), new Place(2)]), new Skeleton(new Cache("put_atom"), [new Place(2), "|"])], 0));
add(new Clause(3, "sys_write_oper", [".", new Place(1), "."], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(1), new Place(2)]), new Skeleton(new Cache("put_atom"), [new Place(2), "."])], 0));
add(new Clause(3, "sys_write_oper", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_put_ident"), [new Place(0), 0, new Place(1), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_list", 3])], -1));
add(new Clause(5, "sys_write_list", [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)]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(4)]), new Skeleton(new Cache("put_atom"), [new Place(4), "|"]), new Skeleton(new Cache("sys_write_priority"), [new Place(1), new Skeleton("w", [1, 999, new Place(2)]), new Place(3)])], 0));
add(new Clause(6, "sys_write_list", [new Skeleton(".", [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_current_stream"), [new Place(4), new Place(5)]), new Skeleton(new Cache("put_atom"), [new Place(5), ", "]), new Skeleton(new Cache("sys_write_priority"), [new Place(1), new Skeleton("w", [1, 999, new Place(3)]), new Place(4)]), new Skeleton(new Cache("sys_write_list"), [new Place(2), new Place(3), new Place(4)])], 0));
add(new Clause(1, "sys_write_list", ["[]", undefined, undefined], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(4, "sys_write_list", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_current_stream"), [new Place(2), new Place(3)]), new Skeleton(new Cache("put_atom"), [new Place(3), "|"]), new Skeleton(new Cache("sys_write_priority"), [new Place(0), new Skeleton("w", [1, 999, new Place(1)]), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_compound", 3])], -1));
add(new Clause(8, "sys_write_compound", [new Place(0), new Skeleton("w", [new Place(1), undefined, new Place(2)]), new Place(3)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(4), new Skeleton(".", [new Place(5), new Place(6)])])]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(7)]), new Skeleton(new Cache("sys_put_symbol"), [new Place(4), new Place(1), new Place(3)]), new Skeleton(new Cache("put_atom"), [new Place(7), "("]), new Skeleton(new Cache("sys_write_priority"), [new Place(5), new Skeleton("w", [1, 999, new Place(2)]), new Place(3)]), new Skeleton(new Cache("sys_write_args"), [new Place(6), new Place(2), new Place(3)]), new Skeleton(new Cache("put_atom"), [new Place(7), ")"])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_symbol", 3])], -1));
add(new Clause(4, "sys_put_symbol", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("atom"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_ident"), [new Place(1), new Place(2), new Place(3), undefined])], 0));
add(new Clause(3, "sys_put_symbol", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_put_exotic"), [new Place(0), new Place(1), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_args", 3])], -1));
add(new Clause(5, "sys_write_args", [new Skeleton(".", [new Place(0), new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(4)]), new Skeleton(new Cache("put_atom"), [new Place(4), ", "]), new Skeleton(new Cache("sys_write_priority"), [new Place(0), new Skeleton("w", [1, 999, new Place(2)]), new Place(3)]), new Skeleton(new Cache("sys_write_args"), [new Place(1), new Place(2), new Place(3)])], -1));
add(new Clause(0, "sys_write_args", ["[]", undefined, undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_var", 3])], -1));
add(new Clause(6, "sys_write_var", [new Place(1), new Skeleton("w", [new Place(2), undefined, undefined]), new Place(3)], [new Skeleton(new Cache("sys_current_names"), [new Place(3), new Place(4)]), new Skeleton(new Cache("sys_find_var"), [new Place(1), new Place(4), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_name"), [new Place(5), new Place(2), new Place(3)])], 0));
add(new Clause(5, "sys_write_var", [new Place(1), new Skeleton("w", [new Place(2), undefined, undefined]), new Place(3)], [new Skeleton(new Cache("sys_current_anons"), [new Place(3), new Place(4)]), new Skeleton(new Cache("sys_find_sing"), [new Place(1), new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_name"), ["_", new Place(2), new Place(3)])], 0));
add(new Clause(8, "sys_write_var", [new Place(0), new Skeleton("w", [new Place(1), undefined, undefined]), new Place(2)], [new Skeleton(new Cache("term_hash"), [new Place(0), new Place(3)]), new Skeleton(new Cache("atom_integer"), [new Place(4), 10, new Place(3)]), new Skeleton(new Cache("atom_concat"), ["_", new Place(4), new Place(5)]), new Skeleton(new Cache("sys_current_stream"), [new Place(2), new Place(6)]), new Skeleton(new Cache("sys_safe_space"), [new Place(6), new Place(5), new Place(1)]), new Skeleton(new Cache("sys_current_flags"), [new Place(2), new Place(7)]), new Skeleton(new Cache("sys_print_atom"), [new Place(6), new Place(5), new Place(7)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_find_var", 3])], -1));
add(new Clause(5, "sys_find_var", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("member"), [new Skeleton("=", [new Place(3), new Place(4)]), new Place(2)]), new Skeleton(new Cache("=="), [new Place(1), new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_find_sing", 2])], -1));
add(new Clause(4, "sys_find_sing", [new Place(1), new Place(2)], [new Skeleton(new Cache("member"), [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));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_write_name", 3])], -1));
add(new Clause(6, "sys_write_name", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_current_flags"), [new Place(2), new Place(3)]), new Skeleton(new Cache("sys_var_quoted"), [new Place(0), new Place(3), new Place(4)]), new Skeleton(new Cache("sys_current_stream"), [new Place(2), new Place(5)]), new Skeleton(new Cache("sys_safe_space"), [new Place(5), new Place(4), new Place(1)]), new Skeleton(new Cache("sys_print_atom"), [new Place(5), new Place(4), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_var_quoted", 3])], -1));
add(new Clause(6, "sys_var_quoted", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 1]), 0]), new Skeleton(new Cache("atom_codes"), [new Place(1), new Place(4)]), new Skeleton(make_defined([new Clause(2, "", [new Place(1)], [new Skeleton(new Cache("sys_proper_var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0), new Clause(0, "", [undefined], [], -1)]), [new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_escape_codes"), [new Place(4), new Place(5), new Frozen(".", [96, "[]"])]), new Skeleton(new Cache("atom_codes"), [new Place(3), new Skeleton(".", [96, new Place(5)])])], 0));
add(new Clause(1, "sys_var_quoted", [new Place(0), undefined, new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_proper_var", 1])], -1));
add(new Clause(3, "sys_proper_var", [new Skeleton(".", [new Place(0), new Place(1)])], [new Skeleton(new Cache("sys_code_class"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_proper_var"), [new Place(2), new Skeleton(".", [new Place(0), new Place(1)])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_proper_var", 2])], -1));
add(new Clause(1, "sys_proper_var", ["is_upper", new Skeleton(".", [undefined, new Place(0)])], [new Skeleton(new Cache("sys_proper_atom_name"), [new Place(0)])], -1));
add(new Clause(1, "sys_proper_var", ["is_score", new Skeleton(".", [undefined, new Place(0)])], [new Skeleton(new Cache("sys_proper_atom_name"), [new Place(0)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_adjust", 4])], -1));
add(new Clause(3, "sys_put_adjust", [new Place(1), new Place(2), undefined, new Place(1)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 4]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(4, "sys_put_adjust", [new Place(1), undefined, new Place(2), new Place(3)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 12]), 12]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("+"), [new Place(1), 3])])], 0));
add(new Clause(1, "sys_put_adjust", [new Place(0), undefined, undefined, new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_indent", 9])], -1));
add(new Clause(3, "sys_put_indent", [undefined, new Place(1), new Place(2), undefined, undefined, undefined, undefined, undefined, new Place(1)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 4]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(3, "sys_put_indent", [undefined, new Place(1), undefined, new Place(2), undefined, undefined, undefined, undefined, new Place(1)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 12]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(4, "sys_put_indent", [undefined, new Place(1), undefined, new Place(2), undefined, undefined, undefined, undefined, new Place(3)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 12]), 12]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("+"), [new Place(1), 3])])], 0));
add(new Clause(8, "sys_put_indent", [new Place(1), new Place(2), undefined, undefined, new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)], [new Skeleton(new Cache("sys_needs_paren"), [new Place(3), new Place(4), new Place(5), new Place(6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("tab"), [new Place(1), 2]), new Skeleton(new Cache("is"), [new Place(7), new Skeleton(new Cache("+"), [new Place(2), 3])])], 0));
add(new Clause(1, "sys_put_indent", [undefined, new Place(0), undefined, undefined, undefined, undefined, undefined, undefined, new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_lparen", 6])], -1));
add(new Clause(7, "sys_put_lparen", [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)], [new Skeleton(new Cache("sys_needs_paren"), [new Place(2), new Place(3), new Place(4), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_lparen2"), [new Place(1), new Place(5), new Place(6)])], 0));
add(new Clause(1, "sys_put_lparen", [undefined, undefined, undefined, undefined, new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_lparen2", 3])], -1));
add(new Clause(4, "sys_put_lparen2", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 2]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), " ("]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("\\\/"), [new Skeleton(new Cache("\/\\"), [new Place(2), new Frozen(new Cache("\\"), [6])]), 1])])], 0));
add(new Clause(3, "sys_put_lparen2", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("put_atom"), [new Place(0), "("]), new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("\\\/"), [new Place(1), 1])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_rparen", 5])], -1));
add(new Clause(6, "sys_put_rparen", [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("sys_needs_paren"), [new Place(2), new Place(3), new Place(4), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), ")"])], 0));
add(new Clause(0, "sys_put_rparen", [undefined, undefined, undefined, undefined, undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_needs_paren", 4])], -1));
add(new Clause(3, "sys_needs_paren", [undefined, new Place(1), 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(2, "sys_needs_paren", [0, new Place(0), new Place(0), new Place(1)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(1), 8]), 0])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_lformat", 4])], -1));
add(new Clause(4, "sys_put_lformat", [new Place(1), undefined, new Place(2), new Place(3)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 4]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_lspace"), [new Place(1), new Place(3)])], 0));
add(new Clause(3, "sys_put_lformat", [new Place(1), undefined, undefined, new Place(2)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 12]), 8]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_lspace"), [new Place(1), new Place(2)])], 0));
add(new Clause(3, "sys_put_lformat", [new Place(0), new Place(1), undefined, undefined], [new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("-"), [new Place(1), 3])]), new Skeleton(new Cache("nl"), [new Place(0)]), new Skeleton(new Cache("tab"), [new Place(0), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_rformat", 6])], -1));
add(new Clause(5, "sys_put_rformat", [new Place(1), undefined, new Place(2), new Place(3), undefined, new Place(4)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 4]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_rspace"), [new Place(1), new Place(3), new Place(4), undefined])], 0));
add(new Clause(4, "sys_put_rformat", [new Place(1), undefined, undefined, new Place(2), undefined, new Place(3)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 12]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_rspace"), [new Place(1), new Place(2), new Place(3), undefined])], 0));
add(new Clause(4, "sys_put_rformat", [new Place(1), new Place(2), undefined, new Place(3), undefined, undefined], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(3), 12]), 8]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("nl"), [new Place(1)]), new Skeleton(new Cache("tab"), [new Place(1), new Place(2)])], 0));
add(new Clause(4, "sys_put_rformat", [new Place(0), undefined, undefined, undefined, new Place(1), undefined], [new Skeleton(new Cache("atom_length"), [new Place(1), new Place(2)]), new Skeleton(new Cache("is"), [new Place(3), new Skeleton(new Cache("-"), [3, new Place(2)])]), new Skeleton(new Cache("tab"), [new Place(0), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_lspace", 2])], -1));
add(new Clause(3, "sys_put_lspace", [new Place(1), new Place(2)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 2]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), " "])], 0));
add(new Clause(0, "sys_put_lspace", [undefined, undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_rspace", 4])], -1));
add(new Clause(5, "sys_put_rspace", [new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), " "]), new Skeleton(new Cache("is"), [new Place(4), new Skeleton(new Cache("\/\\"), [new Place(3), new Frozen(new Cache("\\"), [6])])])], 0));
add(new Clause(2, "sys_put_rspace", [undefined, undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("is"), [new Place(1), new Skeleton(new Cache("\\\/"), [new Place(0), 2])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_oper_side", 3])], -1));
add(new Clause(3, "sys_oper_side", [0, new Place(1), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("\\\/"), [new Place(1), 8])])], 0));
add(new Clause(2, "sys_oper_side", [undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("is"), [new Place(1), new Skeleton(new Cache("\/\\"), [new Place(0), new Frozen(new Cache("\\"), [8])])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_oper_minus", 3])], -1));
add(new Clause(3, "sys_oper_minus", ["-", new Place(1), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("\\\/"), [new Place(1), 4])])], 0));
add(new Clause(2, "sys_oper_minus", [undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("is"), [new Place(1), new Skeleton(new Cache("\/\\"), [new Place(0), new Frozen(new Cache("\\"), [4])])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_oper_escape", 3])], -1));
add(new Clause(3, "sys_oper_escape", [",", new Place(1), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("\\\/"), [new Place(1), 1])])], 0));
add(new Clause(3, "sys_oper_escape", ["|", new Place(1), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("\\\/"), [new Place(1), 1])])], 0));
add(new Clause(2, "sys_oper_escape", [undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("is"), [new Place(1), new Skeleton(new Cache("\/\\"), [new Place(0), new Frozen(new Cache("\\"), [1])])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_current_stream", 2])], -1));
add(new Clause(1, "sys_current_stream", [new Skeleton("v", [new Place(0), undefined, undefined, undefined]), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_current_flags", 2])], -1));
add(new Clause(1, "sys_current_flags", [new Skeleton("v", [undefined, new Place(0), undefined, undefined]), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_current_names", 2])], -1));
add(new Clause(1, "sys_current_names", [new Skeleton("v", [undefined, undefined, new Place(0), undefined]), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_current_anons", 2])], -1));
add(new Clause(1, "sys_current_anons", [new Skeleton("v", [undefined, undefined, undefined, new Place(0)]), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_ident", 4])], -1));
add(new Clause(6, "sys_put_ident", [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_flags"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_atom_quoted"), [new Place(0), new Place(4), new Place(3)]), new Skeleton(new Cache("sys_current_stream"), [new Place(2), new Place(5)]), new Skeleton(new Cache("sys_safe_space"), [new Place(5), new Place(3), new Place(1)]), new Skeleton(new Cache("sys_print_atom"), [new Place(5), new Place(3), new Place(4)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_atom_quoted", 3])], -1));
add(new Clause(6, "sys_atom_quoted", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 1]), 0]), new Skeleton(new Cache("atom_codes"), [new Place(1), new Place(4)]), new Skeleton(make_defined([new Clause(2, "", [new Place(1)], [new Skeleton(new Cache("sys_proper_atom"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0), new Clause(0, "", [undefined], [], -1)]), [new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_escape_codes"), [new Place(4), new Place(5), new Frozen(".", [39, "[]"])]), new Skeleton(new Cache("atom_codes"), [new Place(3), new Skeleton(".", [39, new Place(5)])])], 0));
add(new Clause(1, "sys_atom_quoted", [new Place(0), undefined, new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_put_exotic", 3])], -1));
add(new Clause(7, "sys_put_exotic", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_current_flags"), [new Place(2), new Place(3)]), new Skeleton(new Cache("sys_unconvert_exotic"), [new Place(4), new Place(0)]), new Skeleton(new Cache("sys_exotic_quoted"), [new Place(4), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_current_stream"), [new Place(2), new Place(6)]), new Skeleton(new Cache("sys_safe_space"), [new Place(6), new Place(5), new Place(1)]), new Skeleton(new Cache("sys_print_atom"), [new Place(6), new Place(5), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_unconvert_exotic", 2])], -1));
add(new Clause(3, "sys_unconvert_exotic", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_atom_exotic"), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(2, "sys_unconvert_exotic", ["Special", new Place(1)], [new Skeleton(new Cache("number"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0));
add(new Clause(0, "sys_unconvert_exotic", ["Reference", undefined], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_exotic_quoted", 3])], -1));
add(new Clause(4, "sys_exotic_quoted", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_concat"), ["0r", new Place(1), new Place(3)])], 0));
add(new Clause(1, "sys_exotic_quoted", [new Place(0), undefined, new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_term", 4])], -1));
add(new Clause(9, "sys_read_term", [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_read_opts"), [new Place(2), new Frozen("z", [1200, 0]), new Skeleton("z", [new Place(4), new Place(5)])]), new Skeleton(new Cache("sys_next_token"), [new Skeleton("t", ["-", new Place(5), new Skeleton("r", [new Place(1), new Place(0)]), new Frozen("s", ["[]", "[]"])]), new Place(6)]), new Skeleton(new Cache("sys_read_optional"), [new Place(7), new Place(4), new Place(6), new Skeleton("t", [undefined, undefined, undefined, new Place(8)])]), new Skeleton(new Cache("sys_read_results"), [new Place(2), new Place(8)]), new Skeleton(new Cache("="), [new Place(3), new Place(7)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_optional", 4])], -1));
add(new Clause(4, "sys_read_optional", ["end_of_file", undefined, new Place(1), new Place(2)], [new Skeleton(new Cache("sys_current_token"), ["end_of_file", new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(2)])], 0));
add(new Clause(5, "sys_read_optional", [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_read_priority"), [new Place(0), new Place(1), new Place(2), new Place(4)]), new Skeleton(new Cache("sys_read_end_of_term"), [new Place(4), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_end_of_term", 2])], -1));
add(new Clause(5, "sys_read_end_of_term", [new Place(1), new Place(2)], [new Skeleton(new Cache("sys_current_options"), [new Place(3), new Place(1), new Place(4)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(3), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_read_end"), ["end_of_file", new Place(4), new Place(2)])], 0));
add(new Clause(2, "sys_read_end_of_term", [new Place(0), new Place(1)], [new Skeleton(new Cache("sys_read_end"), [".", new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_priority", 4])], -1));
add(new Clause(11, "sys_read_priority", [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_token"), [new Place(4), new Place(2), new Place(5)]), new Skeleton(new Cache("sys_read_factor"), [new Place(4), new Place(6), new Place(1), new Place(7), new Place(5), new Place(8)]), new Skeleton(new Cache("sys_current_token"), [new Place(9), new Place(8), new Place(10)]), new Skeleton(new Cache("sys_read_secondary"), [new Place(9), new Place(6), new Place(0), new Place(1), new Place(7), new Place(10), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_secondary", 7])], -1));
add(new Clause(8, "sys_read_secondary", [new Skeleton("atom", [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_read_infix"), [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)])], 0));
add(new Clause(8, "sys_read_secondary", [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("="), [new Place(1), ","]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_read_infix"), [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)])], 0));
add(new Clause(8, "sys_read_secondary", [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("="), [new Place(1), "|"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_read_infix"), [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)])], 0));
add(new Clause(2, "sys_read_secondary", [undefined, new Place(0), new Place(0), undefined, undefined, new Place(1), new Place(1)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_infix", 7])], -1));
add(new Clause(20, "sys_read_infix", [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("sys_op"), [new Place(1), new Place(8), new Place(9), undefined, undefined]), new Skeleton(new Cache("sys_is_infix"), [new Place(8), new Place(10), new Place(11)]), new Skeleton(new Cache(">="), [new Place(4), new Place(9)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_token"), [new Place(6), new Place(12)]), new Skeleton(make_defined([new Clause(6, "", [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("<"), [new Skeleton(new Cache("-"), [new Place(1), new Place(2)]), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Frozen("syntax_error", ["operator_clash"]), undefined]), new Place(4), new Place(5)])], 0), new Clause(2, "", [undefined, undefined, undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1)]), [new Place(9), new Place(10), new Place(5), new Place(12), new Place(13)]), new Skeleton(new Cache("is"), [new Place(14), new Skeleton(new Cache("-"), [new Place(9), new Place(11)])]), new Skeleton(new Cache("sys_read_priority"), [new Place(15), new Place(14), new Place(13), new Place(16)]), new Skeleton(new Cache("=.."), [new Place(17), new Skeleton(".", [new Place(1), new Skeleton(".", [new Place(2), new Skeleton(".", [new Place(15), "[]"])])])]), new Skeleton(new Cache("sys_current_token"), [new Place(18), new Place(16), new Place(19)]), new Skeleton(new Cache("sys_read_secondary"), [new Place(18), new Place(17), new Place(3), new Place(4), new Place(9), new Place(19), new Place(7)])], 0));
add(new Clause(16, "sys_read_infix", [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("sys_op"), [new Place(1), new Place(8), new Place(9), undefined, undefined]), new Skeleton(new Cache("sys_is_postfix"), [new Place(8), new Place(10)]), new Skeleton(new Cache(">="), [new Place(4), new Place(9)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_token"), [new Place(6), new Place(11)]), new Skeleton(make_defined([new Clause(6, "", [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("<"), [new Skeleton(new Cache("-"), [new Place(1), new Place(2)]), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Frozen("syntax_error", ["operator_clash"]), undefined]), new Place(4), new Place(5)])], 0), new Clause(2, "", [undefined, undefined, undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1)]), [new Place(9), new Place(10), new Place(5), new Place(11), new Place(12)]), new Skeleton(new Cache("=.."), [new Place(13), new Skeleton(".", [new Place(1), new Skeleton(".", [new Place(2), "[]"])])]), new Skeleton(new Cache("sys_current_token"), [new Place(14), new Place(12), new Place(15)]), new Skeleton(new Cache("sys_read_secondary"), [new Place(14), new Place(13), new Place(3), new Place(4), new Place(9), new Place(15), new Place(7)])], 0));
add(new Clause(2, "sys_read_infix", [undefined, new Place(0), new Place(0), undefined, undefined, new Place(1), new Place(1)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_lookup_var", 4])], -1));
add(new Clause(7, "sys_lookup_var", [new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("sys_current_vars"), [new Place(5), new Place(3), new Place(6)]), new Skeleton(new Cache("member"), [new Skeleton("=", [new Place(1), new Place(2)]), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_remove_anon"), [new Place(1), new Place(6), new Place(4)])], 0));
add(new Clause(9, "sys_lookup_var", [new Place(0), new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_vars"), [new Place(4), new Place(2), new Place(5)]), new Skeleton(new Cache("sys_set_vars"), [new Skeleton(".", [new Skeleton("=", [new Place(0), new Place(1)]), new Place(4)]), new Place(5), new Place(6)]), new Skeleton(new Cache("sys_current_sings"), [new Place(7), new Place(6), new Place(8)]), new Skeleton(new Cache("sys_set_sings"), [new Skeleton(".", [new Skeleton("=", [new Place(0), new Place(1)]), new Place(7)]), new Place(8), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_remove_anon", 3])], -1));
add(new Clause(7, "sys_remove_anon", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_sings"), [new Place(4), new Place(2), new Place(5)]), new Skeleton(new Cache("select"), [new Skeleton("=", [new Place(1), undefined]), new Place(4), new Place(6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_set_sings"), [new Place(6), new Place(5), new Place(3)])], 0));
add(new Clause(1, "sys_remove_anon", [undefined, new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_current_token", 3])], -1));
add(new Clause(4, "sys_current_token", [new Place(0), new Skeleton("t", [new Place(0), new Place(1), new Place(2), new Place(3)]), new Skeleton("t", [new Place(0), new Place(1), new Place(2), new Place(3)])], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_current_options", 3])], -1));
add(new Clause(4, "sys_current_options", [new Place(0), new Skeleton("t", [new Place(1), new Place(0), new Place(2), new Place(3)]), new Skeleton("t", [new Place(1), new Place(0), new Place(2), new Place(3)])], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_reach_code", 3])], -1));
add(new Clause(5, "sys_reach_code", [new Place(0), new Skeleton("t", [new Place(1), new Place(2), new Skeleton("r", [new Place(3), new Place(0)]), new Place(4)]), new Skeleton("t", [new Place(1), new Place(2), new Skeleton("r", [new Place(3), new Place(0)]), new Place(4)])], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_current_vars", 3])], -1));
add(new Clause(5, "sys_current_vars", [new Place(0), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [new Place(0), new Place(4)])]), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [new Place(0), new Place(4)])])], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_set_vars", 3])], -1));
add(new Clause(5, "sys_set_vars", [new Place(0), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [undefined, new Place(4)])]), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [new Place(0), new Place(4)])])], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_current_sings", 3])], -1));
add(new Clause(5, "sys_current_sings", [new Place(0), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [new Place(4), new Place(0)])]), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [new Place(4), new Place(0)])])], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_set_sings", 3])], -1));
add(new Clause(5, "sys_set_sings", [new Place(0), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [new Place(4), undefined])]), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [new Place(4), new Place(0)])])], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_factor", 6])], -1));
add(new Clause(10, "sys_read_factor", [new Skeleton("atom", [new Place(1)]), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_reach_code"), [new Place(7), new Place(5), new Place(8)]), new Skeleton(new Cache("sys_next_token"), [new Place(8), new Place(9)]), new Skeleton(new Cache("sys_read_atom"), [new Place(7), new Place(1), new Place(2), new Place(3), new Place(4), new Place(9), new Place(6)])], 0));
add(new Clause(3, "sys_read_factor", ["anon", undefined, undefined, 0, new Place(1), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_token"), [new Place(1), new Place(2)])], 0));
add(new Clause(6, "sys_read_factor", [new Skeleton("var", [new Place(1)]), new Place(2), undefined, 0, new Place(3), new Place(4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_lookup_var"), [new Place(1), new Place(2), new Place(3), new Place(5)]), new Skeleton(new Cache("sys_next_token"), [new Place(5), new Place(4)])], 0));
add(new Clause(9, "sys_read_factor", ["[", new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_token"), [new Place(4), new Place(6)]), new Skeleton(new Cache("sys_current_token"), [new Place(7), new Place(6), new Place(8)]), new Skeleton(new Cache("sys_read_list"), [new Place(7), new Place(1), new Place(2), new Place(3), new Place(8), new Place(5)])], 0));
add(new Clause(9, "sys_read_factor", ["{", new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_token"), [new Place(4), new Place(6)]), new Skeleton(new Cache("sys_current_token"), [new Place(7), new Place(6), new Place(8)]), new Skeleton(new Cache("sys_read_set"), [new Place(7), new Place(1), new Place(2), new Place(3), new Place(8), new Place(5)])], 0));
add(new Clause(7, "sys_read_factor", ["(", new Place(1), undefined, 0, new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_token"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_read_priority"), [new Place(1), 1200, new Place(4), new Place(5)]), new Skeleton(new Cache("sys_read_end"), [")", new Place(5), new Place(6)]), new Skeleton(new Cache("sys_next_token"), [new Place(6), new Place(3)])], 0));
add(new Clause(4, "sys_read_factor", [new Skeleton("const", [new Place(1)]), new Place(1), undefined, 0, new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_token"), [new Place(2), new Place(3)])], 0));
add(new Clause(2, "sys_read_factor", [undefined, undefined, undefined, undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Frozen("syntax_error", ["cannot_start_term"]), undefined]), new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_atom", 7])], -1));
add(new Clause(13, "sys_read_atom", [40, new Place(1), new Place(2), undefined, 0, new Place(3), new Place(4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_token"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_read_priority"), [new Place(6), 999, new Place(5), new Place(7)]), new Skeleton(new Cache("sys_current_token"), [new Place(8), new Place(7), new Place(9)]), new Skeleton(new Cache("sys_read_args"), [new Place(8), new Place(10), new Place(9), new Place(11)]), new Skeleton(new Cache("sys_read_end"), [")", new Place(11), new Place(12)]), new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [new Place(1), new Skeleton(".", [new Place(6), new Place(10)])])]), new Skeleton(new Cache("sys_next_token"), [new Place(12), new Place(4)])], 0));
add(new Clause(11, "sys_read_atom", [new Place(1), "-", new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)], [new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_digit"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_token"), [new Place(7), new Place(5), new Place(8)]), new Skeleton(new Cache("sys_read_factor"), [new Place(7), new Place(9), new Place(3), new Place(4), new Place(8), new Place(10)]), new Skeleton(new Cache("sys_read_neg"), [new Place(9), new Place(2), new Place(10), new Place(6)])], 0));
add(new Clause(12, "sys_read_atom", [undefined, new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)], [new Skeleton(new Cache("sys_op"), [new Place(1), new Place(7), new Place(8), undefined, undefined]), new Skeleton(new Cache("sys_is_prefix"), [new Place(7), new Place(9)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_token"), [new Place(10), new Place(5), new Place(11)]), new Skeleton(new Cache("sys_read_prefix"), [new Place(10), new Place(2), new Place(1), new Place(3), new Place(8), new Place(9), new Place(4), new Place(11), new Place(6)])], 0));
add(new Clause(2, "sys_read_atom", [undefined, new Place(0), new Place(0), undefined, 0, new Place(1), new Place(1)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_prefix", 9])], -1));
add(new Clause(4, "sys_read_prefix", [",", new Place(1), new Place(1), undefined, undefined, undefined, 0, 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(4, "sys_read_prefix", ["|", new Place(1), new Place(1), undefined, undefined, undefined, 0, 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(4, "sys_read_prefix", [")", new Place(1), new Place(1), undefined, undefined, undefined, 0, 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(4, "sys_read_prefix", ["]", new Place(1), new Place(1), undefined, undefined, undefined, 0, 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(4, "sys_read_prefix", ["}", new Place(1), new Place(1), undefined, undefined, undefined, 0, 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(4, "sys_read_prefix", [".", new Place(1), new Place(1), undefined, undefined, undefined, 0, 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(11, "sys_read_prefix", [undefined, new Place(0), new Place(1), new Place(2), new Place(3), new Place(4), new Place(3), new Place(5), new Place(6)], [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("sys_sync_throw"), [new Skeleton("error", [new Frozen("syntax_error", ["operator_clash"]), undefined]), new Place(3), new Place(4)])], 0), new Clause(2, "", [undefined, undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1)]), [new Place(2), new Place(3), new Place(5), new Place(7)]), new Skeleton(new Cache("is"), [new Place(8), new Skeleton(new Cache("-"), [new Place(3), new Place(4)])]), new Skeleton(new Cache("sys_read_priority"), [new Place(9), new Place(8), new Place(7), new Place(10)]), new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(1), new Skeleton(".", [new Place(9), "[]"])])]), new Skeleton(new Cache("="), [new Place(10), new Place(6)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_neg", 4])], -1));
add(new Clause(5, "sys_read_neg", [new Place(1), new Place(2), new Place(3), new Place(4)], [new Skeleton(new Cache("number"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("is"), [new Place(2), new Skeleton(new Cache("-"), [new Place(1)])]), new Skeleton(new Cache("="), [new Place(3), new Place(4)])], 0));
add(new Clause(2, "sys_read_neg", [undefined, undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Frozen("syntax_error", ["illegal_number"]), undefined]), new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_args", 4])], -1));
add(new Clause(9, "sys_read_args", [",", new Skeleton(".", [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_next_token"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_read_priority"), [new Place(1), 999, new Place(5), new Place(6)]), new Skeleton(new Cache("sys_current_token"), [new Place(7), new Place(6), new Place(8)]), new Skeleton(new Cache("sys_read_args"), [new Place(7), new Place(2), new Place(8), new Place(4)])], 0));
add(new Clause(1, "sys_read_args", [undefined, "[]", new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_list", 6])], -1));
add(new Clause(9, "sys_read_list", ["]", new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_reach_code"), [new Place(6), new Place(4), new Place(7)]), new Skeleton(new Cache("sys_next_token"), [new Place(7), new Place(8)]), new Skeleton(new Cache("sys_read_atom"), [new Place(6), "[]", new Place(1), new Place(2), new Place(3), new Place(8), new Place(5)])], 0));
add(new Clause(9, "sys_read_list", [undefined, new Skeleton(".", [new Place(0), new Place(1)]), undefined, 0, new Place(2), new Place(3)], [new Skeleton(new Cache("sys_read_priority"), [new Place(0), 999, new Place(2), new Place(4)]), new Skeleton(new Cache("sys_current_token"), [new Place(5), new Place(4), new Place(6)]), new Skeleton(new Cache("sys_read_rest"), [new Place(5), new Place(1), new Place(6), new Place(7)]), new Skeleton(new Cache("sys_read_end"), ["]", new Place(7), new Place(8)]), new Skeleton(new Cache("sys_next_token"), [new Place(8), new Place(3)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_rest", 4])], -1));
add(new Clause(9, "sys_read_rest", [",", new Skeleton(".", [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_next_token"), [new Place(3), new Place(5)]), new Skeleton(new Cache("sys_read_priority"), [new Place(1), 999, new Place(5), new Place(6)]), new Skeleton(new Cache("sys_current_token"), [new Place(7), new Place(6), new Place(8)]), new Skeleton(new Cache("sys_read_rest"), [new Place(7), new Place(2), new Place(8), new Place(4)])], 0));
add(new Clause(5, "sys_read_rest", ["|", new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_next_token"), [new Place(2), new Place(4)]), new Skeleton(new Cache("sys_read_priority"), [new Place(1), 999, new Place(4), new Place(3)])], 0));
add(new Clause(1, "sys_read_rest", [undefined, "[]", new Place(0), new Place(0)], [], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_set", 6])], -1));
add(new Clause(9, "sys_read_set", ["}", new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_reach_code"), [new Place(6), new Place(4), new Place(7)]), new Skeleton(new Cache("sys_next_token"), [new Place(7), new Place(8)]), new Skeleton(new Cache("sys_read_atom"), [new Place(6), "{}", new Place(1), new Place(2), new Place(3), new Place(8), new Place(5)])], 0));
add(new Clause(5, "sys_read_set", [undefined, new Skeleton("{}", [new Place(0)]), undefined, 0, new Place(1), new Place(2)], [new Skeleton(new Cache("sys_read_priority"), [new Place(0), 1200, new Place(1), new Place(3)]), new Skeleton(new Cache("sys_read_end"), ["}", new Place(3), new Place(4)]), new Skeleton(new Cache("sys_next_token"), [new Place(4), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_read_end", 3])], -1));
add(new Clause(5, "sys_read_end", [new Place(1), new Place(2), new Place(3)], [new Skeleton(new Cache("sys_current_token"), [new Place(1), new Place(2), new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(3)])], 0));
add(new Clause(3, "sys_read_end", [".", new Place(1), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Frozen("syntax_error", ["end_of_clause_expected"]), undefined]), new Place(1), new Place(2)])], 0));
add(new Clause(3, "sys_read_end", ["end_of_file", new Place(1), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Frozen("syntax_error", ["end_of_clause_expected"]), undefined]), new Place(1), new Place(2)])], 0));
add(new Clause(3, "sys_read_end", [")", new Place(1), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Frozen("syntax_error", ["parenthesis_balance"]), undefined]), new Place(1), new Place(2)])], 0));
add(new Clause(3, "sys_read_end", ["}", new Place(1), new Place(2)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Frozen("syntax_error", ["brace_balance"]), undefined]), new Place(1), new Place(2)])], 0));
add(new Clause(2, "sys_read_end", ["]", new Place(0), new Place(1)], [new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Frozen("syntax_error", ["bracket_balance"]), undefined]), new Place(0), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_next_token", 2])], -1));
add(new Clause(8, "sys_next_token", [new Skeleton("t", [undefined, new Place(0), new Skeleton("r", [new Place(1), new Place(2)]), new Place(3)]), new Skeleton("t", [new Place(4), new Place(0), new Skeleton("r", [new Place(1), new Place(5)]), new Place(3)])], [new Skeleton(new Cache("sys_get_token"), [new Place(6), new Skeleton("-", [new Place(1), new Place(2)]), new Skeleton("-", [undefined, new Place(5)])]), new Skeleton(new Cache("sys_trap"), [new Skeleton("sys_convert_token", [new Place(6), new Place(4)]), new Place(7), new Skeleton("sys_sync_raise", [new Place(7), new Skeleton("t", [new Place(6), new Place(0), new Skeleton("r", [new Place(1), new Place(5)]), new Place(3)]), undefined])])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_sync_throw", 3])], -1));
add(new Clause(3, "sys_sync_throw", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_fill_line"), [new Place(0)]), new Skeleton(new Cache("sys_fill_stack"), [new Place(0)]), new Skeleton(new Cache("sys_sync_raise"), [new Place(0), new Place(1), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_sync_raise", 3])], -1));
add(new Clause(6, "sys_sync_raise", [new Place(0), new Place(1), new Place(2)], [new Skeleton(new Cache("sys_current_token"), [new Place(3), new Place(1), new Place(4)]), new Skeleton(new Cache("sys_sync_tokens"), [new Place(3), new Place(4), new Place(5)]), new Skeleton(new Cache("sys_raise"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(5), new Place(2)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_sync_tokens", 3])], -1));
add(new Clause(4, "sys_sync_tokens", [new Skeleton("single", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("member"), [-1, 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(4, "sys_sync_tokens", [new Skeleton("codes", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("member"), [-1, 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(4, "sys_sync_tokens", [new Skeleton("back", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("member"), [-1, 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(4, "sys_sync_tokens", [new Skeleton("code", [new Place(1)]), new Place(2), new Place(3)], [new Skeleton(new Cache("member"), [-1, 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(3, "sys_sync_tokens", [".", 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(3, "sys_sync_tokens", ["end_of_file", 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(5, "sys_sync_tokens", [undefined, new Place(0), new Place(1)], [new Skeleton(new Cache("sys_sync_token"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_current_token"), [new Place(3), new Place(2), new Place(4)]), new Skeleton(new Cache("sys_sync_tokens"), [new Place(3), new Place(4), new Place(1)])], -1));
run(new Goal(0, [new Frozen(new Cache("sys_usage_predicate"), ["sys_sync_token", 2])], -1));
add(new Clause(6, "sys_sync_token", [new Skeleton("t", [undefined, new Place(0), new Skeleton("r", [new Place(1), new Place(2)]), new Place(3)]), new Skeleton("t", [new Place(4), new Place(0), new Skeleton("r", [new Place(1), new Place(5)]), new Place(3)])], [new Skeleton(new Cache("sys_get_token"), [new Place(4), new Skeleton("-", [new Place(1), new Place(2)]), new Skeleton("-", [undefined, new Place(5)])])], -1));
