package nova;

import nova.Store.Clause;
import nova.Store.Place;
import nova.Store.Skeleton;
import nova.Store.Cache;
import nova.Store.Goal;
import nova.Machine.Frozen;

import java.math.BigInteger;

import static nova.Store.UNDEF_OBJ;
import static nova.Store.make_defined;
import static nova.Store.add;

import static nova.Machine.run;

/**
 * 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.
 */

public final class Streams {

    public static void boot5() {
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_is_infix", 3})}, -1));
        add(new Clause(0, "sys_is_infix", new Object[]{"xfx", 1, 1}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_infix", new Object[]{"yfx", 0, 1}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_infix", new Object[]{"xfy", 1, 0}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_is_prefix", 2})}, -1));
        add(new Clause(0, "sys_is_prefix", new Object[]{"fx", 1}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_prefix", new Object[]{"fy", 0}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_is_postfix", 2})}, -1));
        add(new Clause(0, "sys_is_postfix", new Object[]{"xf", 1}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_postfix", new Object[]{"yf", 0}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_op", 5})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("kb_pred_touch"), new Object[]{"sys_op", 5, 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"current_op", 3})}, -1));
        add(new Clause(3, "current_op", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_op"), new Object[]{new Place(2), new Place(1), new Place(0), UNDEF_OBJ, UNDEF_OBJ})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"op", 3})}, -1));
        add(new Clause(3, "op", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("must_be"), new Object[]{"integer", new Place(0)}), new Skeleton(new Cache("must_be"), new Object[]{"atom", new Place(1)}), new Skeleton(new Cache("must_be"), new Object[]{"atom", new Place(2)}), new Skeleton(new Cache("sys_check_priority"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_op_retract"), new Object[]{new Place(2), new Place(1)}), new Skeleton(new Cache("sys_op_assert"), new Object[]{new Place(2), new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_check_priority", 1})}, -1));
        add(new Clause(1, "sys_check_priority", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("<"), new Object[]{new Place(0), 0}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"not_less_than_zero", new Place(0)}), UNDEF_OBJ})})}, -1));
        add(new Clause(1, "sys_check_priority", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache(">"), new Object[]{new Place(0), 1200}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"operator_priority", new Place(0)}), UNDEF_OBJ})})}, -1));
        add(new Clause(0, "sys_check_priority", new Object[]{UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_op_retract", 2})}, -1));
        add(new Clause(3, "sys_op_retract", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_is_prefix"), new Object[]{new Place(2), UNDEF_OBJ}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(make_defined(new Object[]{new Clause(3, "", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_op"), new Object[]{new Place(0), new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("sys_is_prefix"), new Object[]{new Place(1), UNDEF_OBJ}), new Skeleton(new Cache("retract"), new Object[]{new Skeleton(new Cache("sys_op"), new Object[]{new Place(0), new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ})}), new Cache("fail")}, -1), new Clause(0, "", new Object[]{UNDEF_OBJ}, new Object[]{}, -1)}), new Object[]{new Place(1)})}, 0));
        add(new Clause(3, "sys_op_retract", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_is_postfix"), new Object[]{new Place(2), UNDEF_OBJ}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(make_defined(new Object[]{new Clause(3, "", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_op"), new Object[]{new Place(0), new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("sys_is_postfix"), new Object[]{new Place(1), UNDEF_OBJ}), new Skeleton(new Cache("retract"), new Object[]{new Skeleton(new Cache("sys_op"), new Object[]{new Place(0), new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ})}), new Cache("fail")}, -1), new Clause(0, "", new Object[]{UNDEF_OBJ}, new Object[]{}, -1)}), new Object[]{new Place(1)})}, 0));
        add(new Clause(3, "sys_op_retract", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_is_infix"), new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(make_defined(new Object[]{new Clause(3, "", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_op"), new Object[]{new Place(0), new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("sys_is_infix"), new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("retract"), new Object[]{new Skeleton(new Cache("sys_op"), new Object[]{new Place(0), new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ})}), new Cache("fail")}, -1), new Clause(0, "", new Object[]{UNDEF_OBJ}, new Object[]{}, -1)}), new Object[]{new Place(1)})}, 0));
        add(new Clause(1, "sys_op_retract", new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"operator_specifier", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_op_assert", 3})}, -1));
        add(new Clause(1, "sys_op_assert", new Object[]{UNDEF_OBJ, UNDEF_OBJ, 0}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(3, "sys_op_assert", new Object[]{new Place(0), new Place(1), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sys_is_infix"), new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("sys_op"), new Object[]{new Place(0), new Place(2), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("sys_is_postfix"), new Object[]{new Place(2), UNDEF_OBJ}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("permission_error", new Object[]{"create", "operator", new Place(0)}), UNDEF_OBJ})})}, -1));
        add(new Clause(3, "sys_op_assert", new Object[]{new Place(0), new Place(1), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sys_is_postfix"), new Object[]{new Place(1), UNDEF_OBJ}), new Skeleton(new Cache("sys_op"), new Object[]{new Place(0), new Place(2), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("sys_is_infix"), new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("permission_error", new Object[]{"create", "operator", new Place(0)}), UNDEF_OBJ})})}, -1));
        add(new Clause(8, "sys_op_assert", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_op_punct"), new Object[]{new Place(0), new Place(3)}), new Skeleton(new Cache("sys_op_space"), new Object[]{new Place(1), new Place(2), new Place(4)}), new Skeleton(new Cache("sys_op_format"), new Object[]{new Place(1), new Place(2), new Place(5)}), new Skeleton(new Cache("is"), new Object[]{new Place(6), new Skeleton(new Cache("\\/"), new Object[]{new Skeleton(new Cache("\\/"), new Object[]{new Place(3), new Place(4)}), new Place(5)})}), new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(7)}), new Skeleton(new Cache("assertz"), new Object[]{new Skeleton(new Cache("sys_op"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(6), new Place(7)})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_op_punct", 2})}, -1));
        add(new Clause(1, "sys_op_punct", new Object[]{";", 2}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_op_punct", new Object[]{",", 2}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(0, "sys_op_punct", new Object[]{UNDEF_OBJ, 0}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_op_space", 3})}, -1));
        add(new Clause(2, "sys_op_space", new Object[]{UNDEF_OBJ, new Place(1), 0}, new Object[]{new Skeleton(new Cache(">"), new Object[]{new Place(1), 699}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_op_space", new Object[]{new Place(1), UNDEF_OBJ, 1}, new Object[]{new Skeleton(new Cache("sys_is_prefix"), new Object[]{new Place(1), UNDEF_OBJ}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_op_space", new Object[]{new Place(1), UNDEF_OBJ, 2}, new Object[]{new Skeleton(new Cache("sys_is_postfix"), new Object[]{new Place(1), UNDEF_OBJ}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(0, "sys_op_space", new Object[]{UNDEF_OBJ, UNDEF_OBJ, 3}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_op_format", 3})}, -1));
        add(new Clause(4, "sys_op_format", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_is_infix"), new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_op_format2"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_op_format", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_is_prefix"), new Object[]{new Place(1), UNDEF_OBJ}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_op_format3"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(0, "sys_op_format", new Object[]{UNDEF_OBJ, UNDEF_OBJ, 0}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_op_format2", 2})}, -1));
        add(new Clause(2, "sys_op_format2", new Object[]{new Place(1), 12}, new Object[]{new Skeleton(new Cache(">"), new Object[]{new Place(1), 1149}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_op_format2", new Object[]{new Place(1), 8}, new Object[]{new Skeleton(new Cache(">"), new Object[]{new Place(1), 1049}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_op_format2", new Object[]{new Place(1), 4}, new Object[]{new Skeleton(new Cache(">"), new Object[]{new Place(1), 949}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(0, "sys_op_format2", new Object[]{UNDEF_OBJ, 0}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_op_format3", 2})}, -1));
        add(new Clause(2, "sys_op_format3", new Object[]{new Place(1), 12}, new Object[]{new Skeleton(new Cache(">"), new Object[]{new Place(1), 1149}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(0, "sys_op_format3", new Object[]{UNDEF_OBJ, 0}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{1200, "fx", ":-"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{1200, "xfx", ":-"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{1200, "fx", "?-"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{1200, "xfx", "-->"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{1100, "xfy", ";"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{1050, "xfy", "->"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{1000, "xfy", ","})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{900, "fy", "\\+"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "is"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "="})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "\\="})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "=.."})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "<"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "=<"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "=\\="})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", ">="})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", ">"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "=:="})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "@<"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "@=<"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "\\=="})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "@>="})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "@>"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{700, "xfx", "=="})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{600, "xfy", ":"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{500, "yfx", "+"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{500, "yfx", "-"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{500, "yfx", "/\\"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{500, "yfx", "\\/"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{400, "yfx", "*"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{400, "yfx", "/"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{400, "yfx", "//"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{400, "yfx", "rem"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{400, "yfx", "div"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{400, "yfx", "mod"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{400, "yfx", "xor"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{400, "yfx", ">>"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{400, "yfx", "<<"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{200, "fy", "-"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{200, "fy", "\\"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{200, "xfx", "**"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("op"), new Object[]{200, "xfy", "^"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_init_goal", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("kb_pred_touch"), new Object[]{"sys_init_goal", 1, 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"initialization", 1})}, -1));
        add(new Clause(1, "initialization", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("assertz"), new Object[]{new Skeleton(new Cache("sys_init_goal"), new Object[]{new Place(0)})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_init_goals", 0})}, -1));
        add(new Clause(2, "sys_init_goals", new Object[]{}, new Object[]{new Skeleton(new Cache("retract"), new Object[]{new Skeleton(new Cache("sys_init_goal"), new Object[]{new Place(0)})}), new Skeleton(new Cache("catch"), new Object[]{new Skeleton("sys_must", new Object[]{new Place(0)}), new Place(1), new Skeleton("sys_print_error", new Object[]{new Place(1)})}), new Cache("fail")}, -1));
        add(new Clause(0, "sys_init_goals", new Object[]{}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_must", 1})}, -1));
        add(new Clause(2, "sys_must", new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("call"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(0, "sys_must", new Object[]{UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"directive_failed"}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_baseline", 0})}, -1));
        add(new Clause(1, "sys_baseline", new Object[]{}, new Object[]{new Skeleton(new Cache("current_prolog_flag"), new Object[]{"argv", new Place(0)}), new Skeleton(new Cache("sys_baseline"), new Object[]{new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_baseline", 1})}, -1));
        add(new Clause(2, "sys_baseline", new Object[]{new Skeleton(".", new Object[]{"-h", UNDEF_OBJ})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("current_output"), new Object[]{new Place(1)}), new Skeleton(new Cache("put_message"), new Object[]{new Place(1), new Frozen("command", new Object[]{"runtime"})}), new Cache("nl")}, 0));
        add(new Clause(1, "sys_baseline", new Object[]{new Skeleton(".", new Object[]{new Place(0), UNDEF_OBJ})}, new Object[]{new Skeleton(new Cache("sub_atom"), new Object[]{new Place(0), 0, UNDEF_OBJ, UNDEF_OBJ, "-"}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("system_error", new Object[]{"option_command"}), UNDEF_OBJ})})}, -1));
        add(new Clause(0, "sys_baseline", new Object[]{UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_launch", 0})}, -1));
        add(new Clause(1, "sys_launch", new Object[]{}, new Object[]{new Skeleton(new Cache("current_prolog_flag"), new Object[]{"argv", new Place(0)}), new Skeleton(new Cache("sys_launch"), new Object[]{new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_launch", 1})}, -1));
        add(new Clause(1, "sys_launch", new Object[]{new Skeleton(".", new Object[]{"-h", UNDEF_OBJ})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(0, "sys_launch", new Object[]{"[]"}, new Object[]{new Frozen(new Cache("ensure_loaded"), new Object[]{new Frozen("library", new Object[]{new Frozen("/", new Object[]{"tester", "session"})})}), new Cache("version"), new Cache("prolog")}, -1));
        add(new Clause(1, "sys_launch", new Object[]{new Skeleton(".", new Object[]{new Place(0), UNDEF_OBJ})}, new Object[]{new Skeleton(new Cache("ensure_loaded"), new Object[]{new Place(0)}), new Cache("sys_init_goals")}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_net_request", 1})}, -1));
        add(new Clause(1, "sys_net_request", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_net_path"), new Object[]{new Place(0)})}, -1));
        add(new Clause(1, "sys_net_request", new Object[]{UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("current_prolog_flag"), new Object[]{"base_url", new Place(0)}), new Skeleton(new Cache("sys_net_path"), new Object[]{new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_net_path", 1})}, -1));
        add(new Clause(1, "sys_net_path", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sub_atom"), new Object[]{new Place(0), 0, UNDEF_OBJ, UNDEF_OBJ, "http:"})}, -1));
        add(new Clause(1, "sys_net_path", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sub_atom"), new Object[]{new Place(0), 0, UNDEF_OBJ, UNDEF_OBJ, "https:"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"open", 3})}, -1));
        add(new Clause(3, "open", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("open"), new Object[]{new Place(0), new Place(1), new Place(2), "[]"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"open", 4})}, -1));
        add(new Clause(6, "open", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_net_request"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("ir_object_new"), new Object[]{new Place(5)}), new Skeleton(new Cache("sys_open_opts"), new Object[]{new Place(4), new Place(5)}), new Skeleton(new Cache("sys_open_http"), new Object[]{new Place(1), new Place(2), new Place(5), new Place(3)}), new Skeleton(new Cache("sys_open_results"), new Object[]{new Place(4), new Place(5)})}, 0));
        add(new Clause(5, "open", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("ir_object_new"), new Object[]{new Place(4)}), new Skeleton(new Cache("sys_stream_opts"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("sys_open_file"), new Object[]{new Place(0), new Place(1), new Place(4), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_open_file", 4})}, -1));
        add(new Clause(5, "sys_open_file", new Object[]{new Place(1), "read", new Place(2), new Place(3)}, new Object[]{new Frozen(new Cache("current_prolog_flag"), new Object[]{"read_async", "on"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("os_open_promise"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)}), new Skeleton(new Cache("$YIELD"), new Object[]{new Place(4)})}, 0));
        add(new Clause(4, "sys_open_file", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("os_open_sync"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_open_http", 4})}, -1));
        add(new Clause(5, "sys_open_http", new Object[]{new Place(1), "read", new Place(2), new Place(3)}, new Object[]{new Frozen(new Cache("current_prolog_flag"), new Object[]{"read_async", "on"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("net_open_promise"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)}), new Skeleton(new Cache("$YIELD"), new Object[]{new Place(4)})}, 0));
        add(new Clause(4, "sys_open_http", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("net_open_sync"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"close", 1})}, -1));
        add(new Clause(4, "close", new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(1), "flags", new Place(2)}), new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 2}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("os_close_promise"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("$YIELD"), new Object[]{new Place(3)})}, 0));
        add(new Clause(1, "close", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("os_close_sync"), new Object[]{new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"nl", 0})}, -1));
        add(new Clause(1, "nl", new Object[]{}, new Object[]{new Skeleton(new Cache("current_output"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(0), "\n"}), new Skeleton(new Cache("flush_output"), new Object[]{new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"nl", 1})}, -1));
        add(new Clause(3, "nl", new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(1), "flags", new Place(2)}), new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 16}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), "\n"}), new Skeleton(new Cache("flush_output"), new Object[]{new Place(1)})}, 0));
        add(new Clause(1, "nl", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("put_atom"), new Object[]{new Place(0), "\n"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"flush_output", 0})}, -1));
        add(new Clause(1, "flush_output", new Object[]{}, new Object[]{new Skeleton(new Cache("current_output"), new Object[]{new Place(0)}), new Skeleton(new Cache("flush_output"), new Object[]{new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"put_code", 1})}, -1));
        add(new Clause(3, "put_code", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("current_output"), new Object[]{new Place(1)}), new Skeleton(new Cache("char_code"), new Object[]{new Place(2), new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"put_code", 2})}, -1));
        add(new Clause(3, "put_code", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("char_code"), new Object[]{new Place(2), new Place(1)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(0), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"get_code", 1})}, -1));
        add(new Clause(2, "get_code", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("current_input"), new Object[]{new Place(1)}), new Skeleton(new Cache("get_code"), new Object[]{new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"get_code", 2})}, -1));
        add(new Clause(4, "get_code", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("os_get_code"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(3), new Place(2)})}, 0));
        add(new Clause(4, "get_code", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_read_buffer"), new Object[]{new Place(1)}), new Skeleton(new Cache("os_get_code"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(3), new Place(2)})}, 0));
        add(new Clause(1, "get_code", new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("="), new Object[]{-1, new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"peek_code", 1})}, -1));
        add(new Clause(2, "peek_code", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("current_input"), new Object[]{new Place(1)}), new Skeleton(new Cache("peek_code"), new Object[]{new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"peek_code", 2})}, -1));
        add(new Clause(4, "peek_code", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("os_peek_code"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(3), new Place(2)})}, 0));
        add(new Clause(4, "peek_code", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_read_buffer"), new Object[]{new Place(1)}), new Skeleton(new Cache("os_peek_code"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(3), new Place(2)})}, 0));
        add(new Clause(1, "peek_code", new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("="), new Object[]{-1, new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_buffer", 1})}, -1));
        add(new Clause(4, "sys_read_buffer", new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(1), "flags", new Place(2)}), new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 2}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("os_read_promise"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("$YIELD"), new Object[]{new Place(3)})}, 0));
        add(new Clause(1, "sys_read_buffer", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("os_read_sync"), new Object[]{new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"put_atom", 1})}, -1));
        add(new Clause(2, "put_atom", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("current_output"), new Object[]{new Place(1)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"get_atom", 2})}, -1));
        add(new Clause(3, "get_atom", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("current_input"), new Object[]{new Place(2)}), new Skeleton(new Cache("get_atom"), new Object[]{new Place(2), new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"get_atom", 3})}, -1));
        add(new Clause(8, "get_atom", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_atom_opts"), new Object[]{new Place(2), new Frozen("v", new Object[]{10, 1, 0}), new Skeleton("v", new Object[]{new Place(3), new Place(4), new Place(5)})}), new Skeleton(new Cache("sys_get_code"), new Object[]{new Place(0), new Place(6), new Place(4)}), new Skeleton(new Cache("sys_get_code_list"), new Object[]{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 Object[]{new Place(1), new Place(7)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_code_list", 6})}, -1));
        add(new Clause(1, "sys_get_code_list", new Object[]{-1, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, "[]", UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_get_code_list", new Object[]{new Place(1), new Place(1), UNDEF_OBJ, UNDEF_OBJ, new Skeleton(".", new Object[]{new Place(1), "[]"}), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_get_code_list", new Object[]{new Place(1), UNDEF_OBJ, 1, UNDEF_OBJ, new Skeleton(".", new Object[]{new Place(1), "[]"}), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(7, "sys_get_code_list", new Object[]{new Place(1), new Place(2), 0, new Place(3), new Skeleton(".", new Object[]{new Place(1), new Place(4)}), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_get_code"), new Object[]{new Place(3), new Place(6), new Place(5)}), new Skeleton(new Cache("sys_get_code_list"), new Object[]{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 Object[]{new Place(0), new Place(1), new Place(2), new Place(3), new Skeleton(".", new Object[]{new Place(0), new Place(4)}), new Place(5)}, new Object[]{new Skeleton(new Cache("sys_get_code"), new Object[]{new Place(3), new Place(6), new Place(5)}), new Skeleton(new Cache("is"), new Object[]{new Place(7), new Skeleton(new Cache("-"), new Object[]{new Place(2), 1})}), new Skeleton(new Cache("sys_get_code_list"), new Object[]{new Place(6), new Place(1), new Place(7), new Place(3), new Place(4), new Place(5)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_code", 3})}, -1));
        add(new Clause(4, "sys_get_code", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(3), 1}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("get_code"), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(5, "sys_get_code", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(0), "flags", new Place(3)}), new Skeleton(new Cache("get_code"), new Object[]{new Place(0), new Place(4)}), new Skeleton(new Cache("sys_get_code_more"), new Object[]{new Place(4), new Place(3), new Place(0), new Place(1), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_code_more", 5})}, -1));
        add(new Clause(1, "sys_get_code_more", new Object[]{13, UNDEF_OBJ, UNDEF_OBJ, 10, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(5, "sys_get_code_more", new Object[]{10, new Place(1), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(1), 1}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_get_code"), new Object[]{new Place(2), new Place(3), new Place(4)})}, 0));
        add(new Clause(1, "sys_get_code_more", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ, new Place(0), UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_atom_opts", 3})}, -1));
        add(new Clause(1, "sys_atom_opts", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(6, "sys_atom_opts", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_atom_opt"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("sys_atom_opts"), new Object[]{new Place(2), new Place(5), new Place(4)})}, 0));
        add(new Clause(2, "sys_atom_opts", new Object[]{"[]", new Place(1), new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_atom_opts", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"list", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_atom_opt", 3})}, -1));
        add(new Clause(1, "sys_atom_opt", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(4, "sys_atom_opt", new Object[]{new Skeleton("stop", new Object[]{new Place(1)}), new Skeleton("v", new Object[]{UNDEF_OBJ, new Place(2), new Place(3)}), new Skeleton("v", new Object[]{new Place(1), new Place(2), new Place(3)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(6, "sys_atom_opt", new Object[]{new Skeleton("compress", new Object[]{new Place(1)}), new Skeleton("v", new Object[]{new Place(2), new Place(3), new Place(4)}), new Skeleton("v", new Object[]{new Place(2), new Place(5), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_opt_boolean"), new Object[]{new Place(1), 1, new Place(3), new Place(5)})}, 0));
        add(new Clause(4, "sys_atom_opt", new Object[]{new Skeleton("max", new Object[]{new Place(1)}), new Skeleton("v", new Object[]{new Place(2), new Place(3), UNDEF_OBJ}), new Skeleton("v", new Object[]{new Place(2), new Place(3), new Place(1)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_atom_opt", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"atom_option", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"write", 1})}, -1));
        add(new Clause(2, "write", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("current_output"), new Object[]{new Place(1)}), new Skeleton(new Cache("write_term"), new Object[]{new Place(1), new Place(0), new Frozen(".", new Object[]{new Frozen("numbervars", new Object[]{"true"}), "[]"})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"write", 2})}, -1));
        add(new Clause(2, "write", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("write_term"), new Object[]{new Place(0), new Place(1), new Frozen(".", new Object[]{new Frozen("numbervars", new Object[]{"true"}), "[]"})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"writeq", 1})}, -1));
        add(new Clause(2, "writeq", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("current_output"), new Object[]{new Place(1)}), new Skeleton(new Cache("write_term"), new Object[]{new Place(1), new Place(0), new Frozen(".", new Object[]{new Frozen("numbervars", new Object[]{"true"}), new Frozen(".", new Object[]{new Frozen("quoted", new Object[]{"true"}), "[]"})})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"writeq", 2})}, -1));
        add(new Clause(2, "writeq", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("write_term"), new Object[]{new Place(0), new Place(1), new Frozen(".", new Object[]{new Frozen("numbervars", new Object[]{"true"}), new Frozen(".", new Object[]{new Frozen("quoted", new Object[]{"true"}), "[]"})})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"write_canonical", 1})}, -1));
        add(new Clause(2, "write_canonical", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("current_output"), new Object[]{new Place(1)}), new Skeleton(new Cache("write_term"), new Object[]{new Place(1), new Place(0), new Frozen(".", new Object[]{new Frozen("quoted", new Object[]{"true"}), new Frozen(".", new Object[]{new Frozen("ignore_ops", new Object[]{"true"}), "[]"})})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"write_canonical", 2})}, -1));
        add(new Clause(2, "write_canonical", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("write_term"), new Object[]{new Place(0), new Place(1), new Frozen(".", new Object[]{new Frozen("quoted", new Object[]{"true"}), new Frozen(".", new Object[]{new Frozen("ignore_ops", new Object[]{"true"}), "[]"})})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"write_term", 2})}, -1));
        add(new Clause(3, "write_term", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("current_output"), new Object[]{new Place(2)}), new Skeleton(new Cache("write_term"), new Object[]{new Place(2), new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_print_error", 1})}, -1));
        add(new Clause(2, "sys_print_error", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("current_error"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_print_error"), new Object[]{new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_print_error", 2})}, -1));
        add(new Clause(4, "sys_print_error", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(1), "flags", new Place(3)}), new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(3), 12}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_fancy_problem"), new Object[]{new Place(2), new Place(1)})}, 0));
        add(new Clause(2, "sys_print_error", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_print_problem"), new Object[]{new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_print_problem", 2})}, -1));
        add(new Clause(3, "sys_print_problem", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_message"), new Object[]{new Place(2), new Skeleton("exception", new Object[]{"unknown", new Place(1)}), new Place(2)}), new Skeleton(new Cache("nl"), new Object[]{new Place(2)})}, 0));
        add(new Clause(4, "sys_print_problem", new Object[]{new Skeleton("cause", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_print_problem"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_print_problem"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_print_problem", new Object[]{new Skeleton("error", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_message"), new Object[]{new Place(3), new Frozen("exception", new Object[]{"error"})}), new Skeleton(new Cache("put_message"), new Object[]{new Place(3), new Place(1)}), new Skeleton(new Cache("nl"), new Object[]{new Place(3)}), new Skeleton(new Cache("sys_print_trace"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_print_problem", new Object[]{new Skeleton("warning", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_message"), new Object[]{new Place(3), new Frozen("exception", new Object[]{"warning"})}), new Skeleton(new Cache("put_message"), new Object[]{new Place(3), new Place(1)}), new Skeleton(new Cache("nl"), new Object[]{new Place(3)}), new Skeleton(new Cache("sys_print_trace"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(2, "sys_print_problem", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("put_message"), new Object[]{new Place(1), new Skeleton("exception", new Object[]{"unknown", new Place(0)})}), new Skeleton(new Cache("nl"), new Object[]{new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_print_trace", 2})}, -1));
        add(new Clause(3, "sys_print_trace", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_message"), new Object[]{new Place(2), new Skeleton("exception", new Object[]{"context", new Place(1)})}), new Skeleton(new Cache("nl"), new Object[]{new Place(2)})}, 0));
        add(new Clause(4, "sys_print_trace", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_print_frame"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("nl"), new Object[]{new Place(3)}), new Skeleton(new Cache("sys_print_trace"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(1, "sys_print_trace", new Object[]{"[]", UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_print_trace", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("put_message"), new Object[]{new Place(1), new Skeleton("exception", new Object[]{"context", new Place(0)})}), new Skeleton(new Cache("nl"), new Object[]{new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_print_frame", 2})}, -1));
        add(new Clause(6, "sys_print_frame", new Object[]{new Skeleton("sys_including", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("atom"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("file_base_name"), new Object[]{new Place(1), new Place(4)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(2), "lineno", new Place(5)}), new Skeleton(new Cache("put_message"), new Object[]{new Place(3), new Skeleton("exception", new Object[]{"including", new Place(4), new Place(5)})})}, 0));
        add(new Clause(3, "sys_print_frame", new Object[]{new Skeleton("sys_text", new Object[]{new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(2), new Place(1)})}, 0));
        add(new Clause(3, "sys_print_frame", new Object[]{new Skeleton("sys_offset", new Object[]{new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("tab"), new Object[]{new Place(2), new Place(1)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(2), "^"})}, 0));
        add(new Clause(2, "sys_print_frame", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("put_message"), new Object[]{new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"read", 1})}, -1));
        add(new Clause(3, "read", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("current_input"), new Object[]{new Place(1)}), new Skeleton(new Cache("get_code"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("sys_read_term"), new Object[]{new Place(2), new Place(1), "[]", new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"read", 2})}, -1));
        add(new Clause(3, "read", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("get_code"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_read_term"), new Object[]{new Place(2), new Place(0), "[]", new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"read_term", 2})}, -1));
        add(new Clause(4, "read_term", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("current_input"), new Object[]{new Place(2)}), new Skeleton(new Cache("get_code"), new Object[]{new Place(2), new Place(3)}), new Skeleton(new Cache("sys_read_term"), new Object[]{new Place(3), new Place(2), new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"read_term", 3})}, -1));
        add(new Clause(4, "read_term", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("get_code"), new Object[]{new Place(0), new Place(3)}), new Skeleton(new Cache("sys_read_term"), new Object[]{new Place(3), new Place(0), new Place(2), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"file_property", 2})}, -1));
        add(new Clause(7, "file_property", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_prop_map"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("ir_object_keys"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("member"), new Object[]{new Place(5), new Place(4)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(3), new Place(5), new Place(6)}), new Skeleton(new Cache("=.."), new Object[]{new Place(2), new Skeleton(".", new Object[]{new Place(5), new Skeleton(".", new Object[]{new Place(6), "[]"})})})}, 0));
        add(new Clause(7, "file_property", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("=.."), new Object[]{new Place(2), new Skeleton(".", new Object[]{new Place(3), new Skeleton(".", new Object[]{new Place(4), "[]"})})}), new Skeleton(new Cache("sys_prop_map"), new Object[]{new Place(1), new Place(5)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(5), new Place(3), new Place(6)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(4), new Place(6)})}, 0));
        add(new Clause(2, "file_property", new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("=.."), new Object[]{new Place(0), new Skeleton(".", new Object[]{new Place(1), new Skeleton(".", new Object[]{UNDEF_OBJ, "[]"})})}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"prolog_flag", new Place(1)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_prop_map", 2})}, -1));
        add(new Clause(3, "sys_prop_map", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_net_request"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_prop_http"), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(2, "sys_prop_map", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_prop_file"), new Object[]{new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_prop_file", 2})}, -1));
        add(new Clause(4, "sys_prop_file", new Object[]{new Place(1), new Place(2)}, new Object[]{new Frozen(new Cache("current_prolog_flag"), new Object[]{"prop_async", "on"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("os_prop_promise"), new Object[]{new Place(1), new Place(2), new Place(3)}), new Skeleton(new Cache("$YIELD"), new Object[]{new Place(3)})}, 0));
        add(new Clause(2, "sys_prop_file", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("os_prop_sync"), new Object[]{new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_prop_http", 2})}, -1));
        add(new Clause(4, "sys_prop_http", new Object[]{new Place(1), new Place(2)}, new Object[]{new Frozen(new Cache("current_prolog_flag"), new Object[]{"prop_async", "on"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("net_prop_promise"), new Object[]{new Place(1), new Place(2), new Place(3)}), new Skeleton(new Cache("$YIELD"), new Object[]{new Place(3)})}, 0));
        add(new Clause(2, "sys_prop_http", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("net_prop_sync"), new Object[]{new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"set_file_property", 2})}, -1));
        add(new Clause(3, "set_file_property", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_net_request"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("net_cntrl_sync"), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(2, "set_file_property", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("os_cntrl_sync"), new Object[]{new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"file_directory_name", 2})}, -1));
        add(new Clause(6, "file_directory_name", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(make_defined(new Object[]{new Clause(3, "", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("last_sub_atom"), new Object[]{new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ, "/"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0), new Clause(1, "", new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), -1})}, -1)}), new Object[]{new Place(0), new Place(2)}), new Skeleton(make_defined(new Object[]{new Clause(3, "", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("last_sub_atom"), new Object[]{new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ, "\\"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0), new Clause(1, "", new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), -1})}, -1)}), new Object[]{new Place(0), new Place(3)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("max"), new Object[]{new Place(2), new Place(3)})}), new Skeleton(new Cache("is"), new Object[]{new Place(5), new Skeleton(new Cache("+"), new Object[]{new Place(4), 1})}), new Skeleton(new Cache("sub_atom"), new Object[]{new Place(0), 0, new Place(5), UNDEF_OBJ, new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"file_base_name", 2})}, -1));
        add(new Clause(6, "file_base_name", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("atom_length"), new Object[]{new Place(0), new Place(2)}), new Skeleton(make_defined(new Object[]{new Clause(3, "", new Object[]{new Place(1), new Place(2), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("last_sub_atom"), new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ, new Place(2), "/"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0), new Clause(2, "", new Object[]{UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1)}), new Object[]{new Place(0), new Place(3), new Place(2)}), new Skeleton(make_defined(new Object[]{new Clause(3, "", new Object[]{new Place(1), new Place(2), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("last_sub_atom"), new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ, new Place(2), "\\"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0), new Clause(2, "", new Object[]{UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1)}), new Object[]{new Place(0), new Place(4), new Place(2)}), new Skeleton(new Cache("is"), new Object[]{new Place(5), new Skeleton(new Cache("min"), new Object[]{new Place(3), new Place(4)})}), new Skeleton(new Cache("sub_atom"), new Object[]{new Place(0), UNDEF_OBJ, new Place(5), 0, new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"absolute_file_name", 2})}, -1));
        add(new Clause(2, "absolute_file_name", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("absolute_file_name"), new Object[]{new Place(0), new Place(1), "[]"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"absolute_file_name", 3})}, -1));
        add(new Clause(7, "absolute_file_name", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("current_prolog_flag"), new Object[]{"base_url", new Place(3)}), new Skeleton(new Cache("sys_absolute_opts"), new Object[]{new Place(2), new Skeleton("v", new Object[]{"", new Place(3)}), new Skeleton("v", new Object[]{new Place(4), new Place(5)})}), new Skeleton(new Cache("sys_file_complete"), new Object[]{new Place(4), new Place(0), new Place(6)}), new Skeleton(new Cache("sys_file_combine"), new Object[]{new Place(5), new Place(6), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_absolute_opts", 3})}, -1));
        add(new Clause(1, "sys_absolute_opts", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(6, "sys_absolute_opts", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_absolute_opt"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("sys_absolute_opts"), new Object[]{new Place(2), new Place(5), new Place(4)})}, 0));
        add(new Clause(2, "sys_absolute_opts", new Object[]{"[]", new Place(1), new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_absolute_opts", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"list", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_absolute_opt", 3})}, -1));
        add(new Clause(1, "sys_absolute_opt", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(3, "sys_absolute_opt", new Object[]{new Skeleton("relative_to", new Object[]{new Place(1)}), new Skeleton("v", new Object[]{new Place(2), UNDEF_OBJ}), new Skeleton("v", new Object[]{new Place(2), new Place(1)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(3, "sys_absolute_opt", new Object[]{new Skeleton("extension", new Object[]{new Place(1)}), new Skeleton("v", new Object[]{UNDEF_OBJ, new Place(2)}), new Skeleton("v", new Object[]{new Place(1), new Place(2)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_absolute_opt", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"absolute_option", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_file_complete", 3})}, -1));
        add(new Clause(2, "sys_file_complete", new Object[]{"", new Place(1), new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(3, "sys_file_complete", new Object[]{UNDEF_OBJ, new Place(1), new Place(1)}, new Object[]{new Skeleton(new Cache("file_base_name"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("sub_atom"), new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, "."}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(3, "sys_file_complete", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("atom_concat"), new Object[]{new Place(1), new Place(0), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_file_combine", 3})}, -1));
        add(new Clause(3, "sys_file_combine", new Object[]{UNDEF_OBJ, new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("is_absolute_file_name"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(7, "sys_file_combine", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(make_defined(new Object[]{new Clause(1, "", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sub_atom"), new Object[]{new Place(0), 0, UNDEF_OBJ, UNDEF_OBJ, "../"})}, -1), new Clause(1, "", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sub_atom"), new Object[]{new Place(0), 0, UNDEF_OBJ, UNDEF_OBJ, "..\\"})}, -1)}), new Object[]{new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sub_atom"), new Object[]{new Place(2), 3, UNDEF_OBJ, 0, new Place(4)}), new Skeleton(new Cache("file_directory_name"), new Object[]{new Place(1), new Place(5)}), new Skeleton(new Cache("sub_atom"), new Object[]{new Place(5), 0, UNDEF_OBJ, 1, new Place(6)}), new Skeleton(new Cache("sys_file_combine"), new Object[]{new Place(6), new Place(4), new Place(3)})}, 0));
        add(new Clause(4, "sys_file_combine", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("file_directory_name"), new Object[]{new Place(0), new Place(3)}), new Skeleton(new Cache("atom_concat"), new Object[]{new Place(3), new Place(1), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"is_absolute_file_name", 1})}, -1));
        add(new Clause(5, "is_absolute_file_name", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("atom_length"), new Object[]{new Place(0), new Place(1)}), new Skeleton(make_defined(new Object[]{new Clause(3, "", new Object[]{new Place(1), new Place(2), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sub_atom"), new Object[]{new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ, "/"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0), new Clause(2, "", new Object[]{UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1)}), new Object[]{new Place(0), new Place(2), new Place(1)}), new Skeleton(make_defined(new Object[]{new Clause(3, "", new Object[]{new Place(1), new Place(2), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sub_atom"), new Object[]{new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ, "\\"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0), new Clause(2, "", new Object[]{UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1)}), new Object[]{new Place(0), new Place(3), new Place(1)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("min"), new Object[]{new Place(2), new Place(3)})}), new Skeleton(make_defined(new Object[]{new Clause(3, "", new Object[]{new Place(1), new Place(2), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("=="), new Object[]{new Place(1), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("<"), new Object[]{new Place(1), new Place(2)})}, 0), new Clause(4, "", new Object[]{new Place(1), UNDEF_OBJ, new Place(2)}, new Object[]{new Skeleton(new Cache("sub_atom"), new Object[]{new Place(2), new Place(3), UNDEF_OBJ, UNDEF_OBJ, ":"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("<"), new Object[]{new Place(3), new Place(1)})}, 0)}), new Object[]{new Place(4), new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_file_relative", 2})}, -1));
        add(new Clause(1, "sys_file_relative", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(3, "sys_file_relative", new Object[]{new Skeleton("library", new Object[]{new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_file_compound"), new Object[]{new Place(1), "liblet", ".p", new Place(2)})}, 0));
        add(new Clause(4, "sys_file_relative", new Object[]{new Skeleton("foreign", new Object[]{new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("current_prolog_flag"), new Object[]{"foreign_ext", new Place(3)}), new Skeleton(new Cache("sys_file_compound"), new Object[]{new Place(1), "doglet", new Place(3), new Place(2)})}, 0));
        add(new Clause(4, "sys_file_relative", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_file_including"), new Object[]{new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("absolute_file_name"), new Object[]{new Place(1), new Place(2), new Skeleton(".", new Object[]{new Skeleton("relative_to", new Object[]{new Place(3)}), new Frozen(".", new Object[]{new Frozen("extension", new Object[]{".p"}), "[]"})})})}, 0));
        add(new Clause(2, "sys_file_relative", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("absolute_file_name"), new Object[]{new Place(0), new Place(1), new Frozen(".", new Object[]{new Frozen("extension", new Object[]{".p"}), "[]"})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_file_compound", 4})}, -1));
        add(new Clause(7, "sys_file_compound", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_file_struct"), new Object[]{new Place(0), new Place(4)}), new Skeleton(new Cache("atom_join"), new Object[]{new Skeleton(".", new Object[]{new Place(1), new Skeleton(".", new Object[]{"/", new Skeleton(".", new Object[]{new Place(4), new Skeleton(".", new Object[]{new Place(2), "[]"})})})}), new Place(5)}), new Skeleton(new Cache("current_prolog_flag"), new Object[]{"system_url", new Place(6)}), new Skeleton(new Cache("sys_file_combine"), new Object[]{new Place(6), new Place(5), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_file_including", 1})}, -1));
        add(new Clause(3, "sys_file_including", new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("current_task"), new Object[]{new Place(2)}), new Skeleton(new Cache("sys_including"), new Object[]{new Place(1), new Place(2), UNDEF_OBJ}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("\\=="), new Object[]{new Place(1), "user"})}, 0));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_file_struct", 2})}, -1));
        add(new Clause(1, "sys_file_struct", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(5, "sys_file_struct", new Object[]{new Skeleton("/", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_file_struct"), new Object[]{new Place(1), new Place(4)}), new Skeleton(new Cache("atom_join"), new Object[]{new Skeleton(".", new Object[]{new Place(4), new Skeleton(".", new Object[]{"/", new Skeleton(".", new Object[]{new Place(2), "[]"})})}), new Place(3)})}, 0));
        add(new Clause(3, "sys_file_struct", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("atom"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(1, "sys_file_struct", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"atom", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_multifile_safe"), new Object[]{"strings", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"strings", 3})}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.unknown", "de", "Ausnahme unbekannt: ~q"}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.error", "de", "Fehler: "}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.warning", "de", "Warnung: "}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.template", "de", "Vorlage unbekannt: ~q"}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.context", "de", "    Kontext unbekannt: ~q"}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.including", "de", "    ~q auf ~q"}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"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"}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"system_error.option_command", "de", "Ungültige Befehlzeilenoption, -h für weitere Informationen."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.unknown", "", "Unknown exception: ~q"}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.error", "", "Error: "}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.warning", "", "Warning: "}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.template", "", "Unknown template: ~q"}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.context", "", "    Unknown context: ~q"}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"exception.including", "", "    ~q at ~q"}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"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."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"system_error.option_command", "", "Invalid command line option, -h for more information."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"evaluation_error.float_overflow", "de", "Die Funktion überschreitet hier den Gleitpunktzahlbereich."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"evaluation_error.undefined", "de", "Die Funktion ist hier undefiniert."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"evaluation_error.zero_divisor", "de", "Nulldivision."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"resource_error.not_supported", "de", "Nicht unterstützte Operation."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"resource_error.interrupted_exception", "de", "Unerwartet unterbrochene Operation."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"representation_error.int", "de", "Unerlaubte Ganzzahl (nicht zwischen - 2^31 und 2^31-1)."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"representation_error.long", "de", "Unerlaubte Ganzzahl (nicht zwischen - 2^63 und 2^63-1)."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"representation_error.max_arity", "de", "Unerlaubte Stelligkeit (nicht kleiner oder gleich 2^31-1)."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.prolog_flag", "de", "Flag erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.not_less_than_zero", "de", "Positiv oder 0 erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.operator_priority", "de", "Operatorlevel (kleiner oder gleich 1200) erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.operator_specifier", "de", "Operatormode (fx, fy, xfx, yfx, xfy, xf, yf) erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.time_format", "de", "Zeitformat erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.atom_option", "de", "Atomoption erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.absolute_option", "de", "Absolutoption erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.atom", "de", "Atom erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.number", "de", "Zahl erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.integer", "de", "Ganzzahl erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.callable", "de", "Argument sollte aufrufbar sein (Atom oder Verbund), gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.atomic", "de", "Argument sollte atomar sein, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.list", "de", "Liste ([] oder [_|_]) erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.evaluable", "de", "Berechenbaren Funktion erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.character", "de", "Zeichen erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.pair", "de", "Paar (_-_) erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.predicate_indicator", "de", "Prädikatindikator (_/_) erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.maybe", "de", "Option (nothing oder just(_)) erwartet, gefunden ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"permission_error.modify.flag", "de", "Kann schreibgeschütztes Flag ~q nicht aktualisieren."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"evaluation_error.float_overflow", "", "The function overflows the float range here."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"evaluation_error.undefined", "", "The function is undefined here."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"evaluation_error.zero_divisor", "", "Division by zero."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"resource_error.not_supported", "", "Operation not supported."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"resource_error.interrupted_exception", "", "Operation terminated unexpectedly."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"representation_error.int", "", "Illegal integer (not between - 2^31 and 2^31-1)."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"representation_error.long", "", "Illegal integer (not between - 2^63 and 2^63-1)."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"representation_error.max_arity", "", "Illegal arity (not less or equal 2^31-1)."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.prolog_flag", "", "Flag expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.not_less_than_zero", "", "Positive or 0 expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.operator_priority", "", "Operator level (less or equal 1200) expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.operator_specifier", "", "Operator mode (fx, fy, xfx, yfx, xfy, xf, yf) expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.time_format", "", "Time format expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.atom_option", "", "Atom option expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"domain_error.absolute_option", "", "Absolute option expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.atom", "", "Atom expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.number", "", "Number expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.integer", "", "Integer expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.callable", "", "Argument should be callable (atom or compound), found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.atomic", "", "Argument should be an atomic, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.list", "", "List ([] or [_|_]) expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.evaluable", "", "Evaluable functor expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.character", "", "Character expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.pair", "", "Pair (_-_) expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.predicate_indicator", "", "Predicate indicator (_/_) expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"type_error.maybe", "", "Maybe (nothing or just(_)) expected, found ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"permission_error.modify.flag", "", "Can\'t modify read-only flag ~q."}, new Object[]{}, -1));
    }

    public static void boot6() {
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_code_class", 2})}, -1));
        add(new Clause(2, "sys_code_class", new Object[]{44, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_punct"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{40, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_punct"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{41, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_punct"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{124, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_punct"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{91, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_punct"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{93, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_punct"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{123, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_punct"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{125, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_punct"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{59, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_solo"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{33, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_solo"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{39, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_solo"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{96, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_solo"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{34, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_solo"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{37, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_solo"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{8205, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_graphic"})}, 0));
        add(new Clause(2, "sys_code_class", new Object[]{65039, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "is_graphic"})}, 0));
        add(new Clause(3, "sys_code_class", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("code_category"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_type_class"), new Object[]{new Place(2), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_type_class", 2})}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{0, "is_invalid"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{1, "is_upper"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{2, "is_ident"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{3, "is_upper"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{4, "is_ident"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{5, "is_ident"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{6, "is_ident"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{7, "is_ident"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{8, "is_ident"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{9, "is_digit"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{10, "is_ident"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{11, "is_ident"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{12, "is_blank"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{13, "is_blank"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{14, "is_blank"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{15, "is_cntrl"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{16, "is_cntrl"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{18, "is_invalid"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{19, "is_invalid"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{20, "is_graphic"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{21, "is_solo"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{22, "is_solo"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{23, "is_score"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{24, "is_graphic"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{25, "is_graphic"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{26, "is_graphic"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{27, "is_graphic"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{28, "is_graphic"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{29, "is_solo"}, new Object[]{}, -1));
        add(new Clause(0, "sys_type_class", new Object[]{30, "is_solo"}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_name_class", 1})}, -1));
        add(new Clause(0, "sys_name_class", new Object[]{"is_ident"}, new Object[]{}, -1));
        add(new Clause(0, "sys_name_class", new Object[]{"is_upper"}, new Object[]{}, -1));
        add(new Clause(0, "sys_name_class", new Object[]{"is_score"}, new Object[]{}, -1));
        add(new Clause(0, "sys_name_class", new Object[]{"is_digit"}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_white_class", 1})}, -1));
        add(new Clause(0, "sys_white_class", new Object[]{"is_blank"}, new Object[]{}, -1));
        add(new Clause(0, "sys_white_class", new Object[]{"is_cntrl"}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_token", 3})}, -1));
        add(new Clause(6, "sys_get_token", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(3), new Place(1), new Place(4)}), new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_get_class"), new Object[]{new Place(5), new Place(3), new Place(0), new Place(4), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_class", 5})}, -1));
        add(new Clause(7, "sys_get_class", new Object[]{"is_ident", new Place(0), new Skeleton("atom", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_get_name"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(0), new Place(5)})}), new Skeleton(new Cache("="), new Object[]{new Place(6), new Place(3)})}, -1));
        add(new Clause(7, "sys_get_class", new Object[]{"is_upper", new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_get_name"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_make_variable"), new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(5)}), new Place(1)}), new Skeleton(new Cache("="), new Object[]{new Place(6), new Place(3)})}, -1));
        add(new Clause(7, "sys_get_class", new Object[]{"is_score", new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_get_name"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_make_variable"), new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(5)}), new Place(1)}), new Skeleton(new Cache("="), new Object[]{new Place(6), new Place(3)})}, -1));
        add(new Clause(4, "sys_get_class", new Object[]{"is_digit", new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_get_number"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)})}, -1));
        add(new Clause(5, "sys_get_class", new Object[]{"is_punct", new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("char_code"), new Object[]{new Place(1), new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(4), new Place(3)})}, -1));
        add(new Clause(5, "sys_get_class", new Object[]{"is_graphic", new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_get_block_or_symbol"), new Object[]{new Place(0), new Place(1), new Place(4), new Place(3)})}, -1));
        add(new Clause(4, "sys_get_class", new Object[]{"is_solo", new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_get_line_or_solo"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)})}, -1));
        add(new Clause(4, "sys_get_class", new Object[]{"is_invalid", new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_get_eof_or_error"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)})}, -1));
        add(new Clause(4, "sys_get_class", new Object[]{"is_blank", UNDEF_OBJ, new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_get_token"), new Object[]{new Place(0), new Place(3), new Place(2)})}, -1));
        add(new Clause(4, "sys_get_class", new Object[]{"is_cntrl", UNDEF_OBJ, new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_get_token"), new Object[]{new Place(0), new Place(3), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_eof_or_error", 4})}, -1));
        add(new Clause(3, "sys_get_eof_or_error", new Object[]{-1, "end_of_file", new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(2, "sys_get_eof_or_error", new Object[]{UNDEF_OBJ, UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"illegal_unicode"}), UNDEF_OBJ})}), new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_name", 3})}, -1));
        add(new Clause(8, "sys_get_name", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("sys_name_class"), new Object[]{new Place(6)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(5), new Place(7)}), new Skeleton(new Cache("sys_get_name"), new Object[]{new Place(2), new Place(7), new Place(4)})}, 0));
        add(new Clause(1, "sys_get_name", new Object[]{"[]", new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_make_variable", 2})}, -1));
        add(new Clause(2, "sys_make_variable", new Object[]{new Skeleton(".", new Object[]{new Place(1), "[]"}), "anon"}, new Object[]{new Skeleton(new Cache("code_category"), new Object[]{new Place(1), 23}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_make_variable", new Object[]{new Place(0), new Skeleton("var", new Object[]{new Place(1)})}, new Object[]{new Skeleton(new Cache("atom_codes"), new Object[]{new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_number", 4})}, -1));
        add(new Clause(7, "sys_get_number", new Object[]{48, new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_get_special"), new Object[]{new Place(5), new Place(1), new Place(6), new Place(3)})}, 0));
        add(new Clause(5, "sys_get_number", new Object[]{new Place(0), new Skeleton("decimal", new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)})}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_get_decimal"), new Object[]{new Place(1), new Place(4), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_special", 4})}, -1));
        add(new Clause(5, "sys_get_special", new Object[]{120, new Skeleton("radix", new Object[]{new Place(1), 16}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_get_radix"), new Object[]{new Place(1), "[]", 16, new Place(4), new Place(3)})}, 0));
        add(new Clause(5, "sys_get_special", new Object[]{111, new Skeleton("radix", new Object[]{new Place(1), 8}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_get_radix"), new Object[]{new Place(1), "[]", 8, new Place(4), new Place(3)})}, 0));
        add(new Clause(5, "sys_get_special", new Object[]{98, new Skeleton("radix", new Object[]{new Place(1), 2}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_get_radix"), new Object[]{new Place(1), "[]", 2, new Place(4), new Place(3)})}, 0));
        add(new Clause(5, "sys_get_special", new Object[]{114, new Skeleton("exotic", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_get_name"), new Object[]{new Place(1), new Place(4), new Place(3)})}, 0));
        add(new Clause(7, "sys_get_special", new Object[]{39, new Skeleton("code", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_get_code"), new Object[]{new Place(5), new Place(1), new Place(6), new Place(3)})}, 0));
        add(new Clause(3, "sys_get_special", new Object[]{UNDEF_OBJ, new Skeleton("decimal", new Object[]{new Skeleton(".", new Object[]{48, new Place(0)})}), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_get_decimal"), new Object[]{new Place(0), new Place(1), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_decimal", 3})}, -1));
        add(new Clause(7, "sys_get_decimal", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("code_category"), new Object[]{new Place(1), 9}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(5), new Place(6)}), new Skeleton(new Cache("sys_get_decimal"), new Object[]{new Place(2), new Place(6), new Place(4)})}, 0));
        add(new Clause(8, "sys_get_decimal", new Object[]{new Skeleton(".", new Object[]{46, new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{46, new Place(2), new Place(4)}), new Skeleton(new Cache("sys_at_code"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("code_category"), new Object[]{new Place(5), 9}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(6), new Place(7)}), new Skeleton(new Cache("sys_get_fraction"), new Object[]{new Place(1), new Place(7), new Place(3)})}, 0));
        add(new Clause(9, "sys_get_decimal", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("sys_is_expo"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_at_code"), new Object[]{new Place(6), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_is_sign_digit"), new Object[]{new Place(6)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(7), new Place(8)}), new Skeleton(new Cache("sys_get_exponent"), new Object[]{new Place(2), new Place(8), new Place(4)})}, 0));
        add(new Clause(1, "sys_get_decimal", new Object[]{"[]", new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_fraction", 3})}, -1));
        add(new Clause(7, "sys_get_fraction", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("code_category"), new Object[]{new Place(1), 9}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(5), new Place(6)}), new Skeleton(new Cache("sys_get_fraction"), new Object[]{new Place(2), new Place(6), new Place(4)})}, 0));
        add(new Clause(9, "sys_get_fraction", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("sys_is_expo"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_at_code"), new Object[]{new Place(6), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_is_sign_digit"), new Object[]{new Place(6)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(7), new Place(8)}), new Skeleton(new Cache("sys_get_exponent"), new Object[]{new Place(2), new Place(8), new Place(4)})}, 0));
        add(new Clause(1, "sys_get_fraction", new Object[]{"[]", new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_exponent", 3})}, -1));
        add(new Clause(7, "sys_get_exponent", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("sys_is_sign"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(5), new Place(6)}), new Skeleton(new Cache("sys_get_rest"), new Object[]{new Place(2), new Place(6), new Place(4)})}, 0));
        add(new Clause(3, "sys_get_exponent", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_get_rest"), new Object[]{new Place(0), new Place(1), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_rest", 3})}, -1));
        add(new Clause(7, "sys_get_rest", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("code_category"), new Object[]{new Place(1), 9}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(5), new Place(6)}), new Skeleton(new Cache("sys_get_rest"), new Object[]{new Place(2), new Place(6), new Place(4)})}, 0));
        add(new Clause(1, "sys_get_rest", new Object[]{"[]", new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_is_expo", 1})}, -1));
        add(new Clause(0, "sys_is_expo", new Object[]{69}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_expo", new Object[]{101}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_is_sign_digit", 1})}, -1));
        add(new Clause(1, "sys_is_sign_digit", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_is_sign"), new Object[]{new Place(0)})}, -1));
        add(new Clause(1, "sys_is_sign_digit", new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("code_category"), new Object[]{new Place(0), 9})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_is_sign", 1})}, -1));
        add(new Clause(0, "sys_is_sign", new Object[]{45}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_sign", new Object[]{43}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_block_or_symbol", 4})}, -1));
        add(new Clause(7, "sys_get_block_or_symbol", new Object[]{47, new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{42, new Place(2), new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(4), new Place(5)}), new Skeleton(new Cache("sys_skip_block"), new Object[]{new Place(5), new Place(6)}), new Skeleton(new Cache("sys_get_token"), new Object[]{new Place(1), new Place(6), new Place(3)})}, 0));
        add(new Clause(8, "sys_get_block_or_symbol", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_get_symbol"), new Object[]{new Place(4), new Place(2), new Place(5)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(6), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_make_period"), new Object[]{new Place(6), new Skeleton(".", new Object[]{new Place(0), new Place(4)}), new Place(1)}), new Skeleton(new Cache("="), new Object[]{new Place(7), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_symbol", 3})}, -1));
        add(new Clause(7, "sys_get_symbol", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(1), "is_graphic"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(5), new Place(6)}), new Skeleton(new Cache("sys_get_symbol"), new Object[]{new Place(2), new Place(6), new Place(4)})}, 0));
        add(new Clause(1, "sys_get_symbol", new Object[]{"[]", new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_skip_block", 2})}, -1));
        add(new Clause(5, "sys_skip_block", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{42, new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("sys_skip_end"), new Object[]{new Place(4), new Place(2)})}, 0));
        add(new Clause(3, "sys_skip_block", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{-1, new Place(0), new Place(2)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"end_of_file_in_block_comment"}), UNDEF_OBJ})}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(1)})}, -1));
        add(new Clause(3, "sys_skip_block", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_skip_block"), new Object[]{new Place(2), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_skip_end", 2})}, -1));
        add(new Clause(4, "sys_skip_end", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{47, new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(3), new Place(2)})}, 0));
        add(new Clause(2, "sys_skip_end", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_skip_block"), new Object[]{new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_make_period", 3})}, -1));
        add(new Clause(1, "sys_make_period", new Object[]{37, new Frozen(".", new Object[]{46, "[]"}), "."}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_make_period", new Object[]{-1, new Frozen(".", new Object[]{46, "[]"}), "."}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(3, "sys_make_period", new Object[]{new Place(1), new Frozen(".", new Object[]{46, "[]"}), "."}, new Object[]{new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("sys_white_class"), new Object[]{new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_make_period", new Object[]{UNDEF_OBJ, new Place(0), new Skeleton("atom", new Object[]{new Place(1)})}, new Object[]{new Skeleton(new Cache("atom_codes"), new Object[]{new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_line_or_solo", 4})}, -1));
        add(new Clause(7, "sys_get_line_or_solo", new Object[]{39, new Skeleton("single", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_get_quote"), new Object[]{new Place(5), new Place(1), 39, new Place(6), new Place(3)})}, 0));
        add(new Clause(7, "sys_get_line_or_solo", new Object[]{34, new Skeleton("codes", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_get_quote"), new Object[]{new Place(5), new Place(1), 34, new Place(6), new Place(3)})}, 0));
        add(new Clause(7, "sys_get_line_or_solo", new Object[]{96, new Skeleton("back", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_get_quote"), new Object[]{new Place(5), new Place(1), 96, new Place(6), new Place(3)})}, 0));
        add(new Clause(8, "sys_get_line_or_solo", new Object[]{37, new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_skip_line"), new Object[]{new Place(5), new Place(6), new Place(7)}), new Skeleton(new Cache("sys_get_token"), new Object[]{new Place(1), new Place(7), new Place(3)})}, 0));
        add(new Clause(5, "sys_get_line_or_solo", new Object[]{new Place(0), new Skeleton("atom", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("char_code"), new Object[]{new Place(1), new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(4), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_skip_line", 3})}, -1));
        add(new Clause(3, "sys_skip_line", new Object[]{10, new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_skip_line", new Object[]{13, new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_skip_line", new Object[]{-1, new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(5, "sys_skip_line", new Object[]{UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(3), new Place(2), new Place(4)}), new Skeleton(new Cache("sys_skip_line"), new Object[]{new Place(3), new Place(4), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_quote", 5})}, -1));
        add(new Clause(8, "sys_get_quote", new Object[]{new Place(1), new Place(2), new Place(1), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(6), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_get_more"), new Object[]{new Place(6), new Place(2), new Place(1), new Place(7), new Place(4)})}, 0));
        add(new Clause(8, "sys_get_quote", new Object[]{92, new Skeleton(".", new Object[]{92, new Place(1)}), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(6), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_get_cont"), new Object[]{new Place(6), new Place(1), new Place(2), new Place(7), new Place(4)})}, 0));
        add(new Clause(3, "sys_get_quote", new Object[]{10, new Frozen(".", new Object[]{-1, "[]"}), UNDEF_OBJ, new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_get_quote", new Object[]{13, new Frozen(".", new Object[]{-1, "[]"}), UNDEF_OBJ, new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_get_quote", new Object[]{-1, new Frozen(".", new Object[]{-1, "[]"}), UNDEF_OBJ, new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(8, "sys_get_quote", new Object[]{new Place(0), new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(6), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_get_quote"), new Object[]{new Place(6), new Place(1), new Place(2), new Place(7), new Place(4)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_more", 5})}, -1));
        add(new Clause(8, "sys_get_more", new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(1), new Place(2)})}), new Place(1), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(6), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_get_quote"), new Object[]{new Place(6), new Place(2), new Place(1), new Place(7), new Place(4)})}, 0));
        add(new Clause(1, "sys_get_more", new Object[]{UNDEF_OBJ, "[]", UNDEF_OBJ, new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_code", 4})}, -1));
        add(new Clause(5, "sys_get_code", new Object[]{39, new Skeleton(".", new Object[]{39, new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_get_double"), new Object[]{new Place(1), new Place(4), new Place(3)})}, 0));
        add(new Clause(7, "sys_get_code", new Object[]{92, new Skeleton(".", new Object[]{92, new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_get_escape"), new Object[]{new Place(5), new Place(1), "[]", new Place(6), new Place(3)})}, 0));
        add(new Clause(3, "sys_get_code", new Object[]{10, new Frozen(".", new Object[]{-1, "[]"}), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_get_code", new Object[]{13, new Frozen(".", new Object[]{-1, "[]"}), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_get_code", new Object[]{-1, new Frozen(".", new Object[]{-1, "[]"}), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_get_code", new Object[]{new Place(0), new Skeleton(".", new Object[]{new Place(0), "[]"}), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(1), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_double", 3})}, -1));
        add(new Clause(4, "sys_get_double", new Object[]{new Frozen(".", new Object[]{39, "[]"}), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{39, new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(3), new Place(2)})}, 0));
        add(new Clause(1, "sys_get_double", new Object[]{"[]", new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_cont", 5})}, -1));
        add(new Clause(8, "sys_get_cont", new Object[]{10, new Skeleton(".", new Object[]{10, new Place(1)}), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(6), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_get_quote"), new Object[]{new Place(6), new Place(1), new Place(2), new Place(7), new Place(4)})}, 0));
        add(new Clause(10, "sys_get_cont", new Object[]{13, new Skeleton(".", new Object[]{13, new Place(1)}), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_get_skip"), new Object[]{new Place(1), new Place(6), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(8), new Place(7), new Place(9)}), new Skeleton(new Cache("sys_get_quote"), new Object[]{new Place(8), new Place(6), new Place(2), new Place(9), new Place(4)})}, 0));
        add(new Clause(9, "sys_get_cont", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_get_escape"), new Object[]{new Place(0), new Place(1), new Place(5), new Place(3), new Place(6)}), new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(7), new Place(6), new Place(8)}), new Skeleton(new Cache("sys_get_quote"), new Object[]{new Place(7), new Place(5), new Place(2), new Place(8), new Place(4)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_skip", 4})}, -1));
        add(new Clause(5, "sys_get_skip", new Object[]{new Skeleton(".", new Object[]{10, new Place(1)}), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{10, new Place(2), new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(4), new Place(3)})}, 0));
        add(new Clause(2, "sys_get_skip", new Object[]{new Place(0), new Place(0), new Place(1), new Place(1)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_escape", 5})}, -1));
        add(new Clause(8, "sys_get_escape", new Object[]{120, new Skeleton(".", new Object[]{120, new Place(1)}), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_get_radix"), new Object[]{new Place(1), new Place(6), 16, new Place(5), new Place(7)}), new Skeleton(new Cache("sys_get_backslash"), new Object[]{new Place(6), new Place(2), new Place(7), new Place(4)})}, 0));
        add(new Clause(9, "sys_get_escape", new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("sys_is_radix"), new Object[]{new Place(1), 8}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(4), new Place(6)}), new Skeleton(new Cache("sys_get_radix"), new Object[]{new Place(2), new Place(7), 8, new Place(6), new Place(8)}), new Skeleton(new Cache("sys_get_backslash"), new Object[]{new Place(7), new Place(3), new Place(8), new Place(5)})}, 0));
        add(new Clause(4, "sys_get_escape", new Object[]{10, new Skeleton(".", new Object[]{-1, new Place(1)}), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_get_escape", new Object[]{13, new Skeleton(".", new Object[]{-1, new Place(1)}), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_get_escape", new Object[]{-1, new Skeleton(".", new Object[]{-1, new Place(1)}), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_get_escape", new Object[]{new Place(0), new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(2), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_backslash", 4})}, -1));
        add(new Clause(5, "sys_get_backslash", new Object[]{new Skeleton(".", new Object[]{92, new Place(1)}), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{92, new Place(2), new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(4), new Place(3)})}, 0));
        add(new Clause(2, "sys_get_backslash", new Object[]{new Place(0), new Place(0), new Place(1), new Place(1)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_get_radix", 5})}, -1));
        add(new Clause(9, "sys_get_radix", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4), new Place(5), new Place(6)}, new Object[]{new Skeleton(new Cache("sys_current_code"), new Object[]{new Place(1), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_is_radix"), new Object[]{new Place(1), new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_code"), new Object[]{new Place(7), new Place(8)}), new Skeleton(new Cache("sys_get_radix"), new Object[]{new Place(2), new Place(3), new Place(4), new Place(8), new Place(6)})}, 0));
        add(new Clause(2, "sys_get_radix", new Object[]{new Place(0), new Place(0), UNDEF_OBJ, new Place(1), new Place(1)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_is_radix", 2})}, -1));
        add(new Clause(3, "sys_is_radix", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("code_numeric"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("=<"), new Object[]{0, new Place(2)}), new Skeleton(new Cache("<"), new Object[]{new Place(2), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_is_meta", 1})}, -1));
        add(new Clause(0, "sys_is_meta", new Object[]{39}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_meta", new Object[]{96}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_meta", new Object[]{34}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_meta", new Object[]{92}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_is_escape", 2})}, -1));
        add(new Clause(0, "sys_is_escape", new Object[]{110, 10}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_escape", new Object[]{116, 9}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_escape", new Object[]{98, 8}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_escape", new Object[]{102, 12}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_escape", new Object[]{114, 13}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_escape", new Object[]{97, 7}, new Object[]{}, -1));
        add(new Clause(0, "sys_is_escape", new Object[]{118, 11}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_current_code", 3})}, -1));
        add(new Clause(2, "sys_current_code", new Object[]{new Place(0), new Skeleton("-", new Object[]{new Place(1), new Place(0)}), new Skeleton("-", new Object[]{new Place(1), new Place(0)})}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_next_code", 2})}, -1));
        add(new Clause(2, "sys_next_code", new Object[]{new Skeleton("-", new Object[]{new Place(0), UNDEF_OBJ}), new Skeleton("-", new Object[]{new Place(0), new Place(1)})}, new Object[]{new Skeleton(new Cache("get_code"), new Object[]{new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_at_code", 3})}, -1));
        add(new Clause(3, "sys_at_code", new Object[]{new Place(0), new Skeleton("-", new Object[]{new Place(1), new Place(2)}), new Skeleton("-", new Object[]{new Place(1), new Place(2)})}, new Object[]{new Skeleton(new Cache("peek_code"), new Object[]{new Place(1), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_safe_space", 3})}, -1));
        add(new Clause(8, "sys_safe_space", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sub_atom"), new Object[]{new Place(2), 0, 1, UNDEF_OBJ, new Place(4)}), new Skeleton(new Cache("char_code"), new Object[]{new Place(4), new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(1), "last", new Place(6)}), new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(6), new Place(7)}), new Skeleton(new Cache("sys_safe_cases"), new Object[]{new Place(7), new Place(1), new Place(6), new Place(5), new Place(3)})}, 0));
        add(new Clause(0, "sys_safe_space", new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_safe_cases", 5})}, -1));
        add(new Clause(5, "sys_safe_cases", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sys_name_class"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_safe_name"), new Object[]{new Place(2), new Place(3), new Place(4)})}, 0));
        add(new Clause(5, "sys_safe_cases", new Object[]{"is_graphic", new Place(1), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_safe_symbol"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)})}, 0));
        add(new Clause(3, "sys_safe_cases", new Object[]{"is_solo", new Place(1), new Place(2), new Place(2), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_safe_quote"), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(0, "sys_safe_cases", new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_safe_name", 3})}, -1));
        add(new Clause(4, "sys_safe_name", new Object[]{new Place(1), UNDEF_OBJ, new Place(2)}, new Object[]{new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(2), new Place(3)}), new Skeleton(new Cache("sys_name_class"), new Object[]{new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), " "})}, 0));
        add(new Clause(2, "sys_safe_name", new Object[]{new Place(1), 48, 39}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), " "})}, 0));
        add(new Clause(0, "sys_safe_name", new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_safe_symbol", 4})}, -1));
        add(new Clause(3, "sys_safe_symbol", new Object[]{new Place(1), UNDEF_OBJ, new Place(2), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(2), "is_graphic"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), " "})}, 0));
        add(new Clause(4, "sys_safe_symbol", new Object[]{new Place(1), 45, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(3), 4}), 0}), new Skeleton(new Cache("code_category"), new Object[]{new Place(2), 9}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), " "})}, 0));
        add(new Clause(0, "sys_safe_symbol", new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_safe_quote", 2})}, -1));
        add(new Clause(2, "sys_safe_quote", new Object[]{new Place(1), 39}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), " "})}, 0));
        add(new Clause(2, "sys_safe_quote", new Object[]{new Place(1), 96}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), " "})}, 0));
        add(new Clause(2, "sys_safe_quote", new Object[]{new Place(1), 34}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), " "})}, 0));
        add(new Clause(0, "sys_safe_quote", new Object[]{UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_print_atom", 3})}, -1));
        add(new Clause(5, "sys_print_atom", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(3), 16}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("open_input_atom_stream"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_fancy_stream"), new Object[]{new Place(4), new Place(1), ""})}, 0));
        add(new Clause(2, "sys_print_atom", new Object[]{new Place(0), new Place(1), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("put_atom"), new Object[]{new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_convert_token", 2})}, -1));
        add(new Clause(4, "sys_convert_token", new Object[]{new Skeleton("single", new Object[]{new Place(1)}), new Skeleton("atom", new Object[]{new Place(2)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_convert_quote"), new Object[]{new Place(3), 39, new Place(1), "[]"}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_convert_token", new Object[]{new Skeleton("back", new Object[]{new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_convert_quote"), new Object[]{new Place(3), 96, new Place(1), "[]"}), new Skeleton(new Cache("sys_make_variable"), new Object[]{new Place(3), new Place(2)})}, 0));
        add(new Clause(4, "sys_convert_token", new Object[]{new Skeleton("decimal", new Object[]{new Place(1)}), new Skeleton("const", new Object[]{new Place(2)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(3), new Place(1)}), new Skeleton(new Cache("atom_number"), new Object[]{new Place(3), new Place(2)})}, 0));
        add(new Clause(5, "sys_convert_token", new Object[]{new Skeleton("radix", new Object[]{new Place(1), new Place(2)}), new Skeleton("const", new Object[]{new Place(3)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(4), new Place(1)}), new Skeleton(new Cache("atom_integer"), new Object[]{new Place(4), new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_convert_token", new Object[]{new Skeleton("exotic", new Object[]{new Place(1)}), new Skeleton("const", new Object[]{new Place(2)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(3), new Place(1)}), new Skeleton(new Cache("sys_convert_exotic"), new Object[]{new Place(3), new Place(2)})}, 0));
        add(new Clause(3, "sys_convert_token", new Object[]{new Skeleton("codes", new Object[]{new Place(1)}), new Skeleton("const", new Object[]{new Place(2)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_convert_quote"), new Object[]{new Place(2), 34, new Place(1), "[]"})}, 0));
        add(new Clause(3, "sys_convert_token", new Object[]{new Skeleton("code", new Object[]{new Place(1)}), new Skeleton("const", new Object[]{new Place(2)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_convert_code"), new Object[]{new Place(2), new Place(1), "[]"})}, 0));
        add(new Clause(1, "sys_convert_token", new Object[]{new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_convert_quote", 4})}, -1));
        add(new Clause(6, "sys_convert_quote", new Object[]{new Place(1), new Place(2), new Skeleton(".", new Object[]{92, new Place(3)}), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_convert_sep"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_convert_quote"), new Object[]{new Place(1), new Place(2), new Place(5), new Place(4)})}, 0));
        add(new Clause(5, "sys_convert_quote", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(1), new Skeleton(".", new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(1), new Place(3)})}), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_convert_quote"), new Object[]{new Place(2), new Place(1), new Place(3), new Place(4)})}, 0));
        add(new Clause(2, "sys_convert_quote", new Object[]{UNDEF_OBJ, UNDEF_OBJ, new Skeleton(".", new Object[]{-1, new Place(0)}), new Place(1)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"unbalanced_quoted"}), UNDEF_OBJ})}), new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1));
        add(new Clause(9, "sys_convert_quote", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Skeleton(".", new Object[]{new Place(4), new Place(5)}), new Place(6)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(4), new Place(7)}), new Skeleton(new Cache("sys_convert_char"), new Object[]{new Place(7), new Place(4), new Place(1), new Place(5), new Place(8)}), new Skeleton(new Cache("sys_convert_quote"), new Object[]{new Place(2), new Place(3), new Place(8), new Place(6)})}, 0));
        add(new Clause(1, "sys_convert_quote", new Object[]{"[]", UNDEF_OBJ, new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_convert_sep", 2})}, -1));
        add(new Clause(1, "sys_convert_sep", new Object[]{new Skeleton(".", new Object[]{13, new Skeleton(".", new Object[]{10, new Place(0)})}), new Place(0)}, new Object[]{}, -1));
        add(new Clause(1, "sys_convert_sep", new Object[]{new Skeleton(".", new Object[]{10, new Place(0)}), new Place(0)}, new Object[]{}, -1));
        add(new Clause(1, "sys_convert_sep", new Object[]{new Skeleton(".", new Object[]{13, new Place(0)}), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_convert_code", 3})}, -1));
        add(new Clause(3, "sys_convert_code", new Object[]{39, new Skeleton(".", new Object[]{39, new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_convert_double"), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(2, "sys_convert_code", new Object[]{UNDEF_OBJ, new Skeleton(".", new Object[]{-1, new Place(0)}), new Place(1)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"missing_char"}), UNDEF_OBJ})}), new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1));
        add(new Clause(5, "sys_convert_code", new Object[]{new Place(0), new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(1), new Place(4)}), new Skeleton(new Cache("sys_convert_char"), new Object[]{new Place(4), new Place(1), new Place(0), new Place(2), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_convert_double", 2})}, -1));
        add(new Clause(3, "sys_convert_double", new Object[]{new Skeleton(".", new Object[]{39, new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(2, "sys_convert_double", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"doubling_missing"}), UNDEF_OBJ})}), new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_convert_exotic", 2})}, -1));
        add(new Clause(3, "sys_convert_exotic", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_atom_exotic"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_convert_exotic", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"exotic", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_atom_exotic", 2})}, -1));
        add(new Clause(0, "sys_atom_exotic", new Object[]{"True", true}, new Object[]{}, -1));
        add(new Clause(0, "sys_atom_exotic", new Object[]{"False", false}, new Object[]{}, -1));
        add(new Clause(0, "sys_atom_exotic", new Object[]{"None", null}, new Object[]{}, -1));
        add(new Clause(0, "sys_atom_exotic", new Object[]{"Inf", Double.POSITIVE_INFINITY}, new Object[]{}, -1));
        add(new Clause(0, "sys_atom_exotic", new Object[]{"NaN", Double.NaN}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_convert_char", 5})}, -1));
        add(new Clause(4, "sys_convert_char", new Object[]{"is_graphic", 92, new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_convert_escape"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0));
        add(new Clause(2, "sys_convert_char", new Object[]{"is_cntrl", UNDEF_OBJ, UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"illegal_layout"}), UNDEF_OBJ})}), new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1));
        add(new Clause(2, "sys_convert_char", new Object[]{"is_invalid", UNDEF_OBJ, UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"illegal_unicode"}), UNDEF_OBJ})}), new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1));
        add(new Clause(2, "sys_convert_char", new Object[]{UNDEF_OBJ, new Place(0), new Place(0), new Place(1), new Place(1)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_convert_escape", 3})}, -1));
        add(new Clause(5, "sys_convert_escape", new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(2), new Place(3)}), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_is_escape"), new Object[]{new Place(2), new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(3), new Place(4)})}, 0));
        add(new Clause(8, "sys_convert_escape", new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(2), new Place(3)}), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_is_radix"), new Object[]{new Place(2), 8}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_convert_radix"), new Object[]{new Place(5), 8, new Place(3), new Place(6)}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(7), new Skeleton(".", new Object[]{new Place(2), new Place(5)})}), new Skeleton(new Cache("atom_integer"), new Object[]{new Place(7), 8, new Place(1)}), new Skeleton(new Cache("sys_convert_backslash"), new Object[]{new Place(6), new Place(4)})}, 0));
        add(new Clause(7, "sys_convert_escape", new Object[]{new Place(1), new Skeleton(".", new Object[]{120, new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_convert_radix"), new Object[]{new Place(4), 16, new Place(2), new Place(5)}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(6), new Place(4)}), new Skeleton(new Cache("atom_integer"), new Object[]{new Place(6), 16, new Place(1)}), new Skeleton(new Cache("sys_convert_backslash"), new Object[]{new Place(5), new Place(3)})}, 0));
        add(new Clause(4, "sys_convert_escape", new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_is_meta"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(2, "sys_convert_escape", new Object[]{UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"illegal_escape"}), UNDEF_OBJ})}), new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_convert_backslash", 2})}, -1));
        add(new Clause(3, "sys_convert_backslash", new Object[]{new Skeleton(".", new Object[]{92, new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(2, "sys_convert_backslash", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"unbalanced_escape"}), UNDEF_OBJ})}), new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_convert_radix", 4})}, -1));
        add(new Clause(6, "sys_convert_radix", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Skeleton(".", new Object[]{new Place(1), new Place(4)}), new Place(5)}, new Object[]{new Skeleton(new Cache("sys_is_radix"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_convert_radix"), new Object[]{new Place(2), new Place(3), new Place(4), new Place(5)})}, 0));
        add(new Clause(1, "sys_convert_radix", new Object[]{"[]", UNDEF_OBJ, new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_stream_opts", 2})}, -1));
        add(new Clause(1, "sys_stream_opts", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(4, "sys_stream_opts", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_stream_opt"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_stream_opts"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(1, "sys_stream_opts", new Object[]{"[]", UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_stream_opts", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"list", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_stream_opt", 2})}, -1));
        add(new Clause(1, "sys_stream_opt", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(4, "sys_stream_opt", new Object[]{new Skeleton("type", new Object[]{new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_check_type"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("ir_object_set"), new Object[]{new Place(2), "encoding", new Place(3)})}, 0));
        add(new Clause(1, "sys_stream_opt", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"open_option", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_check_type", 2})}, -1));
        add(new Clause(1, "sys_check_type", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(1, "sys_check_type", new Object[]{"text", "utf8"}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_check_type", new Object[]{"binary", "latin1"}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_check_type", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"type", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_open_opts", 2})}, -1));
        add(new Clause(1, "sys_open_opts", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(4, "sys_open_opts", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_open_opt"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_open_opts"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(1, "sys_open_opts", new Object[]{"[]", UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_open_opts", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"list", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_open_opt", 2})}, -1));
        add(new Clause(1, "sys_open_opt", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(3, "sys_open_opt", new Object[]{new Skeleton("method", new Object[]{new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("must_be"), new Object[]{"atom", new Place(1)}), new Skeleton(new Cache("ir_object_set"), new Object[]{new Place(2), "method", new Place(1)})}, 0));
        add(new Clause(4, "sys_open_opt", new Object[]{new Skeleton("headers", new Object[]{new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("ir_object_new"), new Object[]{new Place(3)}), new Skeleton(new Cache("sys_header_opts"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("ir_object_set"), new Object[]{new Place(2), "headers", new Place(3)})}, 0));
        add(new Clause(4, "sys_open_opt", new Object[]{new Skeleton("body", new Object[]{new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("must_be"), new Object[]{"atom", new Place(1)}), new Skeleton(new Cache("ir_object_new"), new Object[]{new Place(3)}), new Skeleton(new Cache("ir_object_set"), new Object[]{new Place(3), "text", new Place(1)}), new Skeleton(new Cache("ir_object_set"), new Object[]{new Place(2), "body", new Place(3)})}, 0));
        add(new Clause(5, "sys_open_opt", new Object[]{new Skeleton("body", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("must_be"), new Object[]{"atom", new Place(1)}), new Skeleton(new Cache("ir_object_new"), new Object[]{new Place(4)}), new Skeleton(new Cache("ir_object_set"), new Object[]{new Place(4), "text", new Place(1)}), new Skeleton(new Cache("sys_stream_opts"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("ir_object_set"), new Object[]{new Place(3), "body", new Place(4)})}, 0));
        add(new Clause(4, "sys_open_opt", new Object[]{new Skeleton("type", new Object[]{new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_check_type"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("ir_object_set"), new Object[]{new Place(2), "encoding", new Place(3)})}, 0));
        add(new Clause(1, "sys_open_opt", new Object[]{new Skeleton("uri", new Object[]{UNDEF_OBJ}), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_open_opt", new Object[]{new Skeleton("status", new Object[]{UNDEF_OBJ}), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_open_opt", new Object[]{new Skeleton("fields", new Object[]{UNDEF_OBJ}), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_open_opt", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"open_option", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_header_opts", 2})}, -1));
        add(new Clause(1, "sys_header_opts", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(4, "sys_header_opts", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_header_opt"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_header_opts"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(1, "sys_header_opts", new Object[]{"[]", UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_header_opts", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"list", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_header_opt", 2})}, -1));
        add(new Clause(1, "sys_header_opt", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(4, "sys_header_opt", new Object[]{new Skeleton("-", new Object[]{new Place(1), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("must_be"), new Object[]{"atom", new Place(1)}), new Skeleton(new Cache("must_be"), new Object[]{"atom", new Place(2)}), new Skeleton(new Cache("ir_object_set"), new Object[]{new Place(3), new Place(1), new Place(2)})}, 0));
        add(new Clause(1, "sys_header_opt", new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"pair", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_open_results", 2})}, -1));
        add(new Clause(3, "sys_open_results", new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_open_result"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_open_results"), new Object[]{new Place(1), new Place(2)})}, -1));
        add(new Clause(0, "sys_open_results", new Object[]{"[]", UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_open_result", 2})}, -1));
        add(new Clause(0, "sys_open_result", new Object[]{new Skeleton("method", new Object[]{UNDEF_OBJ}), UNDEF_OBJ}, new Object[]{}, -1));
        add(new Clause(0, "sys_open_result", new Object[]{new Skeleton("headers", new Object[]{UNDEF_OBJ}), UNDEF_OBJ}, new Object[]{}, -1));
        add(new Clause(1, "sys_open_result", new Object[]{new Skeleton("body", new Object[]{UNDEF_OBJ}), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(0, "sys_open_result", new Object[]{new Skeleton("body", new Object[]{UNDEF_OBJ, UNDEF_OBJ}), UNDEF_OBJ}, new Object[]{}, -1));
        add(new Clause(0, "sys_open_result", new Object[]{new Skeleton("type", new Object[]{UNDEF_OBJ}), UNDEF_OBJ}, new Object[]{}, -1));
        add(new Clause(2, "sys_open_result", new Object[]{new Skeleton("uri", new Object[]{new Place(0)}), new Place(1)}, new Object[]{new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(1), "uri", new Place(0)})}, -1));
        add(new Clause(2, "sys_open_result", new Object[]{new Skeleton("status", new Object[]{new Place(0)}), new Place(1)}, new Object[]{new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(1), "status", new Place(0)})}, -1));
        add(new Clause(3, "sys_open_result", new Object[]{new Skeleton("fields", new Object[]{new Place(0)}), new Place(1)}, new Object[]{new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(1), "fields", new Place(2)}), new Skeleton(new Cache("sys_header_results"), new Object[]{new Place(2), new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_header_results", 2})}, -1));
        add(new Clause(3, "sys_header_results", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("ir_object_keys"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_header_results"), new Object[]{new Place(2), new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_header_results", 3})}, -1));
        add(new Clause(0, "sys_header_results", new Object[]{"[]", UNDEF_OBJ, "[]"}, new Object[]{}, -1));
        add(new Clause(5, "sys_header_results", new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2), new Skeleton(".", new Object[]{new Skeleton("-", new Object[]{new Place(0), new Place(3)}), new Place(4)})}, new Object[]{new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(2), new Place(0), new Place(3)}), new Skeleton(new Cache("sys_header_results"), new Object[]{new Place(1), new Place(2), new Place(4)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_opts", 3})}, -1));
        add(new Clause(1, "sys_write_opts", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(6, "sys_write_opts", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_opt"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("sys_write_opts"), new Object[]{new Place(2), new Place(5), new Place(4)})}, 0));
        add(new Clause(2, "sys_write_opts", new Object[]{"[]", new Place(1), new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_write_opts", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"list", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_opt", 3})}, -1));
        add(new Clause(1, "sys_write_opt", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(5, "sys_write_opt", new Object[]{new Skeleton("variable_names", new Object[]{new Place(1)}), new Skeleton("h", new Object[]{UNDEF_OBJ, new Place(2), new Place(3), new Place(4)}), new Skeleton("h", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(5, "sys_write_opt", new Object[]{new Skeleton("anonymous", new Object[]{new Place(1)}), new Skeleton("h", new Object[]{new Place(2), UNDEF_OBJ, new Place(3), new Place(4)}), new Skeleton("h", new Object[]{new Place(2), new Place(1), new Place(3), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(7, "sys_write_opt", new Object[]{new Skeleton("quoted", new Object[]{new Place(1)}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(4), new Place(5)}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(6), new Place(5)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_opt_boolean"), new Object[]{new Place(1), 1, new Place(4), new Place(6)})}, 0));
        add(new Clause(7, "sys_write_opt", new Object[]{new Skeleton("ignore_ops", new Object[]{new Place(1)}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(4), new Place(5)}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(6), new Place(5)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_opt_boolean"), new Object[]{new Place(1), 2, new Place(4), new Place(6)})}, 0));
        add(new Clause(7, "sys_write_opt", new Object[]{new Skeleton("numbervars", new Object[]{new Place(1)}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(4), new Place(5)}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(6), new Place(5)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_opt_boolean"), new Object[]{new Place(1), 8, new Place(4), new Place(6)})}, 0));
        add(new Clause(5, "sys_write_opt", new Object[]{new Skeleton("priority", new Object[]{new Place(1)}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(4), UNDEF_OBJ}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(4), new Place(1)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(7, "sys_write_opt", new Object[]{new Skeleton("format", new Object[]{new Place(1)}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(4), new Place(5)}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(6), new Place(5)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_opt_boolean"), new Object[]{new Place(1), 4, new Place(4), new Place(6)})}, 0));
        add(new Clause(7, "sys_write_opt", new Object[]{new Skeleton("colorize", new Object[]{new Place(1)}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(4), new Place(5)}), new Skeleton("h", new Object[]{new Place(2), new Place(3), new Place(6), new Place(5)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_opt_boolean"), new Object[]{new Place(1), 16, new Place(4), new Place(6)})}, 0));
        add(new Clause(1, "sys_write_opt", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"write_option", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_opts", 3})}, -1));
        add(new Clause(1, "sys_read_opts", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(6, "sys_read_opts", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_read_opt"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("sys_read_opts"), new Object[]{new Place(2), new Place(5), new Place(4)})}, 0));
        add(new Clause(2, "sys_read_opts", new Object[]{"[]", new Place(1), new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(1, "sys_read_opts", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"list", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_opt", 3})}, -1));
        add(new Clause(1, "sys_read_opt", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(2, "sys_read_opt", new Object[]{new Skeleton("variable_names", new Object[]{UNDEF_OBJ}), new Place(1), new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_read_opt", new Object[]{new Skeleton("singletons", new Object[]{UNDEF_OBJ}), new Place(1), new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(3, "sys_read_opt", new Object[]{new Skeleton("priority", new Object[]{new Place(1)}), new Skeleton("z", new Object[]{UNDEF_OBJ, new Place(2)}), new Skeleton("z", new Object[]{new Place(1), new Place(2)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(5, "sys_read_opt", new Object[]{new Skeleton("end_of_file", new Object[]{new Place(1)}), new Skeleton("z", new Object[]{new Place(2), new Place(3)}), new Skeleton("z", new Object[]{new Place(2), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_opt_boolean"), new Object[]{new Place(1), 1, new Place(3), new Place(4)})}, 0));
        add(new Clause(1, "sys_read_opt", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"read_option", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_results", 2})}, -1));
        add(new Clause(3, "sys_read_results", new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_read_result"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_read_results"), new Object[]{new Place(1), new Place(2)})}, -1));
        add(new Clause(0, "sys_read_results", new Object[]{"[]", UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_result", 2})}, -1));
        add(new Clause(2, "sys_read_result", new Object[]{new Skeleton("variable_names", new Object[]{new Place(0)}), new Skeleton("s", new Object[]{new Place(1), UNDEF_OBJ})}, new Object[]{new Skeleton(new Cache("reverse"), new Object[]{new Place(1), new Place(0)})}, -1));
        add(new Clause(2, "sys_read_result", new Object[]{new Skeleton("singletons", new Object[]{new Place(0)}), new Skeleton("s", new Object[]{UNDEF_OBJ, new Place(1)})}, new Object[]{new Skeleton(new Cache("reverse"), new Object[]{new Place(1), new Place(0)})}, -1));
        add(new Clause(0, "sys_read_result", new Object[]{new Skeleton("priority", new Object[]{UNDEF_OBJ}), UNDEF_OBJ}, new Object[]{}, -1));
        add(new Clause(0, "sys_read_result", new Object[]{new Skeleton("end_of_file", new Object[]{UNDEF_OBJ}), UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_opt_boolean", 4})}, -1));
        add(new Clause(1, "sys_opt_boolean", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{"instantiation_error", UNDEF_OBJ})})}, -1));
        add(new Clause(4, "sys_opt_boolean", new Object[]{"true", new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("\\/"), new Object[]{new Place(2), new Place(1)})})}, 0));
        add(new Clause(4, "sys_opt_boolean", new Object[]{"false", new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("/\\"), new Object[]{new Place(2), new Skeleton(new Cache("\\"), new Object[]{new Place(1)})})})}, 0));
        add(new Clause(1, "sys_opt_boolean", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("domain_error", new Object[]{"boolean", new Place(0)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_proper_atom", 1})}, -1));
        add(new Clause(3, "sys_proper_atom", new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)})}, new Object[]{new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_proper_atom"), new Object[]{new Place(2), new Skeleton(".", new Object[]{new Place(0), new Place(1)})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_proper_atom", 2})}, -1));
        add(new Clause(1, "sys_proper_atom", new Object[]{"is_ident", new Skeleton(".", new Object[]{UNDEF_OBJ, new Place(0)})}, new Object[]{new Skeleton(new Cache("sys_proper_atom_name"), new Object[]{new Place(0)})}, -1));
        add(new Clause(1, "sys_proper_atom", new Object[]{"is_graphic", new Frozen(".", new Object[]{46, "[]"})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Cache("fail")}, 0));
        add(new Clause(1, "sys_proper_atom", new Object[]{"is_graphic", new Skeleton(".", new Object[]{47, new Skeleton(".", new Object[]{42, UNDEF_OBJ})})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Cache("fail")}, 0));
        add(new Clause(1, "sys_proper_atom", new Object[]{"is_graphic", new Skeleton(".", new Object[]{UNDEF_OBJ, new Place(0)})}, new Object[]{new Skeleton(new Cache("sys_proper_atom_graphic"), new Object[]{new Place(0)})}, -1));
        add(new Clause(1, "sys_proper_atom", new Object[]{"is_solo", new Frozen(".", new Object[]{39, "[]"})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Cache("fail")}, 0));
        add(new Clause(1, "sys_proper_atom", new Object[]{"is_solo", new Frozen(".", new Object[]{96, "[]"})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Cache("fail")}, 0));
        add(new Clause(1, "sys_proper_atom", new Object[]{"is_solo", new Frozen(".", new Object[]{34, "[]"})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Cache("fail")}, 0));
        add(new Clause(1, "sys_proper_atom", new Object[]{"is_solo", new Frozen(".", new Object[]{37, "[]"})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Cache("fail")}, 0));
        add(new Clause(0, "sys_proper_atom", new Object[]{"is_solo", new Skeleton(".", new Object[]{UNDEF_OBJ, "[]"})}, new Object[]{}, -1));
        add(new Clause(1, "sys_proper_atom", new Object[]{"is_punct", new Frozen(".", new Object[]{91, new Frozen(".", new Object[]{93, "[]"})})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(0, "sys_proper_atom", new Object[]{"is_punct", new Frozen(".", new Object[]{123, new Frozen(".", new Object[]{125, "[]"})})}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_proper_atom_name", 1})}, -1));
        add(new Clause(4, "sys_proper_atom_name", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)})}, new Object[]{new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_name_class"), new Object[]{new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_proper_atom_name"), new Object[]{new Place(2)})}, 0));
        add(new Clause(0, "sys_proper_atom_name", new Object[]{"[]"}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_proper_atom_graphic", 1})}, -1));
        add(new Clause(3, "sys_proper_atom_graphic", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)})}, new Object[]{new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(1), "is_graphic"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_proper_atom_graphic"), new Object[]{new Place(2)})}, 0));
        add(new Clause(0, "sys_proper_atom_graphic", new Object[]{"[]"}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_escape_codes", 3})}, -1));
        add(new Clause(6, "sys_escape_codes", new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(0), new Place(4)}), new Skeleton(new Cache("sys_escape_code"), new Object[]{new Place(4), new Place(0), new Place(2), new Place(5)}), new Skeleton(new Cache("sys_escape_codes"), new Object[]{new Place(1), new Place(5), new Place(3)})}, -1));
        add(new Clause(1, "sys_escape_codes", new Object[]{"[]", new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_escape_code", 4})}, -1));
        add(new Clause(5, "sys_escape_code", new Object[]{"is_cntrl", new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_is_escape"), new Object[]{new Place(4), new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Skeleton(".", new Object[]{92, new Skeleton(".", new Object[]{new Place(4), new Place(3)})})})}, 0));
        add(new Clause(4, "sys_escape_code", new Object[]{"is_cntrl", new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_escape_code2"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_escape_code", new Object[]{"is_solo", new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_is_meta"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Skeleton(".", new Object[]{92, new Skeleton(".", new Object[]{new Place(1), new Place(3)})})})}, 0));
        add(new Clause(4, "sys_escape_code", new Object[]{"is_graphic", new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_is_meta"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Skeleton(".", new Object[]{92, new Skeleton(".", new Object[]{new Place(1), new Place(3)})})})}, 0));
        add(new Clause(4, "sys_escape_code", new Object[]{"is_invalid", new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_escape_code2"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0));
        add(new Clause(2, "sys_escape_code", new Object[]{UNDEF_OBJ, new Place(0), new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(1)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_escape_code2", 3})}, -1));
        add(new Clause(8, "sys_escape_code2", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("=<"), new Object[]{new Place(1), 511}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_integer"), new Object[]{new Place(4), 8, new Place(1)}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(4), new Place(5)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Skeleton(".", new Object[]{92, new Place(6)})}), new Skeleton(new Cache("sys_escape_codes2"), new Object[]{new Place(5), new Place(6), new Place(7)}), new Skeleton(new Cache("="), new Object[]{new Place(7), new Skeleton(".", new Object[]{92, new Place(3)})})}, 0));
        add(new Clause(7, "sys_escape_code2", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("atom_integer"), new Object[]{new Place(3), 16, new Place(0)}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Skeleton(".", new Object[]{92, new Skeleton(".", new Object[]{120, new Place(5)})})}), new Skeleton(new Cache("sys_escape_codes2"), new Object[]{new Place(4), new Place(5), new Place(6)}), new Skeleton(new Cache("="), new Object[]{new Place(6), new Skeleton(".", new Object[]{92, new Place(2)})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_escape_codes2", 3})}, -1));
        add(new Clause(6, "sys_escape_codes2", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(3), new Skeleton(".", new Object[]{new Place(1), new Place(5)})}), new Skeleton(new Cache("sys_escape_codes2"), new Object[]{new Place(2), new Place(5), new Place(4)})}, 0));
        add(new Clause(1, "sys_escape_codes2", new Object[]{"[]", new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_numbervars_name", 2})}, -1));
        add(new Clause(4, "sys_numbervars_name", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("<"), new Object[]{new Place(1), 26}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("+"), new Object[]{new Place(1), 65})}), new Skeleton(new Cache("char_code"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(6, "sys_numbervars_name", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("+"), new Object[]{new Skeleton(new Cache("rem"), new Object[]{new Place(0), 26}), 65})}), new Skeleton(new Cache("char_code"), new Object[]{new Place(3), new Place(2)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("+"), new Object[]{new Skeleton(new Cache("//"), new Object[]{new Place(0), 26}), 1})}), new Skeleton(new Cache("atom_integer"), new Object[]{new Place(5), 10, new Place(4)}), new Skeleton(new Cache("atom_concat"), new Object[]{new Place(3), new Place(5), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_multifile_safe"), new Object[]{"strings", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"strings", 3})}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.illegal_number", "de", "Keine Nummer."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.illegal_date", "de", "Kein Datum."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.illegal_layout", "de", "Unerlaubtes Druckbildzeichen in Zeichenkette."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.illegal_unicode", "de", "Unerlaubtes Unicodezeichen im Text."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.illegal_escape", "de", "Unerlaubte Steuersequenz in Zeichenkette."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.unbalanced_escape", "de", "Steuersequenz nicht abgeschlossen."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.end_of_file_in_block_comment", "de", "Blockkommentar nicht geschlossen."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.singleton_var", "de", "Alleinstehende Variable(n) ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.multiton_var", "de", "Mehrfache markierte Variable(n) ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.bracket_balance", "de", "Rechte eckige Klammer (\"]\") fehlt."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.brace_balance", "de", "Rechte geschweifte Klammer (\"}\") fehlt."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.parenthesis_balance", "de", "Rechte runde Klammer (\")\") fehlt."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.end_of_clause_expected", "de", "Überflüssiges Token."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.operator_clash", "de", "Runde Klammer (\"(\") vor Operator fehlt."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.cannot_start_term", "de", "Term fehlt."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.doubling_missing", "de", "Anführungszeichen nicht zweifach."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.unbalanced_quoted", "de", "Zeichenkette nicht abgeschlossen."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.missing_char", "de", "Zeichen fehlt."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.illegal_number", "", "Not a number."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.illegal_date", "", "Not a date."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.illegal_layout", "", "Illegal layout character in string."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.illegal_unicode", "", "Illegal Unicode character in text."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.illegal_escape", "", "Illegal escape sequence in string."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.unbalanced_escape", "", "Escape sequence not closed."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.end_of_file_in_block_comment", "", "Block comment not closed."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.singleton_var", "", "Singleton variable(s) ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.multiton_var", "", "Multiton marked variable(s) ~q."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.bracket_balance", "", "Right bracket (\"]\") missing."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.brace_balance", "", "Right brace (\"}\") missing."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.parenthesis_balance", "", "Right parenthesis (\")\") missing."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.end_of_clause_expected", "", "Superfluous token."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.operator_clash", "", "Parenthesis (\"(\") before operator missing."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.cannot_start_term", "", "Term missing."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.doubling_missing", "", "Quote not doubled."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.unbalanced_quoted", "", "String not closed."}, new Object[]{}, -1));
        add(new Clause(0, "strings", new Object[]{"syntax_error.missing_char", "", "Character missing."}, new Object[]{}, -1));
    }

    public static void boot7() {
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"write_term", 3})}, -1));
        add(new Clause(7, "write_term", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_write_opts"), new Object[]{new Place(2), new Frozen("h", new Object[]{"[]", "[]", 0, 1200}), new Skeleton("h", new Object[]{new Place(3), new Place(4), new Place(5), new Place(6)})}), new Skeleton(new Cache("ir_object_set"), new Object[]{new Place(0), "last", -1}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(1), new Skeleton("w", new Object[]{1, new Place(6), 0}), new Skeleton("v", new Object[]{new Place(0), new Place(5), new Place(3), new Place(4)})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_priority", 3})}, -1));
        add(new Clause(5, "sys_write_priority", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("ir_is_site"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("ir_site_name"), new Object[]{new Place(1), new Place(4)}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(4), new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_write_priority", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_var"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_write_priority", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("number"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_number"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_write_priority", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("atom"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_atom"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0));
        add(new Clause(5, "sys_write_priority", new Object[]{new Skeleton("$VAR", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_flags"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(4), 8}), 0}), new Skeleton(new Cache("integer"), new Object[]{new Place(1)}), new Skeleton(new Cache(">="), new Object[]{new Place(1), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_numbervars"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0));
        add(new Clause(5, "sys_write_priority", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_flags"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(4), 2}), 0}), new Skeleton(new Cache("compound"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_compound"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0));
        add(new Clause(6, "sys_write_priority", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Skeleton("w", new Object[]{UNDEF_OBJ, UNDEF_OBJ, new Place(3)}), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(4), new Place(5)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(5), "["}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(1), new Skeleton("w", new Object[]{1, 999, new Place(3)}), new Place(4)}), new Skeleton(new Cache("sys_write_list"), new Object[]{new Place(2), new Place(3), new Place(4)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(5), "]"})}, 0));
        add(new Clause(5, "sys_write_priority", new Object[]{new Skeleton("{}", new Object[]{new Place(1)}), new Skeleton("w", new Object[]{UNDEF_OBJ, UNDEF_OBJ, new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(4), "{"}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(1), new Skeleton("w", new Object[]{1, 1200, new Place(2)}), new Place(3)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(4), "}"})}, 0));
        add(new Clause(9, "sys_write_priority", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("functor"), new Object[]{new Place(1), new Place(4), 1}), new Skeleton(new Cache("sys_op"), new Object[]{new Place(4), new Place(5), new Place(6), new Place(7), UNDEF_OBJ}), new Skeleton(new Cache("sys_is_prefix"), new Object[]{new Place(5), new Place(8)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_prefix"), new Object[]{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 Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("functor"), new Object[]{new Place(1), new Place(4), 1}), new Skeleton(new Cache("sys_op"), new Object[]{new Place(4), new Place(5), new Place(6), new Place(7), UNDEF_OBJ}), new Skeleton(new Cache("sys_is_postfix"), new Object[]{new Place(5), new Place(8)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_postfix"), new Object[]{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 Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("functor"), new Object[]{new Place(1), new Place(4), 2}), new Skeleton(new Cache("sys_op"), new Object[]{new Place(4), new Place(5), new Place(6), new Place(7), UNDEF_OBJ}), new Skeleton(new Cache("sys_is_infix"), new Object[]{new Place(5), new Place(8), new Place(9)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_infix"), new Object[]{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 Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("compound"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_compound"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0));
        add(new Clause(3, "sys_write_priority", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_write_exotic"), new Object[]{new Place(0), new Place(1), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_number", 3})}, -1));
        add(new Clause(7, "sys_write_number", new Object[]{new Place(1), new Skeleton("w", new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ}), new Place(3)}, new Object[]{new Skeleton(new Cache("float"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_number"), new Object[]{new Place(4), new Place(1)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_safe_space"), new Object[]{new Place(5), new Place(4), new Place(2)}), new Skeleton(new Cache("sys_current_flags"), new Object[]{new Place(3), new Place(6)}), new Skeleton(new Cache("sys_print_atom"), new Object[]{new Place(5), new Place(4), new Place(6)})}, 0));
        add(new Clause(7, "sys_write_number", new Object[]{new Place(1), new Skeleton("w", new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ}), new Place(3)}, new Object[]{new Skeleton(new Cache("integer"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_integer"), new Object[]{new Place(4), 10, new Place(1)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_safe_space"), new Object[]{new Place(5), new Place(4), new Place(2)}), new Skeleton(new Cache("sys_current_flags"), new Object[]{new Place(3), new Place(6)}), new Skeleton(new Cache("sys_print_atom"), new Object[]{new Place(5), new Place(4), new Place(6)})}, 0));
        add(new Clause(4, "sys_write_number", new Object[]{Double.NEGATIVE_INFINITY, new Skeleton("w", new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(2), new Place(3)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(3), "-"}), new Skeleton(new Cache("sys_put_exotic"), new Object[]{Double.POSITIVE_INFINITY, new Place(1), new Place(2)})}, 0));
        add(new Clause(4, "sys_write_number", new Object[]{new Place(1), new Skeleton("w", new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ}), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_put_exotic"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_atom", 3})}, -1));
        add(new Clause(6, "sys_write_atom", new Object[]{new Place(1), new Skeleton("w", new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ}), new Place(3)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 1}), 0}), new Skeleton(new Cache("sys_op"), new Object[]{new Place(1), new Place(4), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("sys_is_prefix"), new Object[]{new Place(4), UNDEF_OBJ}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_put_lparen"), new Object[]{new Place(5), 1, 0, 1200, new Place(2), UNDEF_OBJ}), new Skeleton(new Cache("sys_put_ident"), new Object[]{new Place(1), 0, new Place(3), UNDEF_OBJ}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(5), ")"})}, 0));
        add(new Clause(3, "sys_write_atom", new Object[]{new Place(0), new Skeleton("w", new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ}), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_put_ident"), new Object[]{new Place(0), new Place(1), new Place(2), UNDEF_OBJ})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_exotic", 3})}, -1));
        add(new Clause(3, "sys_write_exotic", new Object[]{new Place(0), new Skeleton("w", new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ}), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_put_exotic"), new Object[]{new Place(0), new Place(1), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_numbervars", 3})}, -1));
        add(new Clause(6, "sys_write_numbervars", new Object[]{new Place(0), new Skeleton("w", new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ}), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_numbervars_name"), new Object[]{new Place(0), new Place(3)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_safe_space"), new Object[]{new Place(4), new Place(3), new Place(1)}), new Skeleton(new Cache("sys_current_flags"), new Object[]{new Place(2), new Place(5)}), new Skeleton(new Cache("sys_print_atom"), new Object[]{new Place(4), new Place(3), new Place(5)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_prefix", 6})}, -1));
        add(new Clause(18, "sys_write_prefix", new Object[]{new Place(0), new Skeleton("w", new Object[]{new Place(1), new Place(2), new Place(3)}), new Place(4), new Place(5), new Place(6), new Place(7)}, new Object[]{new Skeleton(new Cache("=.."), new Object[]{new Place(0), new Skeleton(".", new Object[]{new Place(8), new Skeleton(".", new Object[]{new Place(9), "[]"})})}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(4), new Place(10)}), new Skeleton(new Cache("sys_current_flags"), new Object[]{new Place(4), new Place(11)}), new Skeleton(new Cache("sys_put_lparen"), new Object[]{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 Object[]{new Place(3), new Place(11), new Place(6), new Place(13)}), new Skeleton(new Cache("sys_oper_minus"), new Object[]{new Place(8), new Place(12), new Place(14)}), new Skeleton(new Cache("sys_put_ident"), new Object[]{new Place(8), new Place(12), new Place(4), UNDEF_OBJ}), new Skeleton(new Cache("sys_put_rspace"), new Object[]{new Place(10), new Place(6), new Place(14), new Place(15)}), new Skeleton(new Cache("is"), new Object[]{new Place(16), new Skeleton(new Cache("-"), new Object[]{new Place(5), new Place(7)})}), new Skeleton(new Cache("is"), new Object[]{new Place(17), new Skeleton(new Cache("/\\"), new Object[]{new Place(15), new Frozen(new Cache("\\"), new Object[]{8})})}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(9), new Skeleton("w", new Object[]{new Place(17), new Place(16), new Place(13)}), new Place(4)}), new Skeleton(new Cache("sys_put_rparen"), new Object[]{new Place(10), new Place(7), new Place(2), new Place(5), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_postfix", 6})}, -1));
        add(new Clause(15, "sys_write_postfix", new Object[]{new Place(0), new Skeleton("w", new Object[]{new Place(1), new Place(2), new Place(3)}), new Place(4), new Place(5), new Place(6), new Place(7)}, new Object[]{new Skeleton(new Cache("=.."), new Object[]{new Place(0), new Skeleton(".", new Object[]{new Place(8), new Skeleton(".", new Object[]{new Place(9), "[]"})})}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(4), new Place(10)}), new Skeleton(new Cache("sys_put_lparen"), new Object[]{new Place(10), 1, new Place(2), new Place(5), new Place(1), new Place(11)}), new Skeleton(new Cache("sys_oper_escape"), new Object[]{new Place(8), new Place(11), new Place(12)}), new Skeleton(new Cache("sys_oper_side"), new Object[]{new Place(7), new Place(12), new Place(13)}), new Skeleton(new Cache("is"), new Object[]{new Place(14), new Skeleton(new Cache("-"), new Object[]{new Place(5), new Place(7)})}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(9), new Skeleton("w", new Object[]{new Place(13), new Place(14), new Place(3)}), new Place(4)}), new Skeleton(new Cache("sys_put_lspace"), new Object[]{new Place(10), new Place(6)}), new Skeleton(new Cache("sys_write_oper"), new Object[]{new Place(8), new Place(4), UNDEF_OBJ}), new Skeleton(new Cache("sys_put_rparen"), new Object[]{new Place(10), 1, new Place(2), new Place(5), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_infix", 7})}, -1));
        add(new Clause(22, "sys_write_infix", new Object[]{new Place(0), new Skeleton("w", new Object[]{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 Object[]{new Skeleton(new Cache("=.."), new Object[]{new Place(0), new Skeleton(".", new Object[]{new Place(9), new Skeleton(".", new Object[]{new Place(10), new Skeleton(".", new Object[]{new Place(11), "[]"})})})}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(4), new Place(12)}), new Skeleton(new Cache("sys_current_flags"), new Object[]{new Place(4), new Place(13)}), new Skeleton(new Cache("sys_put_lparen"), new Object[]{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 Object[]{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 Object[]{new Place(9), new Place(14), new Place(16)}), new Skeleton(new Cache("sys_oper_side"), new Object[]{new Place(7), new Place(16), new Place(17)}), new Skeleton(new Cache("is"), new Object[]{new Place(18), new Skeleton(new Cache("-"), new Object[]{new Place(5), new Place(7)})}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(10), new Skeleton("w", new Object[]{new Place(17), new Place(18), new Place(15)}), new Place(4)}), new Skeleton(new Cache("sys_put_lformat"), new Object[]{new Place(12), new Place(15), new Place(13), new Place(6)}), new Skeleton(new Cache("sys_write_oper"), new Object[]{new Place(9), new Place(4), new Place(19)}), new Skeleton(new Cache("sys_put_rformat"), new Object[]{new Place(12), new Place(15), new Place(13), new Place(6), new Place(19), new Place(14)}), new Skeleton(new Cache("is"), new Object[]{new Place(20), new Skeleton(new Cache("-"), new Object[]{new Place(5), new Place(8)})}), new Skeleton(new Cache("is"), new Object[]{new Place(21), new Skeleton(new Cache("/\\"), new Object[]{new Place(14), new Frozen(new Cache("\\"), new Object[]{14})})}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(11), new Skeleton("w", new Object[]{new Place(21), new Place(20), new Place(15)}), new Place(4)}), new Skeleton(new Cache("sys_put_rparen"), new Object[]{new Place(12), new Place(8), new Place(2), new Place(5), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_oper", 3})}, -1));
        add(new Clause(3, "sys_write_oper", new Object[]{",", new Place(1), ","}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(2), ","})}, 0));
        add(new Clause(3, "sys_write_oper", new Object[]{"|", new Place(1), "|"}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(2), "|"})}, 0));
        add(new Clause(3, "sys_write_oper", new Object[]{".", new Place(1), "."}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(2), "."})}, 0));
        add(new Clause(3, "sys_write_oper", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_put_ident"), new Object[]{new Place(0), 0, new Place(1), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_list", 3})}, -1));
        add(new Clause(5, "sys_write_list", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(4), "|"}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(1), new Skeleton("w", new Object[]{1, 999, new Place(2)}), new Place(3)})}, 0));
        add(new Clause(6, "sys_write_list", new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(4), new Place(5)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(5), ", "}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(1), new Skeleton("w", new Object[]{1, 999, new Place(3)}), new Place(4)}), new Skeleton(new Cache("sys_write_list"), new Object[]{new Place(2), new Place(3), new Place(4)})}, 0));
        add(new Clause(1, "sys_write_list", new Object[]{"[]", UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(4, "sys_write_list", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(2), new Place(3)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(3), "|"}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(0), new Skeleton("w", new Object[]{1, 999, new Place(1)}), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_compound", 3})}, -1));
        add(new Clause(8, "sys_write_compound", new Object[]{new Place(0), new Skeleton("w", new Object[]{new Place(1), UNDEF_OBJ, new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("=.."), new Object[]{new Place(0), new Skeleton(".", new Object[]{new Place(4), new Skeleton(".", new Object[]{new Place(5), new Place(6)})})}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(3), new Place(7)}), new Skeleton(new Cache("sys_put_symbol"), new Object[]{new Place(4), new Place(1), new Place(3)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(7), "("}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(5), new Skeleton("w", new Object[]{1, 999, new Place(2)}), new Place(3)}), new Skeleton(new Cache("sys_write_args"), new Object[]{new Place(6), new Place(2), new Place(3)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(7), ")"})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_symbol", 3})}, -1));
        add(new Clause(4, "sys_put_symbol", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("atom"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_put_ident"), new Object[]{new Place(1), new Place(2), new Place(3), UNDEF_OBJ})}, 0));
        add(new Clause(3, "sys_put_symbol", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_put_exotic"), new Object[]{new Place(0), new Place(1), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_args", 3})}, -1));
        add(new Clause(5, "sys_write_args", new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(4), ", "}), new Skeleton(new Cache("sys_write_priority"), new Object[]{new Place(0), new Skeleton("w", new Object[]{1, 999, new Place(2)}), new Place(3)}), new Skeleton(new Cache("sys_write_args"), new Object[]{new Place(1), new Place(2), new Place(3)})}, -1));
        add(new Clause(0, "sys_write_args", new Object[]{"[]", UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_var", 3})}, -1));
        add(new Clause(6, "sys_write_var", new Object[]{new Place(1), new Skeleton("w", new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ}), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_names"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("sys_find_var"), new Object[]{new Place(1), new Place(4), new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_name"), new Object[]{new Place(5), new Place(2), new Place(3)})}, 0));
        add(new Clause(5, "sys_write_var", new Object[]{new Place(1), new Skeleton("w", new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ}), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_anons"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("sys_find_sing"), new Object[]{new Place(1), new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_write_name"), new Object[]{"_", new Place(2), new Place(3)})}, 0));
        add(new Clause(8, "sys_write_var", new Object[]{new Place(0), new Skeleton("w", new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ}), new Place(2)}, new Object[]{new Skeleton(new Cache("term_hash"), new Object[]{new Place(0), new Place(3)}), new Skeleton(new Cache("atom_integer"), new Object[]{new Place(4), 10, new Place(3)}), new Skeleton(new Cache("atom_concat"), new Object[]{"_", new Place(4), new Place(5)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(2), new Place(6)}), new Skeleton(new Cache("sys_safe_space"), new Object[]{new Place(6), new Place(5), new Place(1)}), new Skeleton(new Cache("sys_current_flags"), new Object[]{new Place(2), new Place(7)}), new Skeleton(new Cache("sys_print_atom"), new Object[]{new Place(6), new Place(5), new Place(7)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_find_var", 3})}, -1));
        add(new Clause(5, "sys_find_var", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("member"), new Object[]{new Skeleton("=", new Object[]{new Place(3), new Place(4)}), new Place(2)}), new Skeleton(new Cache("=="), new Object[]{new Place(1), new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_find_sing", 2})}, -1));
        add(new Clause(4, "sys_find_sing", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("member"), new Object[]{new Place(3), new Place(2)}), new Skeleton(new Cache("=="), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_write_name", 3})}, -1));
        add(new Clause(6, "sys_write_name", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_current_flags"), new Object[]{new Place(2), new Place(3)}), new Skeleton(new Cache("sys_var_quoted"), new Object[]{new Place(0), new Place(3), new Place(4)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(2), new Place(5)}), new Skeleton(new Cache("sys_safe_space"), new Object[]{new Place(5), new Place(4), new Place(1)}), new Skeleton(new Cache("sys_print_atom"), new Object[]{new Place(5), new Place(4), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_var_quoted", 3})}, -1));
        add(new Clause(6, "sys_var_quoted", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 1}), 0}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(1), new Place(4)}), new Skeleton(make_defined(new Object[]{new Clause(2, "", new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("sys_proper_var"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Cache("fail")}, 0), new Clause(0, "", new Object[]{UNDEF_OBJ}, new Object[]{}, -1)}), new Object[]{new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_escape_codes"), new Object[]{new Place(4), new Place(5), new Frozen(".", new Object[]{96, "[]"})}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(3), new Skeleton(".", new Object[]{96, new Place(5)})})}, 0));
        add(new Clause(1, "sys_var_quoted", new Object[]{new Place(0), UNDEF_OBJ, new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_proper_var", 1})}, -1));
        add(new Clause(3, "sys_proper_var", new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)})}, new Object[]{new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_proper_var"), new Object[]{new Place(2), new Skeleton(".", new Object[]{new Place(0), new Place(1)})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_proper_var", 2})}, -1));
        add(new Clause(1, "sys_proper_var", new Object[]{"is_upper", new Skeleton(".", new Object[]{UNDEF_OBJ, new Place(0)})}, new Object[]{new Skeleton(new Cache("sys_proper_atom_name"), new Object[]{new Place(0)})}, -1));
        add(new Clause(1, "sys_proper_var", new Object[]{"is_score", new Skeleton(".", new Object[]{UNDEF_OBJ, new Place(0)})}, new Object[]{new Skeleton(new Cache("sys_proper_atom_name"), new Object[]{new Place(0)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_adjust", 4})}, -1));
        add(new Clause(3, "sys_put_adjust", new Object[]{new Place(1), new Place(2), UNDEF_OBJ, new Place(1)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 4}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(4, "sys_put_adjust", new Object[]{new Place(1), UNDEF_OBJ, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 12}), 12}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("+"), new Object[]{new Place(1), 3})})}, 0));
        add(new Clause(1, "sys_put_adjust", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ, new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_indent", 9})}, -1));
        add(new Clause(3, "sys_put_indent", new Object[]{UNDEF_OBJ, new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(1)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 4}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(3, "sys_put_indent", new Object[]{UNDEF_OBJ, new Place(1), UNDEF_OBJ, new Place(2), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(1)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 12}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(4, "sys_put_indent", new Object[]{UNDEF_OBJ, new Place(1), UNDEF_OBJ, new Place(2), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(3)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 12}), 12}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("+"), new Object[]{new Place(1), 3})})}, 0));
        add(new Clause(8, "sys_put_indent", new Object[]{new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ, new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)}, new Object[]{new Skeleton(new Cache("sys_needs_paren"), new Object[]{new Place(3), new Place(4), new Place(5), new Place(6)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("tab"), new Object[]{new Place(1), 2}), new Skeleton(new Cache("is"), new Object[]{new Place(7), new Skeleton(new Cache("+"), new Object[]{new Place(2), 3})})}, 0));
        add(new Clause(1, "sys_put_indent", new Object[]{UNDEF_OBJ, new Place(0), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_lparen", 6})}, -1));
        add(new Clause(7, "sys_put_lparen", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)}, new Object[]{new Skeleton(new Cache("sys_needs_paren"), new Object[]{new Place(2), new Place(3), new Place(4), new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_put_lparen2"), new Object[]{new Place(1), new Place(5), new Place(6)})}, 0));
        add(new Clause(1, "sys_put_lparen", new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_lparen2", 3})}, -1));
        add(new Clause(4, "sys_put_lparen2", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 2}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), " ("}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("\\/"), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), new Frozen(new Cache("\\"), new Object[]{6})}), 1})})}, 0));
        add(new Clause(3, "sys_put_lparen2", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("put_atom"), new Object[]{new Place(0), "("}), new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("\\/"), new Object[]{new Place(1), 1})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_rparen", 5})}, -1));
        add(new Clause(6, "sys_put_rparen", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("sys_needs_paren"), new Object[]{new Place(2), new Place(3), new Place(4), new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), ")"})}, 0));
        add(new Clause(0, "sys_put_rparen", new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_needs_paren", 4})}, -1));
        add(new Clause(3, "sys_needs_paren", new Object[]{UNDEF_OBJ, new Place(1), new Place(2), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("<"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_needs_paren", new Object[]{0, new Place(0), new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(1), 8}), 0})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_lformat", 4})}, -1));
        add(new Clause(4, "sys_put_lformat", new Object[]{new Place(1), UNDEF_OBJ, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 4}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_put_lspace"), new Object[]{new Place(1), new Place(3)})}, 0));
        add(new Clause(3, "sys_put_lformat", new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ, new Place(2)}, new Object[]{new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 12}), 8}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_put_lspace"), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_put_lformat", new Object[]{new Place(0), new Place(1), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("-"), new Object[]{new Place(1), 3})}), new Skeleton(new Cache("nl"), new Object[]{new Place(0)}), new Skeleton(new Cache("tab"), new Object[]{new Place(0), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_rformat", 6})}, -1));
        add(new Clause(5, "sys_put_rformat", new Object[]{new Place(1), UNDEF_OBJ, new Place(2), new Place(3), UNDEF_OBJ, new Place(4)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 4}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_put_rspace"), new Object[]{new Place(1), new Place(3), new Place(4), UNDEF_OBJ})}, 0));
        add(new Clause(4, "sys_put_rformat", new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ, new Place(2), UNDEF_OBJ, new Place(3)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 12}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_put_rspace"), new Object[]{new Place(1), new Place(2), new Place(3), UNDEF_OBJ})}, 0));
        add(new Clause(4, "sys_put_rformat", new Object[]{new Place(1), new Place(2), UNDEF_OBJ, new Place(3), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(3), 12}), 8}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("nl"), new Object[]{new Place(1)}), new Skeleton(new Cache("tab"), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(4, "sys_put_rformat", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(1), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("-"), new Object[]{3, new Place(2)})}), new Skeleton(new Cache("tab"), new Object[]{new Place(0), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_lspace", 2})}, -1));
        add(new Clause(3, "sys_put_lspace", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 2}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), " "})}, 0));
        add(new Clause(0, "sys_put_lspace", new Object[]{UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_rspace", 4})}, -1));
        add(new Clause(5, "sys_put_rspace", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 1}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("put_atom"), new Object[]{new Place(1), " "}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("/\\"), new Object[]{new Place(3), new Frozen(new Cache("\\"), new Object[]{6})})})}, 0));
        add(new Clause(2, "sys_put_rspace", new Object[]{UNDEF_OBJ, UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("is"), new Object[]{new Place(1), new Skeleton(new Cache("\\/"), new Object[]{new Place(0), 2})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_oper_side", 3})}, -1));
        add(new Clause(3, "sys_oper_side", new Object[]{0, new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("\\/"), new Object[]{new Place(1), 8})})}, 0));
        add(new Clause(2, "sys_oper_side", new Object[]{UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("is"), new Object[]{new Place(1), new Skeleton(new Cache("/\\"), new Object[]{new Place(0), new Frozen(new Cache("\\"), new Object[]{8})})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_oper_minus", 3})}, -1));
        add(new Clause(3, "sys_oper_minus", new Object[]{"-", new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("\\/"), new Object[]{new Place(1), 4})})}, 0));
        add(new Clause(2, "sys_oper_minus", new Object[]{UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("is"), new Object[]{new Place(1), new Skeleton(new Cache("/\\"), new Object[]{new Place(0), new Frozen(new Cache("\\"), new Object[]{4})})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_oper_escape", 3})}, -1));
        add(new Clause(3, "sys_oper_escape", new Object[]{",", new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("\\/"), new Object[]{new Place(1), 1})})}, 0));
        add(new Clause(3, "sys_oper_escape", new Object[]{"|", new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("\\/"), new Object[]{new Place(1), 1})})}, 0));
        add(new Clause(2, "sys_oper_escape", new Object[]{UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("is"), new Object[]{new Place(1), new Skeleton(new Cache("/\\"), new Object[]{new Place(0), new Frozen(new Cache("\\"), new Object[]{1})})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_current_stream", 2})}, -1));
        add(new Clause(1, "sys_current_stream", new Object[]{new Skeleton("v", new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_current_flags", 2})}, -1));
        add(new Clause(1, "sys_current_flags", new Object[]{new Skeleton("v", new Object[]{UNDEF_OBJ, new Place(0), UNDEF_OBJ, UNDEF_OBJ}), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_current_names", 2})}, -1));
        add(new Clause(1, "sys_current_names", new Object[]{new Skeleton("v", new Object[]{UNDEF_OBJ, UNDEF_OBJ, new Place(0), UNDEF_OBJ}), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_current_anons", 2})}, -1));
        add(new Clause(1, "sys_current_anons", new Object[]{new Skeleton("v", new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(0)}), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_ident", 4})}, -1));
        add(new Clause(6, "sys_put_ident", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_flags"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_atom_quoted"), new Object[]{new Place(0), new Place(4), new Place(3)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(2), new Place(5)}), new Skeleton(new Cache("sys_safe_space"), new Object[]{new Place(5), new Place(3), new Place(1)}), new Skeleton(new Cache("sys_print_atom"), new Object[]{new Place(5), new Place(3), new Place(4)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_atom_quoted", 3})}, -1));
        add(new Clause(6, "sys_atom_quoted", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 1}), 0}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(1), new Place(4)}), new Skeleton(make_defined(new Object[]{new Clause(2, "", new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("sys_proper_atom"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Cache("fail")}, 0), new Clause(0, "", new Object[]{UNDEF_OBJ}, new Object[]{}, -1)}), new Object[]{new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_escape_codes"), new Object[]{new Place(4), new Place(5), new Frozen(".", new Object[]{39, "[]"})}), new Skeleton(new Cache("atom_codes"), new Object[]{new Place(3), new Skeleton(".", new Object[]{39, new Place(5)})})}, 0));
        add(new Clause(1, "sys_atom_quoted", new Object[]{new Place(0), UNDEF_OBJ, new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_put_exotic", 3})}, -1));
        add(new Clause(7, "sys_put_exotic", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_current_flags"), new Object[]{new Place(2), new Place(3)}), new Skeleton(new Cache("sys_unconvert_exotic"), new Object[]{new Place(4), new Place(0)}), new Skeleton(new Cache("sys_exotic_quoted"), new Object[]{new Place(4), new Place(3), new Place(5)}), new Skeleton(new Cache("sys_current_stream"), new Object[]{new Place(2), new Place(6)}), new Skeleton(new Cache("sys_safe_space"), new Object[]{new Place(6), new Place(5), new Place(1)}), new Skeleton(new Cache("sys_print_atom"), new Object[]{new Place(6), new Place(5), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_unconvert_exotic", 2})}, -1));
        add(new Clause(3, "sys_unconvert_exotic", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_atom_exotic"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(2, "sys_unconvert_exotic", new Object[]{"Special", new Place(1)}, new Object[]{new Skeleton(new Cache("number"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0));
        add(new Clause(0, "sys_unconvert_exotic", new Object[]{"Reference", UNDEF_OBJ}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_exotic_quoted", 3})}, -1));
        add(new Clause(4, "sys_exotic_quoted", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(2), 1}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_concat"), new Object[]{"0r", new Place(1), new Place(3)})}, 0));
        add(new Clause(1, "sys_exotic_quoted", new Object[]{new Place(0), UNDEF_OBJ, new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_term", 4})}, -1));
        add(new Clause(9, "sys_read_term", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_read_opts"), new Object[]{new Place(2), new Frozen("z", new Object[]{1200, 0}), new Skeleton("z", new Object[]{new Place(4), new Place(5)})}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Skeleton("t", new Object[]{"-", new Place(5), new Skeleton("r", new Object[]{new Place(1), new Place(0)}), new Frozen("s", new Object[]{"[]", "[]"})}), new Place(6)}), new Skeleton(new Cache("sys_read_optional"), new Object[]{new Place(7), new Place(4), new Place(6), new Skeleton("t", new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(8)})}), new Skeleton(new Cache("sys_read_results"), new Object[]{new Place(2), new Place(8)}), new Skeleton(new Cache("="), new Object[]{new Place(3), new Place(7)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_optional", 4})}, -1));
        add(new Clause(4, "sys_read_optional", new Object[]{"end_of_file", UNDEF_OBJ, new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_current_token"), new Object[]{"end_of_file", new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(3), new Place(2)})}, 0));
        add(new Clause(5, "sys_read_optional", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_read_priority"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(4)}), new Skeleton(new Cache("sys_read_end_of_term"), new Object[]{new Place(4), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_end_of_term", 2})}, -1));
        add(new Clause(5, "sys_read_end_of_term", new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_current_options"), new Object[]{new Place(3), new Place(1), new Place(4)}), new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(3), 1}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_read_end"), new Object[]{"end_of_file", new Place(4), new Place(2)})}, 0));
        add(new Clause(2, "sys_read_end_of_term", new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_read_end"), new Object[]{".", new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_priority", 4})}, -1));
        add(new Clause(11, "sys_read_priority", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(4), new Place(2), new Place(5)}), new Skeleton(new Cache("sys_read_factor"), new Object[]{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 Object[]{new Place(9), new Place(8), new Place(10)}), new Skeleton(new Cache("sys_read_secondary"), new Object[]{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 Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_secondary", 7})}, -1));
        add(new Clause(8, "sys_read_secondary", new Object[]{new Skeleton("atom", new Object[]{new Place(1)}), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_read_infix"), new Object[]{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 Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(1), ","}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_read_infix"), new Object[]{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 Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(1), "|"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_read_infix"), new Object[]{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", new Object[]{UNDEF_OBJ, new Place(0), new Place(0), UNDEF_OBJ, UNDEF_OBJ, new Place(1), new Place(1)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_infix", 7})}, -1));
        add(new Clause(20, "sys_read_infix", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)}, new Object[]{new Skeleton(new Cache("sys_op"), new Object[]{new Place(1), new Place(8), new Place(9), UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("sys_is_infix"), new Object[]{new Place(8), new Place(10), new Place(11)}), new Skeleton(new Cache(">="), new Object[]{new Place(4), new Place(9)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(6), new Place(12)}), new Skeleton(make_defined(new Object[]{new Clause(6, "", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("<"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(1), new Place(2)}), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_sync_throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"operator_clash"}), UNDEF_OBJ}), new Place(4), new Place(5)})}, 0), new Clause(2, "", new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1)}), new Object[]{new Place(9), new Place(10), new Place(5), new Place(12), new Place(13)}), new Skeleton(new Cache("is"), new Object[]{new Place(14), new Skeleton(new Cache("-"), new Object[]{new Place(9), new Place(11)})}), new Skeleton(new Cache("sys_read_priority"), new Object[]{new Place(15), new Place(14), new Place(13), new Place(16)}), new Skeleton(new Cache("=.."), new Object[]{new Place(17), new Skeleton(".", new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(2), new Skeleton(".", new Object[]{new Place(15), "[]"})})})}), new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(18), new Place(16), new Place(19)}), new Skeleton(new Cache("sys_read_secondary"), new Object[]{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 Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)}, new Object[]{new Skeleton(new Cache("sys_op"), new Object[]{new Place(1), new Place(8), new Place(9), UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("sys_is_postfix"), new Object[]{new Place(8), new Place(10)}), new Skeleton(new Cache(">="), new Object[]{new Place(4), new Place(9)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(6), new Place(11)}), new Skeleton(make_defined(new Object[]{new Clause(6, "", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("<"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(1), new Place(2)}), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_sync_throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"operator_clash"}), UNDEF_OBJ}), new Place(4), new Place(5)})}, 0), new Clause(2, "", new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1)}), new Object[]{new Place(9), new Place(10), new Place(5), new Place(11), new Place(12)}), new Skeleton(new Cache("=.."), new Object[]{new Place(13), new Skeleton(".", new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(2), "[]"})})}), new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(14), new Place(12), new Place(15)}), new Skeleton(new Cache("sys_read_secondary"), new Object[]{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", new Object[]{UNDEF_OBJ, new Place(0), new Place(0), UNDEF_OBJ, UNDEF_OBJ, new Place(1), new Place(1)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_lookup_var", 4})}, -1));
        add(new Clause(7, "sys_lookup_var", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_current_vars"), new Object[]{new Place(5), new Place(3), new Place(6)}), new Skeleton(new Cache("member"), new Object[]{new Skeleton("=", new Object[]{new Place(1), new Place(2)}), new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_remove_anon"), new Object[]{new Place(1), new Place(6), new Place(4)})}, 0));
        add(new Clause(9, "sys_lookup_var", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_vars"), new Object[]{new Place(4), new Place(2), new Place(5)}), new Skeleton(new Cache("sys_set_vars"), new Object[]{new Skeleton(".", new Object[]{new Skeleton("=", new Object[]{new Place(0), new Place(1)}), new Place(4)}), new Place(5), new Place(6)}), new Skeleton(new Cache("sys_current_sings"), new Object[]{new Place(7), new Place(6), new Place(8)}), new Skeleton(new Cache("sys_set_sings"), new Object[]{new Skeleton(".", new Object[]{new Skeleton("=", new Object[]{new Place(0), new Place(1)}), new Place(7)}), new Place(8), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_remove_anon", 3})}, -1));
        add(new Clause(7, "sys_remove_anon", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_sings"), new Object[]{new Place(4), new Place(2), new Place(5)}), new Skeleton(new Cache("select"), new Object[]{new Skeleton("=", new Object[]{new Place(1), UNDEF_OBJ}), new Place(4), new Place(6)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_set_sings"), new Object[]{new Place(6), new Place(5), new Place(3)})}, 0));
        add(new Clause(1, "sys_remove_anon", new Object[]{UNDEF_OBJ, new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_current_token", 3})}, -1));
        add(new Clause(4, "sys_current_token", new Object[]{new Place(0), new Skeleton("t", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}), new Skeleton("t", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)})}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_current_options", 3})}, -1));
        add(new Clause(4, "sys_current_options", new Object[]{new Place(0), new Skeleton("t", new Object[]{new Place(1), new Place(0), new Place(2), new Place(3)}), new Skeleton("t", new Object[]{new Place(1), new Place(0), new Place(2), new Place(3)})}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_reach_code", 3})}, -1));
        add(new Clause(5, "sys_reach_code", new Object[]{new Place(0), new Skeleton("t", new Object[]{new Place(1), new Place(2), new Skeleton("r", new Object[]{new Place(3), new Place(0)}), new Place(4)}), new Skeleton("t", new Object[]{new Place(1), new Place(2), new Skeleton("r", new Object[]{new Place(3), new Place(0)}), new Place(4)})}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_current_vars", 3})}, -1));
        add(new Clause(5, "sys_current_vars", new Object[]{new Place(0), new Skeleton("t", new Object[]{new Place(1), new Place(2), new Place(3), new Skeleton("s", new Object[]{new Place(0), new Place(4)})}), new Skeleton("t", new Object[]{new Place(1), new Place(2), new Place(3), new Skeleton("s", new Object[]{new Place(0), new Place(4)})})}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_set_vars", 3})}, -1));
        add(new Clause(5, "sys_set_vars", new Object[]{new Place(0), new Skeleton("t", new Object[]{new Place(1), new Place(2), new Place(3), new Skeleton("s", new Object[]{UNDEF_OBJ, new Place(4)})}), new Skeleton("t", new Object[]{new Place(1), new Place(2), new Place(3), new Skeleton("s", new Object[]{new Place(0), new Place(4)})})}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_current_sings", 3})}, -1));
        add(new Clause(5, "sys_current_sings", new Object[]{new Place(0), new Skeleton("t", new Object[]{new Place(1), new Place(2), new Place(3), new Skeleton("s", new Object[]{new Place(4), new Place(0)})}), new Skeleton("t", new Object[]{new Place(1), new Place(2), new Place(3), new Skeleton("s", new Object[]{new Place(4), new Place(0)})})}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_set_sings", 3})}, -1));
        add(new Clause(5, "sys_set_sings", new Object[]{new Place(0), new Skeleton("t", new Object[]{new Place(1), new Place(2), new Place(3), new Skeleton("s", new Object[]{new Place(4), UNDEF_OBJ})}), new Skeleton("t", new Object[]{new Place(1), new Place(2), new Place(3), new Skeleton("s", new Object[]{new Place(4), new Place(0)})})}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_factor", 6})}, -1));
        add(new Clause(10, "sys_read_factor", new Object[]{new Skeleton("atom", new Object[]{new Place(1)}), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_reach_code"), new Object[]{new Place(7), new Place(5), new Place(8)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(8), new Place(9)}), new Skeleton(new Cache("sys_read_atom"), new Object[]{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", new Object[]{"anon", UNDEF_OBJ, UNDEF_OBJ, 0, new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(6, "sys_read_factor", new Object[]{new Skeleton("var", new Object[]{new Place(1)}), new Place(2), UNDEF_OBJ, 0, new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_lookup_var"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(5), new Place(4)})}, 0));
        add(new Clause(9, "sys_read_factor", new Object[]{"[", new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(4), new Place(6)}), new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(7), new Place(6), new Place(8)}), new Skeleton(new Cache("sys_read_list"), new Object[]{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 Object[]{"{", new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(4), new Place(6)}), new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(7), new Place(6), new Place(8)}), new Skeleton(new Cache("sys_read_set"), new Object[]{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 Object[]{"(", new Place(1), UNDEF_OBJ, 0, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_read_priority"), new Object[]{new Place(1), 1200, new Place(4), new Place(5)}), new Skeleton(new Cache("sys_read_end"), new Object[]{")", new Place(5), new Place(6)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(6), new Place(3)})}, 0));
        add(new Clause(4, "sys_read_factor", new Object[]{new Skeleton("const", new Object[]{new Place(1)}), new Place(1), UNDEF_OBJ, 0, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(2, "sys_read_factor", new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_sync_throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"cannot_start_term"}), UNDEF_OBJ}), new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_atom", 7})}, -1));
        add(new Clause(13, "sys_read_atom", new Object[]{40, new Place(1), new Place(2), UNDEF_OBJ, 0, new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_read_priority"), new Object[]{new Place(6), 999, new Place(5), new Place(7)}), new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(8), new Place(7), new Place(9)}), new Skeleton(new Cache("sys_read_args"), new Object[]{new Place(8), new Place(10), new Place(9), new Place(11)}), new Skeleton(new Cache("sys_read_end"), new Object[]{")", new Place(11), new Place(12)}), new Skeleton(new Cache("=.."), new Object[]{new Place(2), new Skeleton(".", new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(6), new Place(10)})})}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(12), new Place(4)})}, 0));
        add(new Clause(11, "sys_read_atom", new Object[]{new Place(1), "-", new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)}, new Object[]{new Skeleton(new Cache("sys_code_class"), new Object[]{new Place(1), "is_digit"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(7), new Place(5), new Place(8)}), new Skeleton(new Cache("sys_read_factor"), new Object[]{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 Object[]{new Place(9), new Place(2), new Place(10), new Place(6)})}, 0));
        add(new Clause(12, "sys_read_atom", new Object[]{UNDEF_OBJ, new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)}, new Object[]{new Skeleton(new Cache("sys_op"), new Object[]{new Place(1), new Place(7), new Place(8), UNDEF_OBJ, UNDEF_OBJ}), new Skeleton(new Cache("sys_is_prefix"), new Object[]{new Place(7), new Place(9)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(10), new Place(5), new Place(11)}), new Skeleton(new Cache("sys_read_prefix"), new Object[]{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", new Object[]{UNDEF_OBJ, new Place(0), new Place(0), UNDEF_OBJ, 0, new Place(1), new Place(1)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_prefix", 9})}, -1));
        add(new Clause(4, "sys_read_prefix", new Object[]{",", new Place(1), new Place(1), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, 0, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_read_prefix", new Object[]{"|", new Place(1), new Place(1), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, 0, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_read_prefix", new Object[]{")", new Place(1), new Place(1), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, 0, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_read_prefix", new Object[]{"]", new Place(1), new Place(1), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, 0, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_read_prefix", new Object[]{"}", new Place(1), new Place(1), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, 0, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_read_prefix", new Object[]{".", new Place(1), new Place(1), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, 0, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(11, "sys_read_prefix", new Object[]{UNDEF_OBJ, 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 Object[]{new Skeleton(make_defined(new Object[]{new Clause(5, "", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("<"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_sync_throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"operator_clash"}), UNDEF_OBJ}), new Place(3), new Place(4)})}, 0), new Clause(2, "", new Object[]{UNDEF_OBJ, UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1)}), new Object[]{new Place(2), new Place(3), new Place(5), new Place(7)}), new Skeleton(new Cache("is"), new Object[]{new Place(8), new Skeleton(new Cache("-"), new Object[]{new Place(3), new Place(4)})}), new Skeleton(new Cache("sys_read_priority"), new Object[]{new Place(9), new Place(8), new Place(7), new Place(10)}), new Skeleton(new Cache("=.."), new Object[]{new Place(0), new Skeleton(".", new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(9), "[]"})})}), new Skeleton(new Cache("="), new Object[]{new Place(10), new Place(6)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_neg", 4})}, -1));
        add(new Clause(5, "sys_read_neg", new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("number"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("-"), new Object[]{new Place(1)})}), new Skeleton(new Cache("="), new Object[]{new Place(3), new Place(4)})}, 0));
        add(new Clause(2, "sys_read_neg", new Object[]{UNDEF_OBJ, UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_sync_throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"illegal_number"}), UNDEF_OBJ}), new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_args", 4})}, -1));
        add(new Clause(9, "sys_read_args", new Object[]{",", new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_read_priority"), new Object[]{new Place(1), 999, new Place(5), new Place(6)}), new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(7), new Place(6), new Place(8)}), new Skeleton(new Cache("sys_read_args"), new Object[]{new Place(7), new Place(2), new Place(8), new Place(4)})}, 0));
        add(new Clause(1, "sys_read_args", new Object[]{UNDEF_OBJ, "[]", new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_list", 6})}, -1));
        add(new Clause(9, "sys_read_list", new Object[]{"]", new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_reach_code"), new Object[]{new Place(6), new Place(4), new Place(7)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(7), new Place(8)}), new Skeleton(new Cache("sys_read_atom"), new Object[]{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", new Object[]{UNDEF_OBJ, new Skeleton(".", new Object[]{new Place(0), new Place(1)}), UNDEF_OBJ, 0, new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_read_priority"), new Object[]{new Place(0), 999, new Place(2), new Place(4)}), new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_read_rest"), new Object[]{new Place(5), new Place(1), new Place(6), new Place(7)}), new Skeleton(new Cache("sys_read_end"), new Object[]{"]", new Place(7), new Place(8)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(8), new Place(3)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_rest", 4})}, -1));
        add(new Clause(9, "sys_read_rest", new Object[]{",", new Skeleton(".", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(3), new Place(5)}), new Skeleton(new Cache("sys_read_priority"), new Object[]{new Place(1), 999, new Place(5), new Place(6)}), new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(7), new Place(6), new Place(8)}), new Skeleton(new Cache("sys_read_rest"), new Object[]{new Place(7), new Place(2), new Place(8), new Place(4)})}, 0));
        add(new Clause(5, "sys_read_rest", new Object[]{"|", new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_read_priority"), new Object[]{new Place(1), 999, new Place(4), new Place(3)})}, 0));
        add(new Clause(1, "sys_read_rest", new Object[]{UNDEF_OBJ, "[]", new Place(0), new Place(0)}, new Object[]{}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_set", 6})}, -1));
        add(new Clause(9, "sys_read_set", new Object[]{"}", new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_reach_code"), new Object[]{new Place(6), new Place(4), new Place(7)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(7), new Place(8)}), new Skeleton(new Cache("sys_read_atom"), new Object[]{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", new Object[]{UNDEF_OBJ, new Skeleton("{}", new Object[]{new Place(0)}), UNDEF_OBJ, 0, new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_read_priority"), new Object[]{new Place(0), 1200, new Place(1), new Place(3)}), new Skeleton(new Cache("sys_read_end"), new Object[]{"}", new Place(3), new Place(4)}), new Skeleton(new Cache("sys_next_token"), new Object[]{new Place(4), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_end", 3})}, -1));
        add(new Clause(5, "sys_read_end", new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(1), new Place(2), new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(4), new Place(3)})}, 0));
        add(new Clause(3, "sys_read_end", new Object[]{".", new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_sync_throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"end_of_clause_expected"}), UNDEF_OBJ}), new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_read_end", new Object[]{"end_of_file", new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_sync_throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"end_of_clause_expected"}), UNDEF_OBJ}), new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_read_end", new Object[]{")", new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_sync_throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"parenthesis_balance"}), UNDEF_OBJ}), new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_read_end", new Object[]{"}", new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_sync_throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"brace_balance"}), UNDEF_OBJ}), new Place(1), new Place(2)})}, 0));
        add(new Clause(2, "sys_read_end", new Object[]{"]", new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_sync_throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("syntax_error", new Object[]{"bracket_balance"}), UNDEF_OBJ}), new Place(0), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_next_token", 2})}, -1));
        add(new Clause(8, "sys_next_token", new Object[]{new Skeleton("t", new Object[]{UNDEF_OBJ, new Place(0), new Skeleton("r", new Object[]{new Place(1), new Place(2)}), new Place(3)}), new Skeleton("t", new Object[]{new Place(4), new Place(0), new Skeleton("r", new Object[]{new Place(1), new Place(5)}), new Place(3)})}, new Object[]{new Skeleton(new Cache("sys_get_token"), new Object[]{new Place(6), new Skeleton("-", new Object[]{new Place(1), new Place(2)}), new Skeleton("-", new Object[]{UNDEF_OBJ, new Place(5)})}), new Skeleton(new Cache("sys_trap"), new Object[]{new Skeleton("sys_convert_token", new Object[]{new Place(6), new Place(4)}), new Place(7), new Skeleton("sys_sync_raise", new Object[]{new Place(7), new Skeleton("t", new Object[]{new Place(6), new Place(0), new Skeleton("r", new Object[]{new Place(1), new Place(5)}), new Place(3)}), UNDEF_OBJ})})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_sync_throw", 3})}, -1));
        add(new Clause(3, "sys_sync_throw", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_fill_line"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_fill_stack"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_sync_raise"), new Object[]{new Place(0), new Place(1), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_sync_raise", 3})}, -1));
        add(new Clause(6, "sys_sync_raise", new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(3), new Place(1), new Place(4)}), new Skeleton(new Cache("sys_sync_tokens"), new Object[]{new Place(3), new Place(4), new Place(5)}), new Skeleton(new Cache("sys_raise"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(5), new Place(2)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_sync_tokens", 3})}, -1));
        add(new Clause(4, "sys_sync_tokens", new Object[]{new Skeleton("single", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("member"), new Object[]{-1, new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_sync_tokens", new Object[]{new Skeleton("codes", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("member"), new Object[]{-1, new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_sync_tokens", new Object[]{new Skeleton("back", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("member"), new Object[]{-1, new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(4, "sys_sync_tokens", new Object[]{new Skeleton("code", new Object[]{new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("member"), new Object[]{-1, new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, 0));
        add(new Clause(3, "sys_sync_tokens", new Object[]{".", new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(3, "sys_sync_tokens", new Object[]{"end_of_file", new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), new Place(2)})}, 0));
        add(new Clause(5, "sys_sync_tokens", new Object[]{UNDEF_OBJ, new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_sync_token"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_current_token"), new Object[]{new Place(3), new Place(2), new Place(4)}), new Skeleton(new Cache("sys_sync_tokens"), new Object[]{new Place(3), new Place(4), new Place(1)})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_sync_token", 2})}, -1));
        add(new Clause(6, "sys_sync_token", new Object[]{new Skeleton("t", new Object[]{UNDEF_OBJ, new Place(0), new Skeleton("r", new Object[]{new Place(1), new Place(2)}), new Place(3)}), new Skeleton("t", new Object[]{new Place(4), new Place(0), new Skeleton("r", new Object[]{new Place(1), new Place(5)}), new Place(3)})}, new Object[]{new Skeleton(new Cache("sys_get_token"), new Object[]{new Place(4), new Skeleton("-", new Object[]{new Place(1), new Place(2)}), new Skeleton("-", new Object[]{UNDEF_OBJ, new Place(5)})})}, -1));
    }

}
