package nova;

import nova.Store.Clause;
import nova.Store.Place;
import nova.Store.Skeleton;
import nova.Store.Cache;
import nova.Store.Goal;
import nova.Store.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 Bootload {

    public static void boot9() {
        add("sys_trans_horn", 2, new Clause(1, 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, UNDEF_OBJ));
        add("sys_trans_horn", 2, new Clause(4, new Object[]{new Skeleton(":-", new Object[]{new Place(1)}), new Skeleton("tr_goal", new Object[]{new Place(2), new Place(3)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_trans_body"), new Object[]{new Place(1), "nothing", new Place(2), new Place(3), "[]"})}, 0, ":-"));
        add("sys_trans_horn", 2, new Clause(5, new Object[]{new Skeleton(":-", new Object[]{new Place(1), new Place(2)}), new Skeleton("tr_clause", new Object[]{new Place(3), new Place(1), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_check_callable"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_trans_body"), new Object[]{new Place(2), "nothing", new Place(3), new Place(4), "[]"})}, 0, ":-"));
        add("sys_trans_horn", 2, new Clause(1, new Object[]{new Place(0), new Skeleton("tr_clause", new Object[]{"nothing", new Place(0), "[]"})}, new Object[]{new Skeleton(new Cache("sys_check_callable"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ));
        add("sys_trans_body", 5, new Clause(5, new Object[]{new Place(1), new Place(2), new Place(2), new Place(3), new Place(4)}, 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("="), new Object[]{new Place(3), new Skeleton(".", new Object[]{new Skeleton("call", new Object[]{new Place(1)}), new Place(4)})})}, 0, UNDEF_OBJ));
        add("sys_trans_body", 5, new Clause(4, new Object[]{"true", 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, "true"));
        add("sys_trans_body", 5, new Clause(9, 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("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_trans_body"), new Object[]{new Place(1), new Place(3), new Place(7), new Place(5), new Place(8)}), new Skeleton(new Cache("sys_trans_body"), new Object[]{new Place(2), new Place(7), new Place(4), new Place(8), new Place(6)})}, 0, ","));
        add("sys_trans_body", 5, new Clause(8, new 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("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_trans_disj"), new Object[]{new Skeleton(";", new Object[]{new Place(1), new Place(2)}), 0, new Place(3), new Place(4), new Place(7)}), new Skeleton(new Cache("="), new Object[]{new Place(5), new Skeleton(".", new Object[]{new Skeleton("$ALT", new Object[]{new Place(7)}), new Place(6)})})}, 0, ";"));
        add("sys_trans_body", 5, new Clause(8, 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("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_trans_disj"), new Object[]{new Skeleton("->", new Object[]{new Place(1), new Place(2)}), 0, new Place(3), new Place(4), new Place(7)}), new Skeleton(new Cache("="), new Object[]{new Place(5), new Skeleton(".", new Object[]{new Skeleton("$ALT", new Object[]{new Place(7)}), new Place(6)})})}, 0, "->"));
        add("sys_trans_body", 5, new Clause(5, new Object[]{"!", new Place(1), new Skeleton("just", new Object[]{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_trans_cut"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("="), new Object[]{new Place(3), new Skeleton(".", new Object[]{new Skeleton("$CUT", new Object[]{new Place(2)}), new Place(4)})})}, 0, "!"));
        add("sys_trans_body", 5, new Clause(4, new Object[]{new Place(0), new Place(1), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_check_callable"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Skeleton(".", new Object[]{new Place(0), new Place(3)})})}, -1, UNDEF_OBJ));
        add("sys_trans_cut", 2, new Clause(1, new Object[]{"nothing", UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, "nothing"));
        add("sys_trans_cut", 2, new Clause(1, new Object[]{new Skeleton("just", new Object[]{new Place(0)}), new Place(0)}, new Object[]{}, -1, "just"));
        add("sys_trans_disj", 5, new Clause(5, new Object[]{new Place(1), UNDEF_OBJ, new Place(2), new Place(3), new Skeleton(".", new Object[]{new Place(4), "[]"})}, 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_trans_alter"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), UNDEF_OBJ})}, 0, UNDEF_OBJ));
        add("sys_trans_disj", 5, new Clause(9, new Object[]{new Skeleton(";", new Object[]{new Place(1), new Place(2)}), UNDEF_OBJ, new Place(3), new Place(4), new Skeleton(".", new Object[]{new Place(5), new Place(6)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_trans_alter"), new Object[]{new Place(1), new Place(3), new Place(7), new Place(5), new Place(8)}), new Skeleton(new Cache("sys_trans_disj"), new Object[]{new Place(2), new Place(8), new Place(7), new Place(4), new Place(6)})}, 0, ";"));
        add("sys_trans_disj", 5, new Clause(2, new Object[]{"fail", 1, new Place(1), new Place(1), "[]"}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, "fail"));
        add("sys_trans_disj", 5, new Clause(4, new Object[]{new Place(0), UNDEF_OBJ, new Place(1), new Place(2), new Skeleton(".", new Object[]{new Place(3), "[]"})}, new Object[]{new Skeleton(new Cache("sys_trans_alter"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(3), UNDEF_OBJ})}, -1, UNDEF_OBJ));
        add("sys_trans_alter", 5, new Clause(5, new Object[]{new Place(1), new Place(2), new Place(3), new Skeleton("$SEQ", new Object[]{"nothing", new Place(4)}), 0}, 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_trans_body"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), "[]"})}, 0, UNDEF_OBJ));
        add("sys_trans_alter", 5, new Clause(10, new Object[]{new Skeleton("->", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4), new Skeleton("$SEQ", new Object[]{new Skeleton("just", new Object[]{new Place(5)}), new Place(6)}), 1}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_trans_body"), new Object[]{new Place(1), "nothing", new Place(7), new Place(8), new Skeleton(".", new Object[]{new Skeleton("$CUT", new Object[]{new Place(5)}), new Place(9)})}), new Skeleton(new Cache("sys_trans_body"), new Object[]{new Place(2), new Place(3), new Place(4), new Place(9), "[]"}), new Skeleton(new Cache("sys_trans_mark"), new Object[]{new Place(7), new Place(6), new Place(8)})}, 0, "->"));
        add("sys_trans_alter", 5, new Clause(4, new Object[]{new Place(0), new Place(1), new Place(2), new Skeleton("$SEQ", new Object[]{"nothing", new Place(3)}), 0}, new Object[]{new Skeleton(new Cache("sys_trans_body"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(3), "[]"})}, -1, UNDEF_OBJ));
        add("sys_trans_mark", 3, new Clause(3, new Object[]{new Skeleton("just", new Object[]{new Place(1)}), new Skeleton(".", new Object[]{new Skeleton("$MARK", new Object[]{new Place(1)}), new Place(2)}), new Place(2)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, "just"));
        add("sys_trans_mark", 3, new Clause(1, new Object[]{"nothing", new Place(0), new Place(0)}, new Object[]{}, -1, "nothing"));
        add("sys_untrans_body", 3, new Clause(0, new Object[]{"[]", UNDEF_OBJ, "true"}, new Object[]{}, -1, "[]"));
        add("sys_untrans_body", 3, new Clause(4, 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_untrans_rest"), new Object[]{new Place(1), new Place(0), new Place(2), new Place(3)})}, -1, "."));
        add("sys_untrans_rest", 4, new Clause(3, new Object[]{"[]", new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_untrans_goal"), new Object[]{new Place(0), new Place(1), new Place(2)})}, -1, "[]"));
        add("sys_untrans_rest", 4, new Clause(6, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2), new Place(3), new Skeleton(",", new Object[]{new Place(4), new Place(5)})}, new Object[]{new Skeleton(new Cache("sys_untrans_goal"), new Object[]{new Place(2), new Place(3), new Place(4)}), new Skeleton(new Cache("sys_untrans_rest"), new Object[]{new Place(1), new Place(0), new Place(3), new Place(5)})}, -1, "."));
        add("sys_untrans_goal", 3, new Clause(4, new Object[]{new Skeleton("$ALT", 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_untrans_disj"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0, "$ALT"));
        add("sys_untrans_goal", 3, new Clause(3, new Object[]{new Skeleton("$CUT", new Object[]{new Place(1)}), new Skeleton("just", new Object[]{new Place(2)}), "!"}, 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, "$CUT"));
        add("sys_untrans_goal", 3, new Clause(1, new Object[]{new Place(0), UNDEF_OBJ, new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_untrans_disj", 3, new Clause(0, new Object[]{"[]", UNDEF_OBJ, "fail"}, new Object[]{}, -1, "[]"));
        add("sys_untrans_disj", 3, new Clause(4, 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_untrans_more"), new Object[]{new Place(1), new Place(0), new Place(2), new Place(3)})}, -1, "."));
        add("sys_untrans_more", 4, new Clause(4, new Object[]{"[]", new Skeleton("$SEQ", new Object[]{new Place(0), new Place(1)}), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_untrans_alter"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)})}, -1, "[]"));
        add("sys_untrans_more", 4, new Clause(7, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Skeleton("$SEQ", new Object[]{new Place(2), new Place(3)}), new Place(4), new Skeleton(";", new Object[]{new Place(5), new Place(6)})}, new Object[]{new Skeleton(new Cache("sys_untrans_alter"), new Object[]{new Place(2), new Place(3), new Place(4), new Place(5)}), new Skeleton(new Cache("sys_untrans_more"), new Object[]{new Place(1), new Place(0), new Place(4), new Place(6)})}, -1, "."));
        add("sys_untrans_alter", 4, new Clause(4, new Object[]{"nothing", new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_untrans_body"), new Object[]{new Place(0), new Place(1), new Place(3)}), new Skeleton(new Cache("sys_untrans_ambiguity"), new Object[]{new Place(3), new Place(2)})}, -1, "nothing"));
        add("sys_untrans_alter", 4, new Clause(9, new Object[]{new Skeleton("just", new Object[]{new Place(0)}), new Place(1), new Place(2), new Skeleton("->", new Object[]{new Place(3), new Place(4)})}, new Object[]{new Skeleton(new Cache("sys_untrans_split"), new Object[]{new Place(1), new Place(0), new Place(5), new Place(6)}), new Skeleton(new Cache("sys_trans_mark"), new Object[]{new Place(7), new Place(5), new Place(8)}), new Skeleton(new Cache("sys_untrans_body"), new Object[]{new Place(8), new Place(7), new Place(3)}), new Skeleton(new Cache("sys_untrans_body"), new Object[]{new Place(6), new Place(2), new Place(4)})}, -1, "just"));
        add("sys_untrans_split", 4, new Clause(4, new Object[]{new Skeleton(".", new Object[]{new Skeleton("$CUT", new Object[]{new Place(1)}), new Place(2)}), new Place(3), "[]", new Place(2)}, new Object[]{new Skeleton(new Cache("=="), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, "."));
        add("sys_untrans_split", 4, new Clause(5, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2), new Skeleton(".", new Object[]{new Place(0), new Place(3)}), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_untrans_split"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)})}, -1, "."));
        add("sys_untrans_ambiguity", 2, new Clause(3, new Object[]{new Skeleton("->", new Object[]{new Place(1), new Place(2)}), new Skeleton(";", new Object[]{new Skeleton("->", new Object[]{new Place(1), new Place(2)}), "fail"})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, "->"));
        add("sys_untrans_ambiguity", 2, new Clause(1, new Object[]{new Place(0), new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
    }

    public static void boot11() {
        add("sys_encode_horn", 4, new Clause(5, new Object[]{new Skeleton("tr_goal", new Object[]{new Skeleton("just", new Object[]{new Place(1)}), new Place(2)}), new Skeleton("ir_goal", new Object[]{new Place(3), 0}), new Place(4), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_encode_body"), new Object[]{new Place(2), new Place(3), new Skeleton(".", new Object[]{new Place(1), "[]"}), new Place(4), new Skeleton(".", new Object[]{new Skeleton("v", new Object[]{new Place(1), 0, UNDEF_OBJ}), "[]"}), UNDEF_OBJ})}, 0, "tr_goal"));
        add("sys_encode_horn", 4, new Clause(3, new Object[]{new Skeleton("tr_goal", new Object[]{"nothing", new Place(0)}), new Skeleton("ir_goal", new Object[]{new Place(1), -1}), new Place(2), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sys_encode_body"), new Object[]{new Place(0), new Place(1), "[]", new Place(2), "[]", UNDEF_OBJ})}, -1, "tr_goal"));
        add("sys_encode_horn", 4, new Clause(11, new Object[]{new Skeleton("tr_clause", new Object[]{new Skeleton("just", new Object[]{new Place(1)}), new Place(2), new Place(3)}), new Skeleton("ir_clause", new Object[]{new Place(4), new Place(5), 0, new Place(6)}), new Place(7), new Place(8)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("=.."), new Object[]{new Place(2), new Skeleton(".", new Object[]{UNDEF_OBJ, new Place(9)})}), new Skeleton(new Cache("sys_encode_list"), new Object[]{new Place(9), new Place(4), new Place(7), new Skeleton(".", new Object[]{new Skeleton("v", new Object[]{new Place(1), 0, UNDEF_OBJ}), "[]"}), new Place(10)}), new Skeleton(new Cache("sys_encode_body"), new Object[]{new Place(3), new Place(5), new Skeleton(".", new Object[]{new Skeleton("-", new Object[]{new Place(2), new Place(1)}), "[]"}), new Place(7), new Place(10), UNDEF_OBJ}), new Skeleton(new Cache("sys_idx_value"), new Object[]{new Place(2), new Place(7), new Place(8), new Place(3), new Place(6)})}, 0, "tr_clause"));
        add("sys_encode_horn", 4, new Clause(9, new Object[]{new Skeleton("tr_clause", new Object[]{"nothing", new Place(0), new Place(1)}), new Skeleton("ir_clause", new Object[]{new Place(2), new Place(3), -1, new Place(4)}), new Place(5), new Place(6)}, new Object[]{new Skeleton(new Cache("=.."), new Object[]{new Place(0), new Skeleton(".", new Object[]{UNDEF_OBJ, new Place(7)})}), new Skeleton(new Cache("sys_encode_list"), new Object[]{new Place(7), new Place(2), new Place(5), "[]", new Place(8)}), new Skeleton(new Cache("sys_encode_body"), new Object[]{new Place(1), new Place(3), new Skeleton(".", new Object[]{new Place(0), "[]"}), new Place(5), new Place(8), UNDEF_OBJ}), new Skeleton(new Cache("sys_idx_value"), new Object[]{new Place(0), new Place(5), new Place(6), new Place(1), new Place(4)})}, -1, "tr_clause"));
        add("sys_encode_body", 6, new Clause(9, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Skeleton(".", new Object[]{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_encode_goal"), new Object[]{new Place(0), new Place(5), new Place(2), new Place(1), new Place(4), new Place(6), new Place(8)}), new Skeleton(new Cache("sys_encode_body"), new Object[]{new Place(1), new Place(3), new Skeleton(".", new Object[]{new Place(0), new Place(4)}), new Place(5), new Place(8), new Place(7)})}, -1, "."));
        add("sys_encode_body", 6, new Clause(1, new Object[]{"[]", "[]", UNDEF_OBJ, UNDEF_OBJ, new Place(0), new Place(0)}, new Object[]{}, -1, "[]"));
        add("sys_encode_goal", 7, new Clause(10, new Object[]{new Skeleton("$ALT", new Object[]{new Place(1)}), 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("vars_intersection"), new Object[]{new Place(1), new Skeleton("-", new Object[]{new Place(4), new Place(3)}), new Place(7)}), new Skeleton(new Cache("=.."), new Object[]{new Place(8), new Skeleton(".", new Object[]{"", new Place(7)})}), new Skeleton(new Cache("sys_encode_disj"), new Object[]{new Place(1), new Place(8), new Place(9), 1, 1}), new Skeleton(new Cache("sys_encode_invoke"), new Object[]{new Place(8), new Place(2), new Skeleton("link", new Object[]{new Place(9), 1}), new Place(5), new Place(6)})}, 0, "$ALT"));
        add("sys_encode_goal", 7, new Clause(10, new Object[]{new Skeleton("is", new Object[]{new Place(1), new Place(2)}), 1, new Place(3), UNDEF_OBJ, UNDEF_OBJ, new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_encode_term"), new Object[]{new Place(1), 1, new Place(6), new Place(4), new Place(7)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(2), new Place(8), new Place(7), new Place(9)}), new Skeleton(new Cache("sys_const_functor"), new Object[]{new Frozen("site", new Object[]{"is"}), new Skeleton(".", new Object[]{new Place(6), new Skeleton(".", new Object[]{new Place(8), "[]"})}), new Place(3)}), new Skeleton(new Cache("="), new Object[]{new Place(9), new Place(5)})}, 0, "is"));
        add("sys_encode_goal", 7, new Clause(10, new Object[]{new Skeleton("=:=", new Object[]{new Place(1), new Place(2)}), 1, new Place(3), UNDEF_OBJ, UNDEF_OBJ, new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(1), new Place(6), new Place(4), new Place(7)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(2), new Place(8), new Place(7), new Place(9)}), new Skeleton(new Cache("sys_const_functor"), new Object[]{new Frozen("site", new Object[]{"=:="}), new Skeleton(".", new Object[]{new Place(6), new Skeleton(".", new Object[]{new Place(8), "[]"})}), new Place(3)}), new Skeleton(new Cache("="), new Object[]{new Place(9), new Place(5)})}, 0, "=:="));
        add("sys_encode_goal", 7, new Clause(10, new Object[]{new Skeleton("=\\=", new Object[]{new Place(1), new Place(2)}), 1, new Place(3), UNDEF_OBJ, UNDEF_OBJ, new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(1), new Place(6), new Place(4), new Place(7)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(2), new Place(8), new Place(7), new Place(9)}), new Skeleton(new Cache("sys_const_functor"), new Object[]{new Frozen("site", new Object[]{"=\\="}), new Skeleton(".", new Object[]{new Place(6), new Skeleton(".", new Object[]{new Place(8), "[]"})}), new Place(3)}), new Skeleton(new Cache("="), new Object[]{new Place(9), new Place(5)})}, 0, "=\\="));
        add("sys_encode_goal", 7, new Clause(10, new Object[]{new Skeleton("<", new Object[]{new Place(1), new Place(2)}), 1, new Place(3), UNDEF_OBJ, UNDEF_OBJ, new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(1), new Place(6), new Place(4), new Place(7)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(2), new Place(8), new Place(7), new Place(9)}), new Skeleton(new Cache("sys_const_functor"), new Object[]{new Frozen("site", new Object[]{"<"}), new Skeleton(".", new Object[]{new Place(6), new Skeleton(".", new Object[]{new Place(8), "[]"})}), new Place(3)}), new Skeleton(new Cache("="), new Object[]{new Place(9), new Place(5)})}, 0, "<"));
        add("sys_encode_goal", 7, new Clause(10, new Object[]{new Skeleton(">", new Object[]{new Place(1), new Place(2)}), 1, new Place(3), UNDEF_OBJ, UNDEF_OBJ, new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(1), new Place(6), new Place(4), new Place(7)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(2), new Place(8), new Place(7), new Place(9)}), new Skeleton(new Cache("sys_const_functor"), new Object[]{new Frozen("site", new Object[]{">"}), new Skeleton(".", new Object[]{new Place(6), new Skeleton(".", new Object[]{new Place(8), "[]"})}), new Place(3)}), new Skeleton(new Cache("="), new Object[]{new Place(9), new Place(5)})}, 0, ">"));
        add("sys_encode_goal", 7, new Clause(10, new Object[]{new Skeleton("=<", new Object[]{new Place(1), new Place(2)}), 1, new Place(3), UNDEF_OBJ, UNDEF_OBJ, new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(1), new Place(6), new Place(4), new Place(7)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(2), new Place(8), new Place(7), new Place(9)}), new Skeleton(new Cache("sys_const_functor"), new Object[]{new Frozen("site", new Object[]{"=<"}), new Skeleton(".", new Object[]{new Place(6), new Skeleton(".", new Object[]{new Place(8), "[]"})}), new Place(3)}), new Skeleton(new Cache("="), new Object[]{new Place(9), new Place(5)})}, 0, "=<"));
        add("sys_encode_goal", 7, new Clause(10, new Object[]{new Skeleton(">=", new Object[]{new Place(1), new Place(2)}), 1, new Place(3), UNDEF_OBJ, UNDEF_OBJ, new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(1), new Place(6), new Place(4), new Place(7)}), new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(2), new Place(8), new Place(7), new Place(9)}), new Skeleton(new Cache("sys_const_functor"), new Object[]{new Frozen("site", new Object[]{">="}), new Skeleton(".", new Object[]{new Place(6), new Skeleton(".", new Object[]{new Place(8), "[]"})}), new Place(3)}), new Skeleton(new Cache("="), new Object[]{new Place(9), new Place(5)})}, 0, ">="));
        add("sys_encode_goal", 7, new Clause(6, new Object[]{new Place(1), 1, new Place(2), UNDEF_OBJ, UNDEF_OBJ, new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("functor"), new Object[]{new Place(1), new Place(5), UNDEF_OBJ}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_encode_invoke"), new Object[]{new Place(1), new Place(2), new Skeleton("site", new Object[]{new Place(5)}), new Place(3), new Place(4)})}, 0, UNDEF_OBJ));
        add("sys_encode_goal", 7, new Clause(5, new Object[]{new Place(0), new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ, new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_encode_term"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(3), new Place(4)})}, -1, UNDEF_OBJ));
        add("sys_encode_disj", 5, new Clause(8, new Object[]{new Skeleton(".", new Object[]{new Skeleton("$SEQ", new Object[]{new Place(0), new Place(1)}), new Place(2)}), new Place(3), new Skeleton(".", new Object[]{new Place(4), new Place(5)}), new Place(6), new Place(7)}, new Object[]{new Skeleton(new Cache("sys_encode_horn"), new Object[]{new Skeleton("tr_clause", new Object[]{new Place(0), new Place(3), new Place(1)}), new Place(4), new Place(6), new Place(7)}), new Skeleton(new Cache("sys_encode_disj"), new Object[]{new Place(2), new Place(3), new Place(5), new Place(6), new Place(7)})}, -1, "."));
        add("sys_encode_disj", 5, new Clause(0, new Object[]{"[]", UNDEF_OBJ, "[]", UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1, "[]"));
        add("sys_encode_invoke", 5, new Clause(9, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, 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("=.."), new Object[]{new Place(1), new Skeleton(".", new Object[]{UNDEF_OBJ, new Place(6)})}), new Skeleton(new Cache("sys_encode_list"), new Object[]{new Place(6), new Place(7), 1, new Place(4), new Place(8)}), new Skeleton(new Cache("sys_const_functor"), new Object[]{new Place(3), new Place(7), new Place(2)}), new Skeleton(new Cache("="), new Object[]{new Place(8), new Place(5)})}, 0, UNDEF_OBJ));
        add("sys_encode_invoke", 5, new Clause(2, new Object[]{UNDEF_OBJ, new Skeleton("const", new Object[]{new Place(0)}), new Place(0), new Place(1), new Place(1)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_encode_args", 4, new Clause(7, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Skeleton(".", new Object[]{new Place(2), new Place(3)}), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("sys_encode_expr"), new Object[]{new Place(0), new Place(2), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_encode_args"), new Object[]{new Place(1), new Place(3), new Place(6), new Place(5)})}, -1, "."));
        add("sys_encode_args", 4, new Clause(1, new Object[]{"[]", "[]", new Place(0), new Place(0)}, new Object[]{}, -1, "[]"));
        add("sys_encode_expr", 4, new Clause(5, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)}, 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_encode_var"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)})}, 0, UNDEF_OBJ));
        add("sys_encode_expr", 4, new Clause(9, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)}, 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("=.."), new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(5), new Place(6)})}), new Skeleton(new Cache("sys_encode_args"), new Object[]{new Place(6), new Place(7), new Place(3), new Place(8)}), new Skeleton(new Cache("sys_const_functor"), new Object[]{new Skeleton("site", new Object[]{new Place(5)}), new Place(7), new Place(2)}), new Skeleton(new Cache("="), new Object[]{new Place(8), new Place(4)})}, 0, UNDEF_OBJ));
        add("sys_encode_expr", 4, new Clause(4, new Object[]{new Place(1), new Skeleton("const", new Object[]{new Skeleton("site", 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("="), new Object[]{new Place(2), new Place(3)})}, 0, UNDEF_OBJ));
        add("sys_encode_expr", 4, new Clause(2, new Object[]{new Place(0), new Skeleton("const", new Object[]{new Place(0)}), new Place(1), new Place(1)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_encode_list", 5, new Clause(8, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Skeleton(".", new Object[]{new Place(2), new Place(3)}), new Place(4), new Place(5), new Place(6)}, new Object[]{new Skeleton(new Cache("sys_encode_term"), new Object[]{new Place(0), new Place(4), new Place(2), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_encode_list"), new Object[]{new Place(1), new Place(3), new Place(4), new Place(7), new Place(6)})}, -1, "."));
        add("sys_encode_list", 5, new Clause(1, new Object[]{"[]", "[]", UNDEF_OBJ, new Place(0), new Place(0)}, new Object[]{}, -1, "[]"));
        add("sys_encode_term", 5, new Clause(5, new Object[]{new Place(1), UNDEF_OBJ, new Place(2), new Place(3), new Place(4)}, 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_encode_var"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(4)})}, 0, UNDEF_OBJ));
        add("sys_encode_term", 5, new Clause(10, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, 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("=.."), new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(6), new Place(7)})}), new Skeleton(new Cache("sys_encode_list"), new Object[]{new Place(7), new Place(8), new Place(2), new Place(4), new Place(9)}), new Skeleton(new Cache("sys_const_functor"), new Object[]{new Place(6), new Place(8), new Place(3)}), new Skeleton(new Cache("="), new Object[]{new Place(9), new Place(5)})}, 0, UNDEF_OBJ));
        add("sys_encode_term", 5, new Clause(2, new Object[]{new Place(0), UNDEF_OBJ, new Skeleton("const", new Object[]{new Place(0)}), new Place(1), new Place(1)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_const_functor", 3, new Clause(4, new Object[]{new Place(1), new Place(2), new Skeleton("const", new Object[]{new Skeleton("functor", new Object[]{new Place(1), new Place(3)})})}, new Object[]{new Skeleton(new Cache("sys_const_only"), new Object[]{new Place(2), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("sys_const_functor", 3, new Clause(2, new Object[]{new Place(0), new Place(1), new Skeleton("functor", new Object[]{new Place(0), new Place(1)})}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_const_only", 2, new Clause(3, new Object[]{new Skeleton(".", new Object[]{new Skeleton("const", new Object[]{new Place(0)}), new Place(1)}), new Skeleton(".", new Object[]{new Place(0), new Place(2)})}, new Object[]{new Skeleton(new Cache("sys_const_only"), new Object[]{new Place(1), new Place(2)})}, -1, "."));
        add("sys_const_only", 2, new Clause(0, new Object[]{"[]", "[]"}, new Object[]{}, -1, "[]"));
        add("sys_encode_var", 4, new Clause(9, new Object[]{new Place(1), new Skeleton("place", new Object[]{new Place(2), new Place(3)}), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("sys_current_map"), new Object[]{new Place(6), new Place(4), new Place(7)}), new Skeleton(new Cache("member"), new Object[]{new Skeleton("v", new Object[]{new Place(8), new Place(2), new Place(3)}), new Place(6)}), new Skeleton(new Cache("=="), new Object[]{new Place(8), new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(3), 1}), new Skeleton(new Cache("="), new Object[]{new Place(7), new Place(5)})}, 0, UNDEF_OBJ));
        add("sys_encode_var", 4, new Clause(7, new Object[]{new Place(0), new Skeleton("place", new Object[]{new Place(1), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_current_map"), new Object[]{new Place(5), new Place(3), new Place(6)}), new Skeleton(new Cache("sys_set_map"), new Object[]{new Skeleton(".", new Object[]{new Skeleton("v", new Object[]{new Place(0), new Place(1), new Place(2)}), new Place(5)}), new Place(6), new Place(4)})}, -1, UNDEF_OBJ));
        add("sys_current_map", 3, new Clause(1, new Object[]{new Place(0), new Place(0), new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_set_map", 3, new Clause(1, new Object[]{new Place(0), UNDEF_OBJ, new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_idx_value", 5, new Clause(6, new Object[]{new Place(1), 1, new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("arg"), new Object[]{new Place(2), new Place(1), new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_idx_value_arg"), new Object[]{new Place(3), new Place(5), new Place(4)})}, 0, UNDEF_OBJ));
        add("sys_idx_value", 5, new Clause(5, new Object[]{new Place(1), UNDEF_OBJ, new Place(2), UNDEF_OBJ, new Place(3)}, new Object[]{new Skeleton(new Cache("arg"), new Object[]{new Place(2), new Place(1), new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_idx_value_term"), new Object[]{new Place(4), new Place(3)})}, 0, UNDEF_OBJ));
        add("sys_idx_value", 5, new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, "nothing"}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_idx_value_arg", 3, new Clause(3, new Object[]{UNDEF_OBJ, new Place(1), new Skeleton("just", new Object[]{new Place(2)})}, new Object[]{new Skeleton(new Cache("nonvar"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("functor"), new Object[]{new Place(1), new Place(2), UNDEF_OBJ})}, 0, UNDEF_OBJ));
        add("sys_idx_value_arg", 3, new Clause(6, new Object[]{new Skeleton(".", new Object[]{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("=="), new Object[]{new Place(4), new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_idx_value_arg"), new Object[]{new Place(3), new Place(2), new Place(5)})}, 0, "."));
        add("sys_idx_value_arg", 3, new Clause(6, new Object[]{new Skeleton(".", new Object[]{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("=="), new Object[]{new Place(4), new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_idx_value_arg"), new Object[]{new Place(3), new Place(1), new Place(5)})}, 0, "."));
        add("sys_idx_value_arg", 3, new Clause(4, new Object[]{new Skeleton(".", new Object[]{new Skeleton("=", new Object[]{UNDEF_OBJ, UNDEF_OBJ}), 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_idx_value_arg"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0, "."));
        add("sys_idx_value_arg", 3, new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ, "nothing"}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_idx_value_term", 2, new Clause(3, new Object[]{new Place(1), new Skeleton("just", new Object[]{new Place(2)})}, new Object[]{new Skeleton(new Cache("nonvar"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("functor"), new Object[]{new Place(1), new Place(2), UNDEF_OBJ})}, 0, UNDEF_OBJ));
        add("sys_idx_value_term", 2, new Clause(0, new Object[]{UNDEF_OBJ, "nothing"}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_decode_body", 2, new Clause(0, new Object[]{"[]", "[]"}, new Object[]{}, -1, "[]"));
        add("sys_decode_body", 2, new Clause(4, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Skeleton(".", new Object[]{new Place(2), new Place(3)})}, new Object[]{new Skeleton(new Cache("sys_decode_goal"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_decode_body"), new Object[]{new Place(1), new Place(3)})}, -1, "."));
        add("sys_decode_goal", 2, new Clause(4, new Object[]{new Place(1), new Place(2)}, 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(3)}), new Skeleton(new Cache("sys_decode_goal"), new Object[]{new Place(3), new Place(2)})}, 0, UNDEF_OBJ));
        add("sys_decode_goal", 2, new Clause(5, new Object[]{new Place(1), new Skeleton("$ALT", new Object[]{new Place(2)})}, new Object[]{new Skeleton(new Cache("kb_is_link"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("findall"), new Object[]{new Place(3), new Skeleton("kb_clause_ref", new Object[]{new Place(1), 0, new Place(3)}), new Place(4)}), new Skeleton(new Cache("sys_decode_disj"), new Object[]{new Place(4), UNDEF_OBJ, new Place(1), new Place(2)})}, 0, UNDEF_OBJ));
        add("sys_decode_goal", 2, new Clause(4, new Object[]{new Skeleton("is", new Object[]{new Place(1), new Place(2)}), new Skeleton("is", new Object[]{new Place(1), new Place(3)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(2), new Place(3)})}, 0, "is"));
        add("sys_decode_goal", 2, new Clause(5, new Object[]{new Skeleton("=:=", new Object[]{new Place(1), new Place(2)}), new Skeleton("=:=", new Object[]{new Place(3), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(2), new Place(4)})}, 0, "=:="));
        add("sys_decode_goal", 2, new Clause(5, new Object[]{new Skeleton("=\\=", new Object[]{new Place(1), new Place(2)}), new Skeleton("=\\=", new Object[]{new Place(3), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(2), new Place(4)})}, 0, "=\\="));
        add("sys_decode_goal", 2, new Clause(5, new Object[]{new Skeleton("<", new Object[]{new Place(1), new Place(2)}), new Skeleton("<", new Object[]{new Place(3), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(2), new Place(4)})}, 0, "<"));
        add("sys_decode_goal", 2, new Clause(5, new Object[]{new Skeleton(">", new Object[]{new Place(1), new Place(2)}), new Skeleton(">", new Object[]{new Place(3), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(2), new Place(4)})}, 0, ">"));
        add("sys_decode_goal", 2, new Clause(5, new Object[]{new Skeleton("=<", new Object[]{new Place(1), new Place(2)}), new Skeleton("=<", new Object[]{new Place(3), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(2), new Place(4)})}, 0, "=<"));
        add("sys_decode_goal", 2, new Clause(5, new Object[]{new Skeleton(">=", new Object[]{new Place(1), new Place(2)}), new Skeleton(">=", new Object[]{new Place(3), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(2), new Place(4)})}, 0, ">="));
        add("sys_decode_goal", 2, new Clause(1, new Object[]{new Place(0), new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_decode_disj", 4, new Clause(0, new Object[]{"[]", UNDEF_OBJ, UNDEF_OBJ, "[]"}, new Object[]{}, -1, "[]"));
        add("sys_decode_disj", 4, new Clause(9, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2), new Place(3), new Skeleton(".", new Object[]{new Skeleton("$SEQ", new Object[]{new Place(4), new Place(5)}), new Place(6)})}, new Object[]{new Skeleton(new Cache("kb_clause_arity"), new Object[]{new Place(0), new Place(7)}), new Skeleton(new Cache("functor"), new Object[]{new Place(3), new Place(2), new Place(7)}), new Skeleton(new Cache("kb_clause_data"), new Object[]{new Place(0), new Place(3), new Place(4), new Place(8)}), new Skeleton(new Cache("sys_decode_body"), new Object[]{new Place(8), new Place(5)}), new Skeleton(new Cache("sys_decode_disj"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(6)})}, -1, "."));
        add("sys_decode_args", 2, new Clause(0, new Object[]{"[]", "[]"}, new Object[]{}, -1, "[]"));
        add("sys_decode_args", 2, new Clause(4, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Skeleton(".", new Object[]{new Place(2), new Place(3)})}, new Object[]{new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_decode_args"), new Object[]{new Place(1), new Place(3)})}, -1, "."));
        add("sys_decode_expr", 2, new Clause(4, new Object[]{new Place(1), new Place(2)}, 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(3)}), new Skeleton(new Cache("sys_decode_expr"), new Object[]{new Place(3), new Place(2)})}, 0, UNDEF_OBJ));
        add("sys_decode_expr", 2, new Clause(6, new Object[]{new Place(1), new Place(2)}, 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("=.."), new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(3), new Place(4)})}), new Skeleton(new Cache("sys_decode_args"), new Object[]{new Place(4), new Place(5)}), new Skeleton(new Cache("=.."), new Object[]{new Place(2), new Skeleton(".", new Object[]{new Place(3), new Place(5)})})}, 0, UNDEF_OBJ));
        add("sys_decode_expr", 2, new Clause(1, new Object[]{new Place(0), new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
    }

    public static void boot3() {
        add("sys_frost_horn", 3, new Clause(5, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_trans_horn"), new Object[]{new Place(0), new Place(3)}), new Skeleton(new Cache("sys_encode_horn"), new Object[]{new Place(3), new Place(4), new Place(1), 1}), new Skeleton(new Cache("sys_host_make"), new Object[]{new Place(4), new Place(2)})}, -1, UNDEF_OBJ));
        add("sys_unfrost_body", 3, new Clause(4, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_decode_body"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("sys_untrans_body"), new Object[]{new Place(3), new Place(0), new Place(2)})}, -1, UNDEF_OBJ));
        add("true", 0, new Clause(0, new Object[]{}, new Object[]{}, -1, UNDEF_OBJ));
        add("!", 0, new Clause(1, new Object[]{}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add(",", 2, new Clause(6, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_trans_body"), new Object[]{new Place(0), "nothing", new Place(2), new Place(3), new Place(4)}), new Skeleton(new Cache("sys_trans_body"), new Object[]{new Place(1), new Place(2), new Place(5), new Place(4), "[]"}), new Skeleton(new Cache("$SEQ"), new Object[]{new Place(5), new Place(3)})}, -1, UNDEF_OBJ));
        add(";", 2, new Clause(7, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_trans_alter"), new Object[]{new Place(0), "nothing", new Place(2), new Place(3), new Place(4)}), new Skeleton(new Cache("sys_trans_disj"), new Object[]{new Place(1), new Place(4), new Place(2), new Place(5), new Place(6)}), new Skeleton(new Cache("$SEQ"), new Object[]{new Place(5), new Skeleton(".", new Object[]{new Skeleton("$ALT", new Object[]{new Skeleton(".", new Object[]{new Place(3), new Place(6)})}), "[]"})})}, -1, UNDEF_OBJ));
        add("->", 2, new Clause(8, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_trans_body"), new Object[]{new Place(0), "nothing", new Place(2), new Place(3), new Skeleton(".", new Object[]{new Skeleton("$CUT", new Object[]{new Place(4)}), new Place(5)})}), new Skeleton(new Cache("sys_trans_body"), new Object[]{new Place(1), "nothing", new Place(6), new Place(5), "[]"}), new Skeleton(new Cache("sys_trans_mark"), new Object[]{new Place(2), new Place(7), new Place(3)}), new Skeleton(new Cache("$SEQ"), new Object[]{new Place(6), new Skeleton(".", new Object[]{new Skeleton("$ALT", new Object[]{new Skeleton(".", new Object[]{new Skeleton("$SEQ", new Object[]{new Skeleton("just", new Object[]{new Place(4)}), new Place(7)}), "[]"})}), "[]"})})}, -1, UNDEF_OBJ));
        add("sys_host_make", 2, new Clause(10, new Object[]{new Skeleton("ir_clause", new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}), new Place(4)}, new Object[]{new Skeleton(new Cache("is"), new Object[]{new Place(5), new Skeleton(new Cache("+"), new Object[]{new Place(2), 1})}), new Skeleton(new Cache("sys_host_instrs"), new Object[]{new Place(0), new Place(6), new Place(5), new Place(7)}), new Skeleton(new Cache("sys_host_instrs"), new Object[]{new Place(1), new Place(8), new Place(7), new Place(9)}), new Skeleton(new Cache("ir_clause_new"), new Object[]{new Place(9), new Place(6), new Place(8), new Place(2), new Place(3), new Place(4)})}, -1, "ir_clause"));
        add("sys_host_make", 2, new Clause(6, new Object[]{new Skeleton("ir_goal", new Object[]{new Place(0), new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("+"), new Object[]{new Place(1), 1})}), new Skeleton(new Cache("sys_host_instrs"), new Object[]{new Place(0), new Place(4), new Place(3), new Place(5)}), new Skeleton(new Cache("ir_goal_new"), new Object[]{new Place(5), new Place(4), new Place(1), new Place(2)})}, -1, "ir_goal"));
        add("sys_host_instrs", 4, new Clause(1, new Object[]{"[]", "[]", new Place(0), new Place(0)}, new Object[]{}, -1, "[]"));
        add("sys_host_instrs", 4, new Clause(7, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Skeleton(".", new Object[]{new Place(2), new Place(3)}), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("sys_host_instr"), new Object[]{new Place(0), new Place(2), new Place(4), new Place(6)}), new Skeleton(new Cache("sys_host_instrs"), new Object[]{new Place(1), new Place(3), new Place(6), new Place(5)})}, -1, "."));
        add("sys_host_instr", 4, new Clause(5, new Object[]{new Skeleton("place", new Object[]{UNDEF_OBJ, new Place(1)}), new Place(2), new Place(3), new Place(4)}, 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("ir_anon_new"), new Object[]{new Place(2)}), new Skeleton(new Cache("="), new Object[]{new Place(3), new Place(4)})}, 0, "place"));
        add("sys_host_instr", 4, new Clause(8, new Object[]{new Skeleton("place", new Object[]{new Place(1), UNDEF_OBJ}), new Place(2), new Place(3), new Place(4)}, 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_host_current_max"), new Object[]{new Place(1), new Place(3), new Place(5)}), new Skeleton(new Cache("is"), new Object[]{new Place(6), new Skeleton(new Cache("+"), new Object[]{new Place(1), 1})}), new Skeleton(new Cache("sys_host_set_max"), new Object[]{new Place(6), new Place(5), new Place(7)}), new Skeleton(new Cache("ir_place_new"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("="), new Object[]{new Place(7), new Place(4)})}, 0, "place"));
        add("sys_host_instr", 4, new Clause(4, new Object[]{new Skeleton("place", new Object[]{new Place(0), UNDEF_OBJ}), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("ir_place_new"), new Object[]{new Place(0), new Place(1)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, -1, "place"));
        add("sys_host_instr", 4, new Clause(8, new Object[]{new Skeleton("functor", new Object[]{new Place(0), new Place(1)}), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("sys_host_const"), new Object[]{new Place(0), new Place(5)}), new Skeleton(new Cache("sys_host_instrs"), new Object[]{new Place(1), new Place(6), new Place(3), new Place(7)}), new Skeleton(new Cache("ir_skeleton_new"), new Object[]{new Place(5), new Place(6), new Place(2)}), new Skeleton(new Cache("="), new Object[]{new Place(7), new Place(4)})}, -1, "functor"));
        add("sys_host_instr", 4, new Clause(4, new Object[]{new Skeleton("const", new Object[]{new Place(0)}), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_host_const"), new Object[]{new Place(0), new Place(1)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)})}, -1, "const"));
        add("sys_host_current_max", 3, new Clause(1, new Object[]{new Place(0), new Place(0), new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_host_set_max", 3, new Clause(1, new Object[]{new Place(0), UNDEF_OBJ, new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_host_const", 2, new Clause(6, new Object[]{new Skeleton("functor", 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_host_const"), new Object[]{new Place(1), new Place(4)}), new Skeleton(new Cache("sys_host_args"), new Object[]{new Place(2), new Place(5)}), new Skeleton(new Cache("ir_make_frozen"), new Object[]{new Place(4), new Place(5), new Place(3)})}, 0, "functor"));
        add("sys_host_const", 2, new Clause(5, new Object[]{new Skeleton("link", 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_host_alternatives"), new Object[]{new Place(1), new Place(4)}), new Skeleton(new Cache("kb_make_defined"), new Object[]{new Place(4), new Place(2), new Place(3)})}, 0, "link"));
        add("sys_host_const", 2, new Clause(3, new Object[]{new Skeleton("site", 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_pred_site"), new Object[]{new Place(1), new Place(2)})}, 0, "site"));
        add("sys_host_const", 2, new Clause(1, new Object[]{new Place(0), new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_host_args", 2, new Clause(0, new Object[]{"[]", "[]"}, new Object[]{}, -1, "[]"));
        add("sys_host_args", 2, new Clause(4, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Skeleton(".", new Object[]{new Place(2), new Place(3)})}, new Object[]{new Skeleton(new Cache("sys_host_const"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_host_args"), new Object[]{new Place(1), new Place(3)})}, -1, "."));
        add("sys_host_alternatives", 2, new Clause(0, new Object[]{"[]", "[]"}, new Object[]{}, -1, "[]"));
        add("sys_host_alternatives", 2, new Clause(4, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Skeleton(".", new Object[]{new Place(2), new Place(3)})}, new Object[]{new Skeleton(new Cache("sys_host_make"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("sys_host_alternatives"), new Object[]{new Place(1), new Place(3)})}, -1, "."));
        add("get_code", 2, new Clause(4, 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, UNDEF_OBJ));
        add("get_code", 2, new Clause(4, 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, UNDEF_OBJ));
        add("get_code", 2, new Clause(1, new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("="), new Object[]{-1, new Place(0)})}, -1, UNDEF_OBJ));
        add("peek_code", 2, new Clause(4, 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, UNDEF_OBJ));
        add("peek_code", 2, new Clause(4, 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, UNDEF_OBJ));
        add("peek_code", 2, new Clause(1, new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("="), new Object[]{-1, new Place(0)})}, -1, UNDEF_OBJ));
        add("sys_read_buffer", 1, new Clause(4, new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("os_stream_flags"), new Object[]{new Place(1), 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, UNDEF_OBJ));
        add("sys_read_buffer", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("os_read_sync"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ));
        add("sleep", 1, new Clause(2, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("os_sleep_promise"), new Object[]{new Place(0), new Place(1)}), new Skeleton(new Cache("$YIELD"), new Object[]{new Place(1)})}, -1, UNDEF_OBJ));
        run(new Goal(0, new Object[]{new Frozen(new Cache("kb_pred_touch"), new Object[]{"sys_emulated", 2, 1})}, -1));
        add("sys_emulated", 2, new Clause(0, new Object[]{"argv", "[]"}, new Object[]{}, -1, "argv"));
        add("sys_emulated", 2, new Clause(0, new Object[]{"sys_locale", "en_GB"}, new Object[]{}, -1, "sys_locale"));
        add("sys_emulated", 2, new Clause(0, new Object[]{"sys_color", "normal"}, new Object[]{}, -1, "sys_color"));
        add("set_prolog_flag", 2, new Clause(3, new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_check_atom"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_prolog_flag_set"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("set_prolog_flag", 2, new Clause(1, 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[]{"prolog_flag", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("sys_prolog_flag_set", 2, new Clause(1, new Object[]{"argv", new Place(0)}, new Object[]{new Skeleton(new Cache("retractall"), new Object[]{new Skeleton("sys_emulated", new Object[]{"argv", UNDEF_OBJ})}), new Skeleton(new Cache("assertz"), new Object[]{new Skeleton("sys_emulated", new Object[]{"argv", new Place(0)})})}, -1, "argv"));
        add("sys_prolog_flag_set", 2, new Clause(1, new Object[]{"sys_locale", new Place(0)}, new Object[]{new Skeleton(new Cache("retractall"), new Object[]{new Skeleton("sys_emulated", new Object[]{"sys_locale", UNDEF_OBJ})}), new Skeleton(new Cache("assertz"), new Object[]{new Skeleton("sys_emulated", new Object[]{"sys_locale", new Place(0)})})}, -1, "sys_locale"));
        add("sys_prolog_flag_set", 2, new Clause(1, new Object[]{"sys_color", new Place(0)}, new Object[]{new Skeleton(new Cache("retractall"), new Object[]{new Skeleton("sys_emulated", new Object[]{"sys_color", UNDEF_OBJ})}), new Skeleton(new Cache("assertz"), new Object[]{new Skeleton("sys_emulated", new Object[]{"sys_color", new Place(0)})})}, -1, "sys_color"));
        add("sys_prolog_flag_set", 2, new Clause(1, new Object[]{"base_url", new Place(0)}, new Object[]{new Skeleton(new Cache("os_set_workdir"), new Object[]{new Place(0)})}, -1, "base_url"));
        add("sys_prolog_flag_set", 2, new Clause(1, new Object[]{"stage", new Place(0)}, new Object[]{new Skeleton(new Cache("dg_set_stage"), new Object[]{new Place(0)})}, -1, "stage"));
        add("sys_prolog_flag_set", 2, new Clause(1, new Object[]{"partition", new Place(0)}, new Object[]{new Skeleton(new Cache("dg_set_partition"), new Object[]{new Place(0)})}, -1, "partition"));
        add("sys_prolog_flag_set", 2, new Clause(1, new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sys_prolog_flag_get"), new Object[]{new Place(0), UNDEF_OBJ}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("permission_error", new Object[]{"modify", "flag", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("current_prolog_flag", 2, new Clause(3, 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("sys_prolog_flag_get"), new Object[]{new Place(1), new Place(2)})}, 0, UNDEF_OBJ));
        add("current_prolog_flag", 2, new Clause(4, new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_check_atom"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_prolog_flag_get"), 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(2), new Place(3)})}, 0, UNDEF_OBJ));
        add("current_prolog_flag", 2, new Clause(1, 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[]{"prolog_flag", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("sys_prolog_flag_get", 2, new Clause(1, new Object[]{"argv", new Place(0)}, new Object[]{new Skeleton(new Cache("sys_emulated"), new Object[]{"argv", new Place(0)})}, -1, "argv"));
        add("sys_prolog_flag_get", 2, new Clause(1, new Object[]{"sys_locale", new Place(0)}, new Object[]{new Skeleton(new Cache("sys_emulated"), new Object[]{"sys_locale", new Place(0)})}, -1, "sys_locale"));
        add("sys_prolog_flag_get", 2, new Clause(1, new Object[]{"sys_color", new Place(0)}, new Object[]{new Skeleton(new Cache("sys_emulated"), new Object[]{"sys_color", new Place(0)})}, -1, "sys_color"));
        add("sys_prolog_flag_get", 2, new Clause(1, new Object[]{"base_url", new Place(0)}, new Object[]{new Skeleton(new Cache("os_get_workdir"), new Object[]{new Place(0)})}, -1, "base_url"));
        add("sys_prolog_flag_get", 2, new Clause(1, new Object[]{"stage", new Place(0)}, new Object[]{new Skeleton(new Cache("dg_get_stage"), new Object[]{new Place(0)})}, -1, "stage"));
        add("sys_prolog_flag_get", 2, new Clause(1, new Object[]{"partition", new Place(0)}, new Object[]{new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(0)})}, -1, "partition"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"single_quotes", "atom"}, new Object[]{}, -1, "single_quotes"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"double_quotes", "codes"}, new Object[]{}, -1, "double_quotes"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"back_quotes", "variable"}, new Object[]{}, -1, "back_quotes"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"dialect", "dogelog"}, new Object[]{}, -1, "dialect"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"version", 20104}, new Object[]{}, -1, "version"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"version_data", new Frozen("dogelog", new Object[]{2, 1, 4, new Frozen(".", new Object[]{new Frozen("build", new Object[]{"20260121"}), "[]"})})}, new Object[]{}, -1, "version_data"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"use_strict", "off"}, new Object[]{}, -1, "use_strict"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"max_code", 1114111}, new Object[]{}, -1, "max_code"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"max_arity", 2147483647}, new Object[]{}, -1, "max_arity"));
        add("sys_prolog_flag_get", 2, new Clause(2, new Object[]{"async_mode", new Place(0)}, new Object[]{new Skeleton(new Cache("sys_flags_get"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_prolog_flag_decode"), new Object[]{new Place(1), 1, new Place(0)})}, -1, "async_mode"));
        add("sys_prolog_flag_get", 2, new Clause(2, new Object[]{"allow_yield", new Place(0)}, new Object[]{new Skeleton(new Cache("sys_flags_get"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_prolog_flag_decode"), new Object[]{new Place(1), 8, new Place(0)})}, -1, "allow_yield"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"import_async", "on"}, new Object[]{}, -1, "import_async"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"prop_async", "on"}, new Object[]{}, -1, "prop_async"));
        add("sys_prolog_flag_get", 2, new Clause(0, new Object[]{"read_async", "on"}, new Object[]{}, -1, "read_async"));
        add("sys_prolog_flag_get", 2, new Clause(2, new Object[]{"state_async", new Place(0)}, new Object[]{new Skeleton(new Cache("sys_flags_get"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_prolog_flag_decode"), new Object[]{new Place(1), 128, new Place(0)})}, -1, "state_async"));
        add("sys_prolog_flag_get", 2, new Clause(5, 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("sys_flag_map"), new Object[]{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(1), new Place(4)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(3), new Place(1), new Place(2)})}, 0, UNDEF_OBJ));
        add("sys_prolog_flag_get", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_flag_map"), new Object[]{new Place(2)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(2), new Place(0), new Place(1)})}, -1, UNDEF_OBJ));
        add("sys_prolog_flag_decode", 3, new Clause(4, 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(1), new Place(2)}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(3), "on"})}, 0, UNDEF_OBJ));
        add("sys_prolog_flag_decode", 3, new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ, "off"}, new Object[]{}, -1, UNDEF_OBJ));
        add("time", 1, new Clause(2, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("=.."), new Object[]{new Place(1), new Frozen(".", new Object[]{"v", new Frozen(".", new Object[]{0, new Frozen(".", new Object[]{0, new Frozen(".", new Object[]{0, "[]"})})})})}), new Skeleton(new Cache("try_call_finally"), new Object[]{new Skeleton("sys_time_set", new Object[]{new Place(1)}), new Place(0), new Skeleton("sys_time_show", new Object[]{new Place(1)})})}, -1, UNDEF_OBJ));
        add("sys_time_set", 1, new Clause(5, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_stat_map"), new Object[]{new Place(1)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(1), "time", new Place(2)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(1), "gctime", new Place(3)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(1), "calls", new Place(4)}), new Skeleton(new Cache("change_arg"), new Object[]{1, new Place(0), new Place(2)}), new Skeleton(new Cache("change_arg"), new Object[]{2, new Place(0), new Place(3)}), new Skeleton(new Cache("change_arg"), new Object[]{3, new Place(0), new Place(4)})}, -1, UNDEF_OBJ));
        add("sys_time_show", 1, new Clause(14, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("arg"), new Object[]{1, new Place(0), new Place(1)}), new Skeleton(new Cache("arg"), new Object[]{2, new Place(0), new Place(2)}), new Skeleton(new Cache("arg"), new Object[]{3, new Place(0), new Place(3)}), new Skeleton(new Cache("sys_stat_map"), new Object[]{new Place(4)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(4), "time", new Place(5)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(4), "gctime", new Place(6)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(4), "calls", new Place(7)}), new Skeleton(new Cache("is"), new Object[]{new Place(8), new Skeleton(new Cache("-"), new Object[]{new Place(5), new Place(1)})}), new Skeleton(new Cache("is"), new Object[]{new Place(9), new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(2)})}), new Skeleton(new Cache("is"), new Object[]{new Place(10), new Skeleton(new Cache("-"), new Object[]{new Place(7), new Place(3)})}), new Skeleton(make_defined(new Object[]{new Clause(4, new Object[]{new Place(1), new Place(2), new Place(3)}, 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("is"), new Object[]{new Place(2), new Skeleton(new Cache("truncate"), new Object[]{new Skeleton(new Cache("/"), new Object[]{new Skeleton(new Cache("*"), new Object[]{new Place(3), 1000}), new Place(1)})})})}, 0, UNDEF_OBJ), new Clause(1, new Object[]{UNDEF_OBJ, new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), 0})}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(8), new Place(11), new Place(10)}), new Skeleton(new Cache("member"), new Object[]{new Skeleton("-", new Object[]{new Place(12), new Place(13)}), new Skeleton(".", new Object[]{new Skeleton("-", new Object[]{"time", new Place(8)}), new Skeleton(".", new Object[]{new Skeleton("-", new Object[]{"gctime", new Place(9)}), new Skeleton(".", new Object[]{new Skeleton("-", new Object[]{"lips", new Place(11)}), "[]"})})})}), new Skeleton(new Cache("sys_print_message"), new Object[]{new Skeleton("time", new Object[]{new Place(12), new Place(13)})}), new Cache("fail")}, -1, UNDEF_OBJ));
        add("sys_time_show", 1, new Clause(0, new Object[]{UNDEF_OBJ}, new Object[]{new Cache("nl")}, -1, UNDEF_OBJ));
        add("sub_atom", 5, new Clause(8, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(2)}), new Skeleton(new Cache("var"), new Object[]{new Place(3)}), new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("between"), new Object[]{0, new Place(6), new Place(2)}), new Skeleton(new Cache("is"), new Object[]{new Place(7), new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(2)})}), new Skeleton(new Cache("between"), new Object[]{0, new Place(7), new Place(3)}), new Skeleton(new Cache("sys_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("-"), new Object[]{new Place(7), new Place(3)})})}, 0, UNDEF_OBJ));
        add("sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(2)}), new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("sys_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(2)}), new Place(3)})})}, 0, UNDEF_OBJ));
        add("sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(2)}), new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(5), new Place(3)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("sys_atom_match"), new Object[]{new Place(1), new Place(5), 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(6), new Place(2)}), new Place(3)})})}, 0, UNDEF_OBJ));
        add("sub_atom", 5, new Clause(8, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(2)}), new Skeleton(new Cache("var"), new Object[]{new Place(3)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("=<"), new Object[]{0, new Place(4)}), new Skeleton(new Cache("=<"), new Object[]{new Place(4), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(7), new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(4)})}), new Skeleton(new Cache("between"), new Object[]{0, new Place(7), new Place(2)}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("-"), new Object[]{new Place(7), new Place(2)})}), new Skeleton(new Cache("sys_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)})}, 0, UNDEF_OBJ));
        add("sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(2)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(4)}), new Place(3)})}), new Skeleton(new Cache("sys_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)})}, 0, UNDEF_OBJ));
        add("sub_atom", 5, new Clause(8, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(3)}), new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("=<"), new Object[]{0, new Place(2)}), new Skeleton(new Cache("=<"), new Object[]{new Place(2), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(7), new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(2)})}), new Skeleton(new Cache("between"), new Object[]{0, new Place(7), new Place(3)}), new Skeleton(new Cache("sys_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("-"), new Object[]{new Place(7), new Place(3)})})}, 0, UNDEF_OBJ));
        add("sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(2)}), new Place(3)})}), new Skeleton(new Cache("sys_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)})}, 0, UNDEF_OBJ));
        add("sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(4)}), new Place(2)})}), new Skeleton(new Cache("sys_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)})}, 0, UNDEF_OBJ));
        add("sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(5), new Place(3)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(2)}), new Place(3)})}), new Skeleton(new Cache("sys_atom_match"), new Object[]{new Place(1), new Place(5), new Place(2)})}, 0, UNDEF_OBJ));
        add("sub_atom", 5, new Clause(6, new Object[]{new Place(0), new Place(1), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("atom_length"), new Object[]{new Place(4), new Place(2)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(0), new Place(5)}), new Skeleton(new Cache("is"), new Object[]{new Place(1), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(5), new Place(3)}), new Place(2)})}), new Skeleton(new Cache("sys_atom_match"), new Object[]{new Place(0), new Place(4), new Place(1)})}, -1, UNDEF_OBJ));
        add("last_sub_atom", 5, new Clause(10, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(2)}), new Skeleton(new Cache("var"), new Object[]{new Place(3)}), new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("between"), new Object[]{0, new Place(6), new Place(7)}), new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(7)})}), new Skeleton(new Cache("is"), new Object[]{new Place(8), new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(2)})}), new Skeleton(new Cache("between"), new Object[]{0, new Place(8), new Place(9)}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("-"), new Object[]{new Place(8), new Place(9)})}), new Skeleton(new Cache("sys_last_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("-"), new Object[]{new Place(8), new Place(3)})})}, 0, UNDEF_OBJ));
        add("last_sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(2)}), new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("sys_last_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(2)}), new Place(3)})})}, 0, UNDEF_OBJ));
        add("last_sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(2)}), new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(5), new Place(3)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("sys_last_atom_match"), new Object[]{new Place(1), new Place(5), 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(6), new Place(2)}), new Place(3)})})}, 0, UNDEF_OBJ));
        add("last_sub_atom", 5, new Clause(9, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(2)}), new Skeleton(new Cache("var"), new Object[]{new Place(3)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("=<"), new Object[]{0, new Place(4)}), new Skeleton(new Cache("=<"), new Object[]{new Place(4), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(7), new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(4)})}), new Skeleton(new Cache("between"), new Object[]{0, new Place(7), new Place(8)}), new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("-"), new Object[]{new Place(7), new Place(8)})}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("-"), new Object[]{new Place(7), new Place(2)})}), new Skeleton(new Cache("sys_last_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)})}, 0, UNDEF_OBJ));
        add("last_sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(2)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(4)}), new Place(3)})}), new Skeleton(new Cache("sys_last_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)})}, 0, UNDEF_OBJ));
        add("last_sub_atom", 5, new Clause(9, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(3)}), new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("=<"), new Object[]{0, new Place(2)}), new Skeleton(new Cache("=<"), new Object[]{new Place(2), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(7), new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(2)})}), new Skeleton(new Cache("between"), new Object[]{0, new Place(7), new Place(8)}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("-"), new Object[]{new Place(7), new Place(8)})}), new Skeleton(new Cache("sys_last_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("-"), new Object[]{new Place(7), new Place(3)})})}, 0, UNDEF_OBJ));
        add("last_sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(2)}), new Place(3)})}), new Skeleton(new Cache("sys_last_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)})}, 0, UNDEF_OBJ));
        add("last_sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(4)}), new Place(2)})}), new Skeleton(new Cache("sys_last_atom_part"), new Object[]{new Place(1), new Place(2), new Place(3), new Place(5)})}, 0, UNDEF_OBJ));
        add("last_sub_atom", 5, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(5), new Place(3)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(1), new Place(6)}), new Skeleton(new Cache("is"), new Object[]{new Place(4), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(6), new Place(2)}), new Place(3)})}), new Skeleton(new Cache("sys_last_atom_match"), new Object[]{new Place(1), new Place(5), new Place(2)})}, 0, UNDEF_OBJ));
        add("last_sub_atom", 5, new Clause(6, new Object[]{new Place(0), new Place(1), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("atom_length"), new Object[]{new Place(4), new Place(2)}), new Skeleton(new Cache("atom_length"), new Object[]{new Place(0), new Place(5)}), new Skeleton(new Cache("is"), new Object[]{new Place(1), new Skeleton(new Cache("-"), new Object[]{new Skeleton(new Cache("-"), new Object[]{new Place(5), new Place(3)}), new Place(2)})}), new Skeleton(new Cache("sys_last_atom_match"), new Object[]{new Place(0), new Place(4), new Place(1)})}, -1, UNDEF_OBJ));
        add("findall", 3, new Clause(4, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_find_init"), new Object[]{new Place(3)}), new Skeleton(make_defined(new Object[]{new Clause(3, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("call"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_find_next"), new Object[]{new Place(1), new Place(2)}), new Cache("fail")}, -1, UNDEF_OBJ), new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(1), new Place(0), new Place(3)}), new Skeleton(new Cache("sys_find_fini"), new Object[]{new Place(3), new Place(2)})}, -1, UNDEF_OBJ));
        add("sys_find_init", 1, new Clause(2, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("=.."), new Object[]{new Place(1), new Frozen(".", new Object[]{".", new Frozen(".", new Object[]{"-", new Frozen(".", new Object[]{"[]", "[]"})})})}), new Skeleton(new Cache("="), new Object[]{new Place(0), new Skeleton("v", new Object[]{new Place(1), new Place(1)})})}, -1, UNDEF_OBJ));
        add("sys_find_next", 2, new Clause(4, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("copy_term"), new Object[]{new Skeleton(".", new Object[]{new Place(0), "[]"}), new Place(2)}), new Skeleton(new Cache("arg"), new Object[]{1, new Place(1), new Place(3)}), new Skeleton(new Cache("change_arg"), new Object[]{2, new Place(3), new Place(2)}), new Skeleton(new Cache("change_arg"), new Object[]{1, new Place(1), new Place(2)})}, -1, UNDEF_OBJ));
        add("sys_find_fini", 2, new Clause(1, new Object[]{new Skeleton("v", new Object[]{UNDEF_OBJ, new Skeleton(".", new Object[]{UNDEF_OBJ, new Place(0)})}), new Place(0)}, new Object[]{}, -1, "v"));
        add("vars_intersection", 3, new Clause(4, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("vars_subtract"), new Object[]{new Place(0), new Place(1), new Place(3)}), new Skeleton(new Cache("vars_subtract"), new Object[]{new Place(0), new Place(3), new Place(2)})}, -1, UNDEF_OBJ));
        add("vars_subtract", 3, new Clause(5, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("term_variables"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("term_variables"), new Object[]{new Skeleton("+", new Object[]{new Place(1), new Place(0)}), new Place(4)}), new Skeleton(new Cache("append"), new Object[]{new Place(3), new Place(2), new Place(4)})}, -1, UNDEF_OBJ));
        add("strings", 3, new Clause(0, new Object[]{"banner.runtime", "de", "Dogelog Spieler, Prolog zum Mond, $$+$$"}, new Object[]{}, -1, "banner.runtime"));
        add("strings", 3, new Clause(0, new Object[]{"banner.copyright", "de", "(c) 1985-2025, XLOG Technologies AG, Schweiz"}, new Object[]{}, -1, "banner.copyright"));
        add("strings", 3, new Clause(0, new Object[]{"time.time", "de", "% Zeit $$ ms"}, new Object[]{}, -1, "time.time"));
        add("strings", 3, new Clause(0, new Object[]{"time.gctime", "de", ", GC $$ ms"}, new Object[]{}, -1, "time.gctime"));
        add("strings", 3, new Clause(0, new Object[]{"time.lips", "de", ", Lips $$"}, new Object[]{}, -1, "time.lips"));
        add("strings", 3, new Clause(0, new Object[]{"banner.runtime", "", "Dogelog Player, Prolog to the Moon, $$+$$"}, new Object[]{}, -1, "banner.runtime"));
        add("strings", 3, new Clause(0, new Object[]{"banner.copyright", "", "(c) 1985-2025, XLOG Technologies AG, Switzerland"}, new Object[]{}, -1, "banner.copyright"));
        add("strings", 3, new Clause(0, new Object[]{"time.time", "", "% Time $$ ms"}, new Object[]{}, -1, "time.time"));
        add("strings", 3, new Clause(0, new Object[]{"time.gctime", "", ", GC $$ ms"}, new Object[]{}, -1, "time.gctime"));
        add("strings", 3, new Clause(0, new Object[]{"time.lips", "", ", Lips $$"}, new Object[]{}, -1, "time.lips"));
    }

    public static void boot8() {
        run(new Goal(0, new Object[]{new Frozen(new Cache("kb_pred_touch"), new Object[]{"sys_source", 3, 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("kb_pred_touch"), new Object[]{"sys_srcprop", 2, 1})}, -1));
        add("current_source", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_source"), new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ})}, -1, UNDEF_OBJ));
        add("source_property", 2, new Clause(2, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_srcprop"), new Object[]{new Place(0), new Place(1)})}, -1, UNDEF_OBJ));
        add("discontiguous", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("discontiguous", 1, new Clause(4, new Object[]{new Skeleton("/", 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_atom"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_check_integer"), new Object[]{new Place(2)}), new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(3)}), new Skeleton(new Cache("assertz"), new Object[]{new Skeleton("sys_predprop", new Object[]{new Place(1), new Place(2), new Skeleton("sys_discontiguous", new Object[]{new Place(3)})})})}, 0, "/"));
        add("discontiguous", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"predicate_indicator", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("multifile", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("multifile", 1, new Clause(3, new Object[]{new Skeleton("/", 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_atom"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_check_integer"), new Object[]{new Place(2)}), new Skeleton(new Cache("sys_multifile_safe"), new Object[]{new Place(1), new Place(2)})}, 0, "/"));
        add("multifile", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"predicate_indicator", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("sys_multifile_safe", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(2)}), new Skeleton(make_defined(new Object[]{new Clause(5, new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_predprop"), new Object[]{new Place(1), new Place(2), new Skeleton("sys_usage", new Object[]{new Place(4)})}), new Skeleton(new Cache("\\=="), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("\\+"), new Object[]{new Skeleton("sys_predprop", new Object[]{new Place(1), new Place(2), new Skeleton("sys_multifile", new Object[]{new Place(4)})})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("permission_error", new Object[]{"promote", "multifile", new Skeleton("/", new Object[]{new Place(1), new Place(2)})}), UNDEF_OBJ})})}, 0, UNDEF_OBJ), new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(0), new Place(1), new Place(2)}), new Skeleton(new Cache("assertz"), new Object[]{new Skeleton("sys_predprop", new Object[]{new Place(0), new Place(1), new Skeleton("sys_multifile", new Object[]{new Place(2)})})})}, -1, UNDEF_OBJ));
        add("include", 1, new Clause(3, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_file_relative"), new Object[]{new Place(0), new Place(1)}), new Skeleton(new Cache("file_property"), new Object[]{new Place(1), new Skeleton("absolute_path", new Object[]{new Place(2)})}), new Skeleton(new Cache("sys_include_file"), new Object[]{new Place(2)})}, -1, UNDEF_OBJ));
        add("sys_include_file", 1, new Clause(2, new Object[]{"user"}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("current_input"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_include_stream"), new Object[]{"user", new Place(1)})}, 0, "user"));
        add("sys_include_file", 1, new Clause(5, new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("current_prolog_flag"), new Object[]{"foreign_ext", new Place(2)}), new Skeleton(new Cache("sub_atom"), new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ, 0, new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_include_native"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(3), "module", new Place(4)}), new Skeleton(new Cache("os_invoke_main"), new Object[]{new Place(4)})}, 0, UNDEF_OBJ));
        add("sys_include_file", 1, new Clause(2, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("setup_once_cleanup"), new Object[]{new Skeleton("open", new Object[]{new Place(0), "read", new Place(1)}), new Skeleton("sys_include_stream", new Object[]{new Place(0), new Place(1)}), new Skeleton("close", new Object[]{new Place(1)})})}, -1, UNDEF_OBJ));
        add("sys_include_native", 2, new Clause(4, new Object[]{new Place(1), new Place(2)}, new Object[]{new Frozen(new Cache("current_prolog_flag"), new Object[]{"import_async", "on"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("os_import_promise"), new Object[]{new Place(1), new Place(2), new Place(3)}), new Skeleton(new Cache("$YIELD"), new Object[]{new Place(3)})}, 0, UNDEF_OBJ));
        add("sys_include_native", 2, new Clause(2, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("os_import_sync"), new Object[]{new Place(0), new Place(1)})}, -1, UNDEF_OBJ));
        add(".", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("member"), new Object[]{new Place(2), new Skeleton(".", new Object[]{new Place(0), new Place(1)})}), new Skeleton(new Cache("ensure_loaded"), new Object[]{new Place(2)}), new Cache("fail")}, -1, UNDEF_OBJ));
        add(".", 2, new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1, UNDEF_OBJ));
        add("ensure_loaded", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("ensure_loaded", 1, new Clause(1, new Object[]{"user"}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Frozen(new Cache("sys_include_file"), new Object[]{"user"})}, 0, "user"));
        add("ensure_loaded", 1, new Clause(5, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_file_relative"), new Object[]{new Place(0), new Place(1)}), new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(2)}), new Skeleton(new Cache("sys_prop_map"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(3), "absolute_path", new Place(4)}), new Skeleton(make_defined(new Object[]{new Clause(3, new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_srcprop"), new Object[]{new Place(1), new Skeleton("sys_link", new Object[]{new Place(2)})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ), new Clause(2, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("assertz"), new Object[]{new Skeleton("sys_srcprop", new Object[]{new Place(0), new Skeleton("sys_link", new Object[]{new Place(1)})})})}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("sys_check_file"), new Object[]{new Place(4), new Place(3)})}, -1, UNDEF_OBJ));
        add("sys_check_file", 2, new Clause(5, new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(2), "last_modified", new Place(3)}), new Skeleton(new Cache("shield"), new Object[]{new Skeleton("sys_action_file", new Object[]{new Place(1), new Place(3), new Place(4)})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(make_defined(new Object[]{new Clause(3, new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(1), "replay"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_replay_file"), new Object[]{new Place(2)})}, 0, "replay"), new Clause(3, new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(1), "clear_load"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_clear_file"), new Object[]{new Place(2)}), new Skeleton(new Cache("sys_load_file"), new Object[]{new Place(2)})}, 0, "clear_load"), new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(4), new Place(1)})}, 0, UNDEF_OBJ));
        add("sys_check_file", 2, new Clause(1, new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sys_load_file"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ));
        add("sys_action_file", 3, new Clause(6, new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_source"), new Object[]{new Place(1), new Place(4), new Place(5)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(make_defined(new Object[]{new Clause(3, new Object[]{new Place(1), new Place(2), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(1), 1}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), "none"})}, 0, 1), new Clause(5, new Object[]{UNDEF_OBJ, new Place(1), new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "replay"}), new Skeleton(new Cache("retractall"), new Object[]{new Skeleton("sys_source", new Object[]{new Place(4), UNDEF_OBJ, UNDEF_OBJ})}), new Skeleton(new Cache("assertz"), new Object[]{new Skeleton("sys_source", new Object[]{new Place(4), new Place(3), 1})})}, 0, UNDEF_OBJ), new Clause(3, new Object[]{UNDEF_OBJ, new Place(0), new Place(1), UNDEF_OBJ, new Place(2)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), "clear_load"}), new Skeleton(new Cache("retractall"), new Object[]{new Skeleton("sys_source", new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ})}), new Skeleton(new Cache("assertz"), new Object[]{new Skeleton("sys_source", new Object[]{new Place(2), new Place(1), 1})})}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(5), new Place(3), new Place(2), new Place(4), new Place(1)})}, 0, UNDEF_OBJ));
        add("sys_action_file", 3, new Clause(2, new Object[]{new Place(0), new Place(1), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("assertz"), new Object[]{new Skeleton("sys_source", new Object[]{new Place(0), new Place(1), 1})}), new Cache("fail")}, -1, UNDEF_OBJ));
        run(new Goal(0, new Object[]{new Frozen(new Cache("kb_pred_touch"), new Object[]{"sys_lastpred", 3, 1})}, -1));
        add("sys_load_file", 1, new Clause(3, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("setup_once_cleanup"), new Object[]{new Skeleton("sys_loading_begin", new Object[]{new Place(0), new Place(1), new Place(2)}), new Skeleton("sys_include_file", new Object[]{new Place(0)}), new Skeleton("sys_loading_end", new Object[]{new Place(1), new Place(2)})})}, -1, UNDEF_OBJ));
        add("sys_loading_begin", 3, new Clause(6, new Object[]{new Place(1), new Place(2), new Skeleton("just", new Object[]{new Place(3), new Place(4)})}, new Object[]{new Skeleton(new Cache("current_task"), new Object[]{new Place(5)}), new Skeleton(new Cache("retract"), new Object[]{new Skeleton("sys_lastpred", new Object[]{new Place(5), new Place(3), new Place(4)})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(2)}), new Skeleton(new Cache("dg_set_partition"), new Object[]{new Place(1)})}, 0, UNDEF_OBJ));
        add("sys_loading_begin", 3, new Clause(2, new Object[]{new Place(0), new Place(1), "nothing"}, new Object[]{new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(1)}), new Skeleton(new Cache("dg_set_partition"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ));
        add("sys_loading_end", 2, new Clause(4, new Object[]{new Place(0), new Skeleton("just", new Object[]{new Place(1), new Place(2)})}, new Object[]{new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(3)}), new Skeleton(new Cache("retractall"), new Object[]{new Skeleton("sys_predprop", new Object[]{UNDEF_OBJ, UNDEF_OBJ, new Skeleton("sys_discontiguous", new Object[]{new Place(3)})})}), new Skeleton(new Cache("dg_set_partition"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_update_last"), new Object[]{new Place(1), new Place(2)})}, -1, UNDEF_OBJ));
        add("sys_loading_end", 2, new Clause(3, new Object[]{new Place(0), "nothing"}, new Object[]{new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(1)}), new Skeleton(new Cache("retractall"), new Object[]{new Skeleton("sys_predprop", new Object[]{UNDEF_OBJ, UNDEF_OBJ, new Skeleton("sys_discontiguous", new Object[]{new Place(1)})})}), new Skeleton(new Cache("dg_set_partition"), new Object[]{new Place(0)}), new Skeleton(new Cache("current_task"), new Object[]{new Place(2)}), new Skeleton(new Cache("retractall"), new Object[]{new Skeleton("sys_lastpred", new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("sys_update_last", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("current_task"), new Object[]{new Place(2)}), new Skeleton(new Cache("retractall"), new Object[]{new Skeleton("sys_lastpred", new Object[]{new Place(2), UNDEF_OBJ, UNDEF_OBJ})}), new Skeleton(new Cache("assertz"), new Object[]{new Skeleton("sys_lastpred", new Object[]{new Place(2), new Place(0), new Place(1)})})}, -1, UNDEF_OBJ));
        add("sys_style_static", 1, new Clause(2, new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("sys_style_static", 1, new Clause(1, new Object[]{new Skeleton(":-", new Object[]{UNDEF_OBJ})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, ":-"));
        add("sys_style_static", 1, new Clause(2, new Object[]{new Skeleton(":-", new Object[]{new Place(1), UNDEF_OBJ})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_style_head"), new Object[]{new Place(1)})}, 0, ":-"));
        add("sys_style_static", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_style_head"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ));
        add("sys_style_head", 1, new Clause(4, new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("callable"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("functor"), new Object[]{new Place(1), new Place(2), new Place(3)}), new Skeleton(new Cache("sys_style_indicator"), new Object[]{new Place(2), new Place(3)})}, 0, UNDEF_OBJ));
        add("sys_style_head", 1, new Clause(0, new Object[]{UNDEF_OBJ}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_style_indicator", 2, new Clause(4, new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("current_task"), new Object[]{new Place(3)}), new Skeleton(new Cache("sys_lastpred"), new Object[]{new Place(3), new Place(1), new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("sys_style_indicator", 2, new Clause(4, new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(3)}), new Skeleton(new Cache("sys_predprop"), new Object[]{new Place(1), new Place(2), new Skeleton("sys_usage", new Object[]{new Place(3)})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(make_defined(new Object[]{new Clause(4, new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_predprop"), new Object[]{new Place(1), new Place(2), new Skeleton("sys_discontiguous", new Object[]{new Place(3)})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ), new Clause(3, new Object[]{new Place(0), new Place(1), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(2), new Skeleton("warning", new Object[]{new Skeleton("syntax_error", new Object[]{"discontiguous_pred", new Skeleton("/", new Object[]{new Place(0), new Place(1)})}), UNDEF_OBJ})}), new Skeleton(new Cache("sys_fill_stack"), new Object[]{new Place(2)}), new Skeleton(new Cache("sys_print_error"), new Object[]{new Place(2)})}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(1), new Place(2), new Place(3)}), new Skeleton(new Cache("sys_update_last"), new Object[]{new Place(1), new Place(2)})}, 0, UNDEF_OBJ));
        add("sys_style_indicator", 2, new Clause(2, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_usage_predicate"), new Object[]{new Place(0), new Place(1)}), new Skeleton(new Cache("sys_update_last"), new Object[]{new Place(0), new Place(1)})}, -1, UNDEF_OBJ));
        add("sys_usage_predicate", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(2)}), new Skeleton(make_defined(new Object[]{new Clause(5, new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("\\+"), new Object[]{new Skeleton("sys_predprop", new Object[]{new Place(1), new Place(2), new Skeleton("sys_multifile", new Object[]{new Place(3)})})}), new Skeleton(new Cache("sys_predprop"), new Object[]{new Place(1), new Place(2), new Skeleton("sys_usage", new Object[]{new Place(4)})}), new Skeleton(new Cache("\\=="), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("permission_error", new Object[]{"redefine", "procedure", new Skeleton("/", new Object[]{new Place(1), new Place(2)})}), UNDEF_OBJ})})}, 0, UNDEF_OBJ), new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(0), new Place(1), new Place(2)}), new Skeleton(new Cache("assertz"), new Object[]{new Skeleton("sys_predprop", new Object[]{new Place(0), new Place(1), new Skeleton("sys_usage", new Object[]{new Place(2)})})})}, -1, UNDEF_OBJ));
        add("sys_include_stream", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("current_task"), new Object[]{new Place(2)}), new Skeleton(new Cache("setup_once_cleanup"), new Object[]{new Skeleton("asserta", new Object[]{new Skeleton("sys_including", new Object[]{new Place(0), new Place(2), new Place(1)})}), new Skeleton("sys_include_lines", new Object[]{new Place(1)}), new Skeleton("once", new Object[]{new Skeleton("retract", new Object[]{new Skeleton("sys_including", new Object[]{new Place(0), new Place(2), new Place(1)})})})})}, -1, UNDEF_OBJ));
        add("sys_include_lines", 1, new Clause(3, new Object[]{new Place(1)}, new Object[]{new Cache("repeat"), new Skeleton(new Cache("catch"), new Object[]{new Skeleton("sys_next_term", new Object[]{new Place(1)}), new Place(2), new Skeleton(",", new Object[]{new Skeleton("sys_print_error", new Object[]{new Place(2)}), "fail"})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("sys_next_term", 1, new Clause(4, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("read_term"), new Object[]{new Place(0), new Place(1), new Skeleton(".", new Object[]{new Skeleton("variable_names", new Object[]{new Place(2)}), new Skeleton(".", new Object[]{new Skeleton("singletons", new Object[]{new Place(3)}), "[]"})})}), new Skeleton(make_defined(new Object[]{new Clause(2, new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("=="), new Object[]{new Place(1), "end_of_file"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ), new Clause(4, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_expand_include"), new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}), new Skeleton(new Cache("sys_style_static"), new Object[]{new Place(3)}), new Skeleton(new Cache("sys_handle_static"), new Object[]{new Place(3)}), new Cache("fail")}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(1), new Place(2), new Place(3)})}, -1, UNDEF_OBJ));
        add("sys_expand_include", 4, new Clause(1, 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, UNDEF_OBJ));
        add("sys_expand_include", 4, new Clause(4, new Object[]{new Skeleton("?-", new Object[]{new Place(1)}), new Place(2), UNDEF_OBJ, new Place(3)}, 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 Skeleton("sys_query_unattended", new Object[]{new Place(1), new Place(2)})})})}, 0, "?-"));
        add("sys_expand_include", 4, new Clause(6, new Object[]{new Place(0), new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_multiton_keys"), new Object[]{new Place(1), new Place(2), new Place(4)}), new Skeleton(new Cache("sys_multiton_check"), new Object[]{new Place(4)}), new Skeleton(new Cache("sys_singleton_keys"), new Object[]{new Place(2), new Place(5)}), new Skeleton(new Cache("sys_singleton_check"), new Object[]{new Place(5)}), new Skeleton(new Cache("expand_term"), new Object[]{new Place(0), new Place(3)})}, -1, UNDEF_OBJ));
        add("sys_handle_static", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("sys_handle_static", 1, new Clause(3, new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(1), new Skeleton(":-", new Object[]{UNDEF_OBJ})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_frost_horn"), new Object[]{new Place(1), 1, new Place(2)}), new Skeleton(make_defined(new Object[]{new Clause(2, new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("ir_goal_call"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ), new Clause(0, 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, UNDEF_OBJ)}, 1), new Object[]{new Place(2)})}, 0, ":-"));
        add("sys_handle_static", 1, new Clause(8, new Object[]{new Place(1)}, new Object[]{new Skeleton(make_defined(new Object[]{new Clause(2, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), new Skeleton(":-", new Object[]{new Place(1), UNDEF_OBJ})})}, -1, ":-"), new Clause(2, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(0), new Place(1)})}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("functor"), new Object[]{new Place(2), new Place(3), new Place(4)}), new Skeleton(new Cache("sys_pred_type"), new Object[]{new Place(3), new Place(4), new Place(5)}), new Skeleton(new Cache("sys_frost_horn"), new Object[]{new Place(1), new Place(5), new Place(6)}), new Skeleton(new Cache("sys_pred_multi"), new Object[]{new Place(3), new Place(4), new Place(7)}), new Skeleton(new Cache("ir_clause_add"), new Object[]{new Place(3), new Place(4), new Place(6), new Place(7)})}, 0, UNDEF_OBJ));
        add("sys_pred_type", 3, new Clause(5, new Object[]{new Place(1), new Place(2), 0}, new Object[]{new Skeleton(new Cache("kb_pred_link"), new Object[]{new Place(1), new Place(2), new Place(3)}), new Skeleton(new Cache("kb_link_flags"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("=\\="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(4), 1}), 0}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("sys_pred_type", 3, new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ, 1}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_pred_multi", 3, new Clause(4, new Object[]{new Place(1), new Place(2), 18}, new Object[]{new Skeleton(new Cache("dg_get_partition"), new Object[]{new Place(3)}), new Skeleton(new Cache("sys_predprop"), new Object[]{new Place(1), new Place(2), new Skeleton("sys_multifile", new Object[]{new Place(3)})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("sys_pred_multi", 3, new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ, 2}, new Object[]{}, -1, UNDEF_OBJ));
        add("strings", 3, new Clause(0, new Object[]{"syntax_error.discontiguous_pred", "de", "Unterbrochenes Prädikat $, entsprechend deklarieren."}, new Object[]{}, -1, "syntax_error.discontiguous_pred"));
        add("strings", 3, new Clause(0, new Object[]{"syntax_error.bad_module", "de", "Fehlerhaftes Modul."}, new Object[]{}, -1, "syntax_error.bad_module"));
        add("strings", 3, new Clause(0, new Object[]{"syntax_error.discontiguous_pred", "", "Discontiguous predicate $, declare accordingly."}, new Object[]{}, -1, "syntax_error.discontiguous_pred"));
        add("strings", 3, new Clause(0, new Object[]{"syntax_error.bad_module", "", "Faulty module."}, new Object[]{}, -1, "syntax_error.bad_module"));
    }

    public static void boot2() {
        add("\\=", 2, new Clause(3, new Object[]{new Place(1), new Place(2)}, 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 Cache("fail")}, 0, UNDEF_OBJ));
        add("\\=", 2, new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ}, new Object[]{}, -1, UNDEF_OBJ));
        add("\\+", 1, new Clause(2, 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)}), new Cache("fail")}, 0, UNDEF_OBJ));
        add("\\+", 1, new Clause(0, new Object[]{UNDEF_OBJ}, new Object[]{}, -1, UNDEF_OBJ));
        add("once", 1, new Clause(2, 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, UNDEF_OBJ));
        add("repeat", 0, new Clause(0, new Object[]{}, new Object[]{}, -1, UNDEF_OBJ));
        add("repeat", 0, new Clause(0, new Object[]{}, new Object[]{new Cache("repeat")}, -1, UNDEF_OBJ));
        add("catch", 3, new Clause(4, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_trap"), new Object[]{new Place(0), new Place(3), new Skeleton("sys_error_handler", new Object[]{new Place(3), new Place(1), new Place(2)})})}, -1, UNDEF_OBJ));
        add("sys_error_handler", 3, new Clause(1, new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sys_chain_head"), new Object[]{new Place(0), new Skeleton("error", new Object[]{new Skeleton("system_error", new Object[]{UNDEF_OBJ}), UNDEF_OBJ})}), new Skeleton(new Cache("sys_raise"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ));
        add("sys_error_handler", 3, new Clause(4, new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_chain_head"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("call"), new Object[]{new Place(3)})}, 0, UNDEF_OBJ));
        add("sys_error_handler", 3, new Clause(1, new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sys_raise"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ));
        add("sys_chain_head", 2, new Clause(3, new Object[]{new Skeleton("cause", new Object[]{new Place(1), UNDEF_OBJ}), 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, "cause"));
        add("sys_chain_head", 2, new Clause(1, new Object[]{new Place(0), new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("throw", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_fill_stack"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_raise"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ));
        add("sys_fill_stack", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("sys_fill_stack", 1, new Clause(2, new Object[]{new Skeleton("error", new Object[]{UNDEF_OBJ, new Place(1)})}, 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_fetch_stack"), new Object[]{new Place(1)})}, 0, "error"));
        add("sys_fill_stack", 1, new Clause(2, new Object[]{new Skeleton("warning", new Object[]{UNDEF_OBJ, new Place(1)})}, 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_fetch_stack"), new Object[]{new Place(1)})}, 0, "warning"));
        add("sys_fill_stack", 1, new Clause(0, new Object[]{UNDEF_OBJ}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_fetch_stack", 1, new Clause(4, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("current_task"), new Object[]{new Place(1)}), new Skeleton(new Cache("findall"), new Object[]{new Skeleton("sys_including", new Object[]{new Place(2), new Place(3)}), new Skeleton("sys_including", new Object[]{new Place(2), new Place(1), new Place(3)}), new Place(0)})}, -1, UNDEF_OBJ));
        add("try_call_finally", 3, new Clause(7, 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), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("call"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ), new Clause(1, new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("call"), new Object[]{new Place(0)}), new Cache("fail")}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("$MARK"), new Object[]{new Place(4)}), new Skeleton(new Cache("sys_trap"), new Object[]{new Place(2), new Place(5), new Skeleton(",", new Object[]{new Place(3), new Skeleton("sys_raise", new Object[]{new Place(5)})})}), new Skeleton(new Cache("$MARK"), new Object[]{new Place(6)}), new Skeleton(make_defined(new Object[]{new Clause(5, new Object[]{new Place(1), new Place(2), new Place(3), new Place(4), 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)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(3)}), new Skeleton(new Cache("call"), new Object[]{new Place(4)})}, 0, UNDEF_OBJ), new Clause(1, new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("call"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ), new Clause(1, new Object[]{UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("call"), new Object[]{new Place(0)}), new Cache("fail")}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(4), new Place(6), new Place(0), new Place(3), new Place(1)})}, 0, UNDEF_OBJ));
        add("ignore", 1, new Clause(2, 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, UNDEF_OBJ));
        add("ignore", 1, new Clause(0, new Object[]{UNDEF_OBJ}, new Object[]{}, -1, UNDEF_OBJ));
        add("chain", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_trap"), new Object[]{new Place(0), new Place(2), new Skeleton("sys_chain_error", new Object[]{new Place(2), new Place(1)})}), new Skeleton(new Cache("call"), new Object[]{new Place(1)})}, -1, UNDEF_OBJ));
        add("sys_chain_error", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_trap"), new Object[]{new Place(1), new Place(2), new Skeleton("sys_chain_raise", new Object[]{new Place(0), new Place(2)})}), new Skeleton(new Cache("sys_raise"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ));
        add("sys_chain_error", 2, new Clause(1, new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sys_raise"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ));
        add("sys_chain_raise", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_chain_concat"), new Object[]{new Place(0), new Place(1), new Place(2)}), new Skeleton(new Cache("sys_raise"), new Object[]{new Place(2)})}, -1, UNDEF_OBJ));
        add("sys_chain_concat", 3, new Clause(5, new Object[]{new Skeleton("cause", new Object[]{new Place(1), new Place(2)}), new Place(3), new Skeleton("cause", new Object[]{new Place(1), new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_chain_concat"), new Object[]{new Place(2), new Place(3), new Place(4)})}, 0, "cause"));
        add("sys_chain_concat", 3, new Clause(2, new Object[]{new Place(0), new Place(1), new Skeleton("cause", new Object[]{new Place(0), new Place(1)})}, new Object[]{}, -1, UNDEF_OBJ));
        add("once_cleanup", 2, new Clause(3, new Object[]{new Place(1), new Place(2)}, new Object[]{new Frozen(new Cache("current_prolog_flag"), new Object[]{"async_mode", "on"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("shield"), new Object[]{new Skeleton("sys_once_cleanup", new Object[]{new Skeleton("unshield", new Object[]{new Place(1)}), new Place(2)})})}, 0, UNDEF_OBJ));
        add("once_cleanup", 2, new Clause(2, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_once_cleanup"), new Object[]{new Place(0), new Place(1)})}, -1, UNDEF_OBJ));
        add("setup_once_cleanup", 3, new Clause(4, new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Frozen(new Cache("current_prolog_flag"), new Object[]{"async_mode", "on"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("shield"), new Object[]{new Skeleton("sys_setup_once_cleanup", new Object[]{new Place(1), new Skeleton("unshield", new Object[]{new Place(2)}), new Place(3)})})}, 0, UNDEF_OBJ));
        add("setup_once_cleanup", 3, new Clause(3, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_setup_once_cleanup"), new Object[]{new Place(0), new Place(1), new Place(2)})}, -1, UNDEF_OBJ));
        add("sys_setup_once_cleanup", 3, new Clause(3, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("call"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_once_cleanup"), new Object[]{new Place(1), new Place(2)})}, -1, UNDEF_OBJ));
        add("sys_once_cleanup", 2, new Clause(3, new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("chain"), new Object[]{new Place(1), new Skeleton("ignore", new Object[]{new Place(2)})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("sys_once_cleanup", 2, new Clause(1, new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("ignore"), new Object[]{new Place(0)}), new Cache("fail")}, -1, UNDEF_OBJ));
        add("sys_check_atom", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("sys_check_atom", 1, new Clause(2, new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("atom"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("sys_check_atom", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("sys_check_integer", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("sys_check_integer", 1, new Clause(2, new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("integer"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("sys_check_integer", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"integer", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("sys_check_callable", 1, new Clause(2, new Object[]{new Place(1)}, new Object[]{new Skeleton(new Cache("callable"), new Object[]{new Place(1)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("sys_check_callable", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("sys_check_callable", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"callable", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("call_later", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_frost_horn"), new Object[]{new Skeleton(":-", new Object[]{new Place(0)}), 0, new Place(2)}), new Skeleton(new Cache("os_call_later"), new Object[]{new Place(2), new Place(1), UNDEF_OBJ})}, -1, UNDEF_OBJ));
        add("call_later", 3, new Clause(4, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_frost_horn"), new Object[]{new Skeleton(":-", new Object[]{new Place(0)}), 0, new Place(3)}), new Skeleton(new Cache("os_call_later"), new Object[]{new Place(3), new Place(1), new Place(2)})}, -1, UNDEF_OBJ));
        add("call_with_time_limit", 2, new Clause(5, new Object[]{new Place(1), new Place(2)}, new Object[]{new Frozen(new Cache("current_prolog_flag"), new Object[]{"allow_yield", "on"}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("current_task"), new Object[]{new Place(3)}), new Skeleton(new Cache("setup_once_cleanup"), new Object[]{new Skeleton("call_later", new Object[]{new Skeleton("sys_timeout_signal", new Object[]{new Place(3)}), new Place(1), new Place(4)}), new Place(2), new Skeleton("timer_cancel", new Object[]{new Place(4)})})}, 0, UNDEF_OBJ));
        add("call_with_time_limit", 2, new Clause(0, new Object[]{UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Frozen("system_error", new Object[]{"illegal_yield"}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("sys_timeout_signal", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("task_abort"), new Object[]{new Place(0), new Frozen("system_error", new Object[]{"timelimit_exceeded"})})}, -1, UNDEF_OBJ));
        add("create_task", 1, new Clause(2, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_frost_horn"), new Object[]{new Skeleton(":-", new Object[]{new Place(0)}), 0, new Place(1)}), new Skeleton(new Cache("os_task_create"), new Object[]{new Place(1), UNDEF_OBJ})}, -1, UNDEF_OBJ));
        add("create_task", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_frost_horn"), new Object[]{new Skeleton(":-", new Object[]{new Place(0)}), 0, new Place(2)}), new Skeleton(new Cache("os_task_create"), new Object[]{new Place(2), new Place(1)})}, -1, UNDEF_OBJ));
        add("member", 2, new Clause(3, new Object[]{new Place(0), new Skeleton(".", new Object[]{new Place(1), new Place(2)})}, new Object[]{new Skeleton(new Cache("sys_member"), new Object[]{new Place(2), new Place(0), new Place(1)})}, -1, UNDEF_OBJ));
        add("sys_member", 3, new Clause(1, new Object[]{UNDEF_OBJ, new Place(0), new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_member", 3, new Clause(3, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("sys_member"), new Object[]{new Place(1), new Place(2), new Place(0)})}, -1, "."));
        add("select", 3, new Clause(4, 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_select"), new Object[]{new Place(2), new Place(0), new Place(1), new Place(3)})}, -1, UNDEF_OBJ));
        add("sys_select", 4, new Clause(2, new Object[]{new Place(0), new Place(1), new Place(1), new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_select", 4, new Clause(5, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2), new Place(3), new Skeleton(".", new Object[]{new Place(3), new Place(4)})}, new Object[]{new Skeleton(new Cache("sys_select"), new Object[]{new Place(1), new Place(2), new Place(0), new Place(4)})}, -1, "."));
        add("reverse", 2, new Clause(2, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_reverse"), new Object[]{new Place(0), "[]", new Place(1)})}, -1, UNDEF_OBJ));
        add("sys_reverse", 3, new Clause(1, new Object[]{"[]", new Place(0), new Place(0)}, new Object[]{}, -1, "[]"));
        add("sys_reverse", 3, new Clause(4, 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_reverse"), new Object[]{new Place(1), new Skeleton(".", new Object[]{new Place(0), new Place(2)}), new Place(3)})}, -1, "."));
        add("append", 3, new Clause(1, new Object[]{"[]", new Place(0), new Place(0)}, new Object[]{}, -1, "[]"));
        add("append", 3, new Clause(4, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)}), new Place(2), new Skeleton(".", new Object[]{new Place(0), new Place(3)})}, new Object[]{new Skeleton(new Cache("append"), new Object[]{new Place(1), new Place(2), new Place(3)})}, -1, "."));
        add("length", 2, new Clause(3, 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_length"), new Object[]{new Place(1), 0, new Place(2)})}, 0, UNDEF_OBJ));
        add("length", 2, new Clause(2, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("sys_check_integer"), new Object[]{new Place(1)}), new Skeleton(new Cache(">="), new Object[]{new Place(1), 0}), new Skeleton(new Cache("sys_length"), new Object[]{new Place(1), new Place(0)})}, -1, UNDEF_OBJ));
        add("sys_length", 3, new Clause(1, new Object[]{"[]", new Place(0), new Place(0)}, new Object[]{}, -1, "[]"));
        add("sys_length", 3, new Clause(4, new Object[]{new Skeleton(".", new Object[]{UNDEF_OBJ, new Place(0)}), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("+"), new Object[]{new Place(1), 1})}), new Skeleton(new Cache("sys_length"), new Object[]{new Place(0), new Place(3), new Place(2)})}, -1, "."));
        add("sys_length", 2, new Clause(2, new Object[]{0, new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(1), "[]"})}, 0, 0));
        add("sys_length", 2, new Clause(3, new Object[]{new Place(0), new Skeleton(".", new Object[]{UNDEF_OBJ, new Place(1)})}, new Object[]{new Skeleton(new Cache("is"), new Object[]{new Place(2), new Skeleton(new Cache("-"), new Object[]{new Place(0), 1})}), new Skeleton(new Cache("sys_length"), new Object[]{new Place(2), new Place(1)})}, -1, UNDEF_OBJ));
        add("between", 3, new Clause(4, new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("=<"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("sys_between"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0, UNDEF_OBJ));
        add("between", 3, new Clause(3, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("=<"), new Object[]{new Place(0), new Place(2)}), new Skeleton(new Cache("=<"), new Object[]{new Place(2), new Place(1)})}, -1, UNDEF_OBJ));
        add("sys_between", 3, new Clause(3, new Object[]{new Place(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, UNDEF_OBJ));
        add("sys_between", 3, new Clause(1, new Object[]{new Place(0), UNDEF_OBJ, new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_between", 3, new Clause(4, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("is"), new Object[]{new Place(3), new Skeleton(new Cache("+"), new Object[]{new Place(0), 1})}), new Skeleton(new Cache("sys_between"), new Object[]{new Place(3), new Place(1), new Place(2)})}, -1, UNDEF_OBJ));
        add("get_string", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("current_prolog_flag"), new Object[]{"sys_locale", new Place(2)}), new Skeleton(new Cache("get_string"), new Object[]{new Place(0), new Place(2), new Place(1)})}, -1, UNDEF_OBJ));
        add("get_string", 3, new Clause(6, new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_locale_ancestor"), new Object[]{new Place(2), new Place(4)}), new Skeleton(new Cache("strings"), 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("="), new Object[]{new Place(3), new Place(5)})}, 0, UNDEF_OBJ));
        add("sys_locale_ancestor", 2, new Clause(1, new Object[]{new Place(0), new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("sys_locale_ancestor", 2, new Clause(3, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("last_sub_atom"), new Object[]{new Place(0), new Place(2), UNDEF_OBJ, UNDEF_OBJ, "_"}), new Skeleton(new Cache("sub_atom"), new Object[]{new Place(0), 0, new Place(2), UNDEF_OBJ, new Place(1)})}, -1, UNDEF_OBJ));
        add("sys_locale_ancestor", 2, new Clause(1, new Object[]{new Place(0), ""}, new Object[]{new Skeleton(new Cache("\\=="), new Object[]{new Place(0), ""})}, -1, UNDEF_OBJ));
        add("sys_multiton_keys", 3, new Clause(5, new Object[]{new Skeleton(".", new Object[]{new Skeleton("=", new Object[]{new Place(1), UNDEF_OBJ}), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("\\+"), new Object[]{new Skeleton("sys_marked_at", new Object[]{new Place(1), 0, new Frozen(".", new Object[]{23, "[]"})})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_multiton_keys"), new Object[]{new Place(2), new Place(3), new Place(4)})}, 0, "."));
        add("sys_multiton_keys", 3, new Clause(5, new Object[]{new Skeleton(".", new Object[]{new Skeleton("=", new Object[]{new Place(1), UNDEF_OBJ}), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("\\+"), new Object[]{new Skeleton("sys_marked_at", new Object[]{new Place(1), 1, new Frozen(".", new Object[]{1, new Frozen(".", new Object[]{3, new Frozen(".", new Object[]{23, "[]"})})})})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_multiton_keys"), new Object[]{new Place(2), new Place(3), new Place(4)})}, 0, "."));
        add("sys_multiton_keys", 3, new Clause(5, new Object[]{new Skeleton(".", new Object[]{new Skeleton("=", new Object[]{new Place(1), UNDEF_OBJ}), new Place(2)}), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("member"), new Object[]{new Skeleton("=", new Object[]{new Place(1), UNDEF_OBJ}), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_multiton_keys"), new Object[]{new Place(2), new Place(3), new Place(4)})}, 0, "."));
        add("sys_multiton_keys", 3, new Clause(4, new Object[]{new Skeleton(".", new Object[]{new Skeleton("=", new Object[]{new Place(0), UNDEF_OBJ}), new Place(1)}), new Place(2), new Skeleton(".", new Object[]{new Place(0), new Place(3)})}, new Object[]{new Skeleton(new Cache("sys_multiton_keys"), new Object[]{new Place(1), new Place(2), new Place(3)})}, -1, "."));
        add("sys_multiton_keys", 3, new Clause(0, new Object[]{"[]", UNDEF_OBJ, "[]"}, new Object[]{}, -1, "[]"));
        add("sys_multiton_check", 1, new Clause(3, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)})}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(2), new Skeleton("warning", new Object[]{new Skeleton("syntax_error", new Object[]{"multiton_var", new Skeleton(".", new Object[]{new Place(0), new Place(1)})}), UNDEF_OBJ})}), new Skeleton(new Cache("sys_fill_stack"), new Object[]{new Place(2)}), new Skeleton(new Cache("sys_print_error"), new Object[]{new Place(2)})}, -1, "."));
        add("sys_multiton_check", 1, new Clause(0, new Object[]{"[]"}, new Object[]{}, -1, "[]"));
        add("sys_singleton_keys", 2, new Clause(4, new Object[]{new Skeleton(".", new Object[]{new Skeleton("=", new Object[]{new Place(1), UNDEF_OBJ}), new Place(2)}), new Place(3)}, new Object[]{new Skeleton(new Cache("sys_marked_at"), new Object[]{new Place(1), 0, new Frozen(".", new Object[]{23, "[]"})}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_singleton_keys"), new Object[]{new Place(2), new Place(3)})}, 0, "."));
        add("sys_singleton_keys", 2, new Clause(3, new Object[]{new Skeleton(".", new Object[]{new Skeleton("=", new Object[]{new Place(0), UNDEF_OBJ}), new Place(1)}), new Skeleton(".", new Object[]{new Place(0), new Place(2)})}, new Object[]{new Skeleton(new Cache("sys_singleton_keys"), new Object[]{new Place(1), new Place(2)})}, -1, "."));
        add("sys_singleton_keys", 2, new Clause(0, new Object[]{"[]", "[]"}, new Object[]{}, -1, "[]"));
        add("sys_singleton_check", 1, new Clause(3, new Object[]{new Skeleton(".", new Object[]{new Place(0), new Place(1)})}, new Object[]{new Skeleton(new Cache("="), new Object[]{new Place(2), new Skeleton("warning", new Object[]{new Skeleton("syntax_error", new Object[]{"singleton_var", new Skeleton(".", new Object[]{new Place(0), new Place(1)})}), UNDEF_OBJ})}), new Skeleton(new Cache("sys_fill_stack"), new Object[]{new Place(2)}), new Skeleton(new Cache("sys_print_error"), new Object[]{new Place(2)})}, -1, "."));
        add("sys_singleton_check", 1, new Clause(0, new Object[]{"[]"}, new Object[]{}, -1, "[]"));
        add("sys_marked_at", 3, new Clause(7, new Object[]{new Place(1), new Place(2), new Place(3)}, new Object[]{new Skeleton(new Cache("sub_atom"), new Object[]{new Place(1), new Place(2), 1, UNDEF_OBJ, new Place(4)}), new Skeleton(new Cache("char_code"), new Object[]{new Place(4), new Place(5)}), new Skeleton(new Cache("code_category"), new Object[]{new Place(5), new Place(6)}), new Skeleton(new Cache("member"), new Object[]{new Place(6), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, UNDEF_OBJ));
        add("expand_term", 2, new Clause(4, new Object[]{new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("term_expansion"), new Object[]{new Place(1), new Place(3)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("expand_term"), new Object[]{new Place(3), new Place(2)})}, 0, UNDEF_OBJ));
        add("expand_term", 2, new Clause(1, new Object[]{new Place(0), new Place(0)}, new Object[]{}, -1, UNDEF_OBJ));
        add("phrase", 3, new Clause(1, 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, UNDEF_OBJ));
        add("phrase", 3, new Clause(4, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(0), 0, 0, new Place(1), new Place(2), new Place(3)}), new Skeleton(new Cache("call"), new Object[]{new Place(3)})}, -1, UNDEF_OBJ));
        add("term_expansion", 2, new Clause(9, new Object[]{new Skeleton("-->", new Object[]{new Skeleton(",", new Object[]{new Place(0), new Place(1)}), new Place(2)}), new Skeleton(":-", new Object[]{new Place(3), new Skeleton(",", new Object[]{new Place(4), new Place(5)})})}, new Object[]{new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(0), 0, 0, new Place(6), new Place(7), new Place(3)}), new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(2), 1, 0, new Place(6), new Place(8), new Place(4)}), new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(1), 0, 0, new Place(7), new Place(8), new Place(5)})}, -1, "-->"));
        add("term_expansion", 2, new Clause(6, new Object[]{new Skeleton("-->", new Object[]{new Place(0), new Place(1)}), new Skeleton(":-", new Object[]{new Place(2), new Place(3)})}, new Object[]{new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(0), 0, 0, new Place(4), new Place(5), new Place(2)}), new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(1), 1, 0, new Place(4), new Place(5), new Place(3)})}, -1, "-->"));
        add("sys_phrase_expansion", 6, new Clause(4, new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ, new Place(2), new Place(3), new Skeleton("phrase", 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)})}, 0, UNDEF_OBJ));
        add("sys_phrase_expansion", 6, new Clause(10, 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 Skeleton(",", new Object[]{new Place(7), new Place(8)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(1), new Place(3), 1, new Place(5), new Place(9), new Place(7)}), new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(2), 0, new Place(4), new Place(9), new Place(6), new Place(8)})}, 0, ","));
        add("sys_phrase_expansion", 6, new Clause(7, new Object[]{new Skeleton(";", new Object[]{new Place(1), new Place(2)}), UNDEF_OBJ, UNDEF_OBJ, new Place(3), new Place(4), new Skeleton(";", new Object[]{new Place(5), new Place(6)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(1), 0, 0, new Place(3), new Place(4), new Place(5)}), new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(2), 0, 0, new Place(3), new Place(4), new Place(6)})}, 0, ";"));
        add("sys_phrase_expansion", 6, new Clause(10, 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 Skeleton("->", new Object[]{new Place(7), new Place(8)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(1), new Place(3), 1, new Place(5), new Place(9), new Place(7)}), new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(2), 0, new Place(4), new Place(9), new Place(6), new Place(8)})}, 0, "->"));
        add("sys_phrase_expansion", 6, new Clause(3, new Object[]{"[]", 0, UNDEF_OBJ, new Place(1), new Place(2), new Skeleton("=", new Object[]{new Place(1), new Place(2)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, "[]"));
        add("sys_phrase_expansion", 6, new Clause(3, new Object[]{"[]", 1, UNDEF_OBJ, new Place(1), new Place(2), "true"}, 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("sys_phrase_expansion", 6, new Clause(6, new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), 0, UNDEF_OBJ, new Place(3), new Place(4), new Skeleton("=", new Object[]{new Place(3), new Skeleton(".", new Object[]{new Place(1), new Place(5)})})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_list_expansion"), new Object[]{new Place(2), new Place(4), new Place(5)})}, 0, "."));
        add("sys_phrase_expansion", 6, new Clause(6, new Object[]{new Skeleton(".", new Object[]{new Place(1), new Place(2)}), 1, UNDEF_OBJ, new Place(3), new Place(4), "true"}, 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_list_expansion"), new Object[]{new Place(2), new Place(4), new Place(5)})}, 0, "."));
        add("sys_phrase_expansion", 6, new Clause(3, new Object[]{"!", UNDEF_OBJ, 0, new Place(1), new Place(2), new Skeleton(",", new Object[]{"!", new Skeleton("=", new Object[]{new Place(1), new Place(2)})})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, "!"));
        add("sys_phrase_expansion", 6, new Clause(3, new Object[]{"!", UNDEF_OBJ, 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("sys_phrase_expansion", 6, new Clause(4, new Object[]{new Skeleton("{}", new Object[]{new Place(1)}), UNDEF_OBJ, 0, new Place(2), new Place(3), new Skeleton(",", new Object[]{new Place(1), new Skeleton("=", new Object[]{new Place(2), new Place(3)})})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, "{}"));
        add("sys_phrase_expansion", 6, new Clause(4, new Object[]{new Skeleton("{}", new Object[]{new Place(1)}), UNDEF_OBJ, 1, new Place(2), new Place(3), new Place(1)}, 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("sys_phrase_expansion", 6, new Clause(5, new Object[]{new Skeleton("\\+", new Object[]{new Place(1)}), UNDEF_OBJ, 0, new Place(2), new Place(3), new Skeleton(",", new Object[]{new Skeleton("\\+", new Object[]{new Place(4)}), new Skeleton("=", new Object[]{new Place(2), new Place(3)})})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(1), 0, 0, new Place(2), UNDEF_OBJ, new Place(4)})}, 0, "\\+"));
        add("sys_phrase_expansion", 6, new Clause(5, new Object[]{new Skeleton("\\+", new Object[]{new Place(1)}), UNDEF_OBJ, 1, new Place(2), new Place(3), new Skeleton("\\+", new Object[]{new Place(4)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(3)}), new Skeleton(new Cache("sys_phrase_expansion"), new Object[]{new Place(1), 0, 0, new Place(2), UNDEF_OBJ, new Place(4)})}, 0, "\\+"));
        add("sys_phrase_expansion", 6, new Clause(8, new Object[]{new Place(1), UNDEF_OBJ, UNDEF_OBJ, new Place(2), new Place(3), new Place(4)}, new Object[]{new Skeleton(new Cache("callable"), 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 Skeleton(".", new Object[]{new Place(5), new Place(6)})}), new Skeleton(new Cache("append"), new Object[]{new Place(6), new Skeleton(".", new Object[]{new Place(2), new Skeleton(".", new Object[]{new Place(3), "[]"})}), new Place(7)}), new Skeleton(new Cache("=.."), new Object[]{new Place(4), new Skeleton(".", new Object[]{new Place(5), new Place(7)})})}, 0, UNDEF_OBJ));
        add("sys_phrase_expansion", 6, new Clause(1, new Object[]{new Place(0), UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ, UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"callable", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("sys_list_expansion", 3, new Clause(1, 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, UNDEF_OBJ));
        add("sys_list_expansion", 3, new Clause(2, new Object[]{"[]", new Place(1), new Place(1)}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, "[]"));
        add("sys_list_expansion", 3, new Clause(5, 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 Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("sys_list_expansion"), new Object[]{new Place(2), new Place(3), new Place(4)})}, 0, "."));
        add("sys_list_expansion", 3, new Clause(1, 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, UNDEF_OBJ));
        add("strings", 3, new Clause(0, new Object[]{"instantiation_error", "de", "Argument sollte keine Variable sein."}, new Object[]{}, -1, "instantiation_error"));
        add("strings", 3, new Clause(0, new Object[]{"domain_error.read_option", "de", "Leseoption erwartet, gefunden $."}, new Object[]{}, -1, "domain_error.read_option"));
        add("strings", 3, new Clause(0, new Object[]{"domain_error.io_mode", "de", "Eingabe-/Ausgabemodus (read oder write) erwartet, gefunden $."}, new Object[]{}, -1, "domain_error.io_mode"));
        add("strings", 3, new Clause(0, new Object[]{"domain_error.write_option", "de", "Schreiboption erwartet, gefunden $."}, new Object[]{}, -1, "domain_error.write_option"));
        add("strings", 3, new Clause(0, new Object[]{"domain_error.open_option", "de", "Öffnenoption erwartet, gefunden $."}, new Object[]{}, -1, "domain_error.open_option"));
        add("strings", 3, new Clause(0, new Object[]{"type_error.character_code", "de", "Unerlaubter Kodepunkt $, nicht zwischen 0 und 0x10FFFF."}, new Object[]{}, -1, "type_error.character_code"));
        add("strings", 3, new Clause(0, new Object[]{"existence_error.source_sink", "de", "Datei $ nicht gefunden."}, new Object[]{}, -1, "existence_error.source_sink"));
        add("strings", 3, new Clause(0, new Object[]{"existence_error.module", "de", "Modul $ nicht gefunden."}, new Object[]{}, -1, "existence_error.module"));
        add("strings", 3, new Clause(0, new Object[]{"permission_error.open.source_sink", "de", "Kann Datei $ nicht öffnen."}, new Object[]{}, -1, "permission_error.open.source_sink"));
        add("strings", 3, new Clause(0, new Object[]{"permission_error.modify.compound", "de", "Kann Verbund $ nicht ändern."}, new Object[]{}, -1, "permission_error.modify.compound"));
        add("strings", 3, new Clause(0, new Object[]{"resource_error.socket_timeout", "de", "Ein-/Ausgabeauszeit."}, new Object[]{}, -1, "resource_error.socket_timeout"));
        add("strings", 3, new Clause(0, new Object[]{"resource_error.port_error", "de", "Fehler bei Verwendung eines Port."}, new Object[]{}, -1, "resource_error.port_error"));
        add("strings", 3, new Clause(0, new Object[]{"resource_error.remote_error", "de", "Fehler von Entfernt erhalten."}, new Object[]{}, -1, "resource_error.remote_error"));
        add("strings", 3, new Clause(0, new Object[]{"resource_error.io_exception", "de", "Datei nicht erstellt oder nicht zugreifbar."}, new Object[]{}, -1, "resource_error.io_exception"));
        add("strings", 3, new Clause(0, new Object[]{"system_error.timelimit_exceeded", "de", "Ausführung abgebrochen da Zeitfrist abgelaufen."}, new Object[]{}, -1, "system_error.timelimit_exceeded"));
        add("strings", 3, new Clause(0, new Object[]{"system_error.stack_overflow", "de", "Ausführung wegen Stapelüberlauf abgebrochen."}, new Object[]{}, -1, "system_error.stack_overflow"));
        add("strings", 3, new Clause(0, new Object[]{"system_error.out_of_memory", "de", "Ausführung wegen aufgebrauchtem Speicherplatz abgebrochen."}, new Object[]{}, -1, "system_error.out_of_memory"));
        add("strings", 3, new Clause(0, new Object[]{"system_error.user_abort", "de", "Ausführung auf Benutzerwunsch abgebrochen."}, new Object[]{}, -1, "system_error.user_abort"));
        add("strings", 3, new Clause(0, new Object[]{"system_error.user_exit", "de", "System auf Benutzerwunsch beendet."}, new Object[]{}, -1, "system_error.user_exit"));
        add("strings", 3, new Clause(0, new Object[]{"syntax_error.directive_failed", "de", "Direktive fehlgeschlagen."}, new Object[]{}, -1, "syntax_error.directive_failed"));
        add("strings", 3, new Clause(0, new Object[]{"instantiation_error", "", "Argument should not be a variable."}, new Object[]{}, -1, "instantiation_error"));
        add("strings", 3, new Clause(0, new Object[]{"domain_error.read_option", "", "Read option expected, found $."}, new Object[]{}, -1, "domain_error.read_option"));
        add("strings", 3, new Clause(0, new Object[]{"domain_error.io_mode", "", "Input/output mode (read or write) expected, found $."}, new Object[]{}, -1, "domain_error.io_mode"));
        add("strings", 3, new Clause(0, new Object[]{"domain_error.write_option", "", "Write option expected, found $."}, new Object[]{}, -1, "domain_error.write_option"));
        add("strings", 3, new Clause(0, new Object[]{"domain_error.open_option", "", "Open option expected, found $."}, new Object[]{}, -1, "domain_error.open_option"));
        add("strings", 3, new Clause(0, new Object[]{"type_error.character_code", "", "Illegal code point $, not between 0 and 0x10FFFF."}, new Object[]{}, -1, "type_error.character_code"));
        add("strings", 3, new Clause(0, new Object[]{"existence_error.source_sink", "", "File $ not found."}, new Object[]{}, -1, "existence_error.source_sink"));
        add("strings", 3, new Clause(0, new Object[]{"existence_error.module", "", "Module $ not found."}, new Object[]{}, -1, "existence_error.module"));
        add("strings", 3, new Clause(0, new Object[]{"permission_error.open.source_sink", "", "Cannot open file $."}, new Object[]{}, -1, "permission_error.open.source_sink"));
        add("strings", 3, new Clause(0, new Object[]{"permission_error.modify.compound", "", "Cannot modify compound $."}, new Object[]{}, -1, "permission_error.modify.compound"));
        add("strings", 3, new Clause(0, new Object[]{"resource_error.socket_timeout", "", "Input/output timeout."}, new Object[]{}, -1, "resource_error.socket_timeout"));
        add("strings", 3, new Clause(0, new Object[]{"resource_error.port_error", "", "Error using a port."}, new Object[]{}, -1, "resource_error.port_error"));
        add("strings", 3, new Clause(0, new Object[]{"resource_error.remote_error", "", "Got error from remote."}, new Object[]{}, -1, "resource_error.remote_error"));
        add("strings", 3, new Clause(0, new Object[]{"resource_error.io_exception", "", "File not created or not accessible."}, new Object[]{}, -1, "resource_error.io_exception"));
        add("strings", 3, new Clause(0, new Object[]{"system_error.timelimit_exceeded", "", "Execution aborted since time limit exceeded."}, new Object[]{}, -1, "system_error.timelimit_exceeded"));
        add("strings", 3, new Clause(0, new Object[]{"system_error.stack_overflow", "", "Execution aborted because of stack overflow."}, new Object[]{}, -1, "system_error.stack_overflow"));
        add("strings", 3, new Clause(0, new Object[]{"system_error.out_of_memory", "", "Execution aborted because out of memory."}, new Object[]{}, -1, "system_error.out_of_memory"));
        add("strings", 3, new Clause(0, new Object[]{"system_error.user_abort", "", "Execution aborted on user request."}, new Object[]{}, -1, "system_error.user_abort"));
        add("strings", 3, new Clause(0, new Object[]{"system_error.user_exit", "", "System ended on user request."}, new Object[]{}, -1, "system_error.user_exit"));
        add("strings", 3, new Clause(0, new Object[]{"syntax_error.directive_failed", "", "Directive failed."}, new Object[]{}, -1, "syntax_error.directive_failed"));
    }

    public static void boot4() {
        add("dynamic", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("dynamic", 1, new Clause(3, new Object[]{new Skeleton("/", 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_atom"), new Object[]{new Place(1)}), new Skeleton(new Cache("sys_check_integer"), new Object[]{new Place(2)}), new Skeleton(new Cache("sys_style_indicator"), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("kb_pred_touch"), new Object[]{new Place(1), new Place(2), 1})}, 0, "/"));
        add("dynamic", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"predicate_indicator", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("asserta", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("asserta", 1, new Clause(6, new Object[]{new Skeleton(":-", 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_frost_horn"), new Object[]{new Skeleton(":-", new Object[]{new Place(1), new Place(2)}), 0, new Place(3)}), new Skeleton(new Cache("functor"), new Object[]{new Place(1), new Place(4), new Place(5)}), new Skeleton(new Cache("ir_clause_add"), new Object[]{new Place(4), new Place(5), new Place(3), 1})}, 0, ":-"));
        add("asserta", 1, new Clause(4, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_frost_horn"), new Object[]{new Place(0), 0, new Place(1)}), new Skeleton(new Cache("functor"), new Object[]{new Place(0), new Place(2), new Place(3)}), new Skeleton(new Cache("ir_clause_add"), new Object[]{new Place(2), new Place(3), new Place(1), 1})}, -1, UNDEF_OBJ));
        add("assertz", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("assertz", 1, new Clause(6, new Object[]{new Skeleton(":-", 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_frost_horn"), new Object[]{new Skeleton(":-", new Object[]{new Place(1), new Place(2)}), 0, new Place(3)}), new Skeleton(new Cache("functor"), new Object[]{new Place(1), new Place(4), new Place(5)}), new Skeleton(new Cache("ir_clause_add"), new Object[]{new Place(4), new Place(5), new Place(3), 3})}, 0, ":-"));
        add("assertz", 1, new Clause(4, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("sys_frost_horn"), new Object[]{new Place(0), 0, new Place(1)}), new Skeleton(new Cache("functor"), new Object[]{new Place(0), new Place(2), new Place(3)}), new Skeleton(new Cache("ir_clause_add"), new Object[]{new Place(2), new Place(3), new Place(1), 3})}, -1, UNDEF_OBJ));
        add("clause", 2, new Clause(6, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("kb_clause_ref"), new Object[]{new Place(0), 2, new Place(2)}), new Skeleton(new Cache("kb_clause_data"), new Object[]{new Place(2), new Place(0), new Place(3), new Place(4)}), new Skeleton(new Cache("sys_untrans_body"), new Object[]{new Place(4), new Place(3), new Place(5)}), new Skeleton(new Cache("="), new Object[]{new Place(5), new Place(1)})}, -1, UNDEF_OBJ));
        add("retract", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("retract", 1, new Clause(9, new Object[]{new Skeleton(":-", new Object[]{new Place(1), new Place(2)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("functor"), new Object[]{new Place(1), new Place(3), new Place(4)}), new Skeleton(new Cache("kb_clause_ref"), new Object[]{new Place(1), 3, new Place(5)}), new Skeleton(new Cache("kb_clause_data"), new Object[]{new Place(5), new Place(1), new Place(6), new Place(7)}), new Skeleton(new Cache("sys_untrans_body"), new Object[]{new Place(7), new Place(6), new Place(8)}), new Skeleton(new Cache("="), new Object[]{new Place(8), new Place(2)}), new Skeleton(new Cache("kb_clause_remove"), new Object[]{new Place(3), new Place(4), 0, new Place(5)})}, 0, ":-"));
        add("retract", 1, new Clause(7, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("functor"), new Object[]{new Place(0), new Place(1), new Place(2)}), new Skeleton(new Cache("kb_clause_ref"), new Object[]{new Place(0), 3, new Place(3)}), new Skeleton(new Cache("kb_clause_data"), new Object[]{new Place(3), new Place(0), new Place(4), new Place(5)}), new Skeleton(new Cache("sys_untrans_body"), new Object[]{new Place(5), new Place(4), new Place(6)}), new Skeleton(new Cache("="), new Object[]{new Place(6), "true"}), new Skeleton(new Cache("kb_clause_remove"), new Object[]{new Place(1), new Place(2), 0, new Place(3)})}, -1, UNDEF_OBJ));
        add("retractall", 1, new Clause(4, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("functor"), new Object[]{new Place(0), new Place(1), new Place(2)}), new Skeleton(new Cache("kb_clause_ref"), new Object[]{new Place(0), 7, new Place(3)}), new Skeleton(new Cache("kb_clause_head"), new Object[]{new Place(3), new Place(0)}), new Skeleton(new Cache("kb_clause_remove"), new Object[]{new Place(1), new Place(2), 1, new Place(3)}), new Cache("fail")}, -1, UNDEF_OBJ));
        add("retractall", 1, new Clause(0, new Object[]{UNDEF_OBJ}, new Object[]{}, -1, UNDEF_OBJ));
        add("abolish", 1, new Clause(1, new Object[]{new Place(0)}, 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, UNDEF_OBJ));
        add("abolish", 1, new Clause(3, new Object[]{new Skeleton("/", 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_abolish"), new Object[]{new Place(1), new Place(2)})}, 0, "/"));
        add("abolish", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"predicate_indicator", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("sys_abolish", 2, new Clause(4, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("kb_pred_link"), new Object[]{new Place(0), new Place(1), new Place(2)}), new Skeleton(new Cache("kb_link_flags"), new Object[]{new Place(2), new Place(3)}), new Skeleton(new Cache("=:="), new Object[]{new Skeleton(new Cache("/\\"), new Object[]{new Place(3), 1}), 0}), new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("permission_error", new Object[]{"modify", "static_procedure", new Skeleton("/", new Object[]{new Place(0), new Place(1)})}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("sys_abolish", 2, new Clause(2, new Object[]{new Place(0), new Place(1)}, new Object[]{new Skeleton(new Cache("retractall"), new Object[]{new Skeleton("sys_predprop", new Object[]{new Place(0), new Place(1), UNDEF_OBJ})}), new Skeleton(new Cache("kb_pred_destroy"), new Object[]{new Place(0), new Place(1)})}, -1, UNDEF_OBJ));
        run(new Goal(0, new Object[]{new Frozen(new Cache("kb_pred_touch"), new Object[]{"sys_predprop", 3, 1})}, -1));
        add("current_predicate", 1, new Clause(4, new Object[]{new Skeleton("/", new Object[]{new Place(1), new Place(2)})}, new Object[]{new Skeleton(make_defined(new Object[]{new Clause(1, new Object[]{new Place(0), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ), new Clause(1, new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("kb_pred_list"), new Object[]{new Place(3)}), new Skeleton(new Cache("member"), new Object[]{new Skeleton("/", new Object[]{new Place(1), new Place(2)}), new Place(3)})}, 0, "/"));
        add("current_predicate", 1, new Clause(3, new Object[]{new Skeleton("/", new Object[]{new Place(1), new Place(2)})}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("kb_pred_link"), new Object[]{new Place(1), new Place(2), UNDEF_OBJ})}, 0, "/"));
        add("current_predicate", 1, new Clause(1, new Object[]{new Place(0)}, new Object[]{new Skeleton(new Cache("throw"), new Object[]{new Skeleton("error", new Object[]{new Skeleton("type_error", new Object[]{"predicate_indicator", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("predicate_property", 2, new Clause(4, new Object[]{new Skeleton("/", 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), UNDEF_OBJ}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ), new Clause(1, new Object[]{UNDEF_OBJ, new Place(0)}, new Object[]{new Skeleton(new Cache("var"), new Object[]{new Place(0)})}, -1, UNDEF_OBJ)}, 1), new Object[]{new Place(1), new Place(2)}), new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)}), new Skeleton(new Cache("current_predicate"), new Object[]{new Skeleton("/", new Object[]{new Place(1), new Place(2)})}), new Skeleton(new Cache("sys_predprop_get"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0, "/"));
        add("predicate_property", 2, new Clause(4, 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_predprop_get"), new Object[]{new Place(1), new Place(2), new Place(3)})}, 0, "/"));
        add("predicate_property", 2, new Clause(1, 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[]{"predicate_indicator", new Place(0)}), UNDEF_OBJ})})}, -1, UNDEF_OBJ));
        add("sys_predprop_pattern", 2, new Clause(3, new Object[]{new Skeleton("/", new Object[]{new Place(0), new Place(1)}), new Place(2)}, new Object[]{new Skeleton(new Cache("current_predicate"), new Object[]{new Skeleton("/", new Object[]{new Place(0), new Place(1)})}), new Skeleton(new Cache("sys_predprop_get"), new Object[]{new Place(0), new Place(1), new Place(2)})}, -1, "/"));
        add("sys_predprop_get", 3, new Clause(6, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("kb_pred_link"), new Object[]{new Place(0), new Place(1), new Place(3)}), new Skeleton(new Cache("kb_link_flags"), new Object[]{new Place(3), new Place(4)}), new Skeleton(new Cache("sys_predprop_flag"), new Object[]{new Place(4), new Place(5)}), new Skeleton(new Cache("="), new Object[]{new Place(2), new Place(5)})}, -1, UNDEF_OBJ));
        add("sys_predprop_get", 3, new Clause(3, new Object[]{new Place(0), new Place(1), new Place(2)}, new Object[]{new Skeleton(new Cache("sys_predprop"), new Object[]{new Place(0), new Place(1), new Place(2)})}, -1, UNDEF_OBJ));
        add("sys_predprop_flag", 2, new Clause(1, new Object[]{0, "static"}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, 0));
        add("sys_predprop_flag", 2, new Clause(1, new Object[]{1, "dynamic"}, new Object[]{new Skeleton(new Cache("$CUT"), new Object[]{new Place(0)})}, 0, 1));
        add("sys_predprop_flag", 2, new Clause(0, new Object[]{UNDEF_OBJ, "built_in"}, new Object[]{}, -1, UNDEF_OBJ));
        run(new Goal(0, new Object[]{new Frozen(new Cache("kb_pred_touch"), new Object[]{"sys_including", 3, 1})}, -1));
        run(new Goal(4, new Object[]{new Skeleton(new Cache("os_get_gestalt"), new Object[]{new Place(0)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(0), "sys_color", new Place(1)}), new Skeleton(new Cache("set_prolog_flag"), new Object[]{"sys_color", new Place(1)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(0), "sys_locale", new Place(2)}), new Skeleton(new Cache("set_prolog_flag"), new Object[]{"sys_locale", new Place(2)}), new Skeleton(new Cache("ir_object_current"), new Object[]{new Place(0), "argv", new Place(3)}), new Skeleton(new Cache("set_prolog_flag"), new Object[]{"argv", new Place(3)})}, -1));
    }

    public static void boot10() {
        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_multifile_safe"), new Object[]{"strings", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_multifile_safe"), new Object[]{"term_expansion", 2})}, -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[]{"sys_trans_horn", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_trans_body", 5})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_trans_cut", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_trans_disj", 5})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_trans_alter", 5})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_trans_mark", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_untrans_body", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_untrans_rest", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_untrans_goal", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_untrans_disj", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_untrans_more", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_untrans_alter", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_untrans_split", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_untrans_ambiguity", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_encode_horn", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_encode_body", 6})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_encode_goal", 7})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_encode_disj", 5})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_encode_invoke", 5})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_encode_args", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_encode_expr", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_encode_list", 5})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_encode_term", 5})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_const_functor", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_const_only", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_encode_var", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_current_map", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_set_map", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_idx_value", 5})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_idx_value_arg", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_idx_value_term", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_decode_body", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_decode_goal", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_decode_disj", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_decode_args", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_decode_expr", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_frost_horn", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_unfrost_body", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"true", 0})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"!", 0})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{",", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{";", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"->", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_host_make", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_host_instrs", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_host_instr", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_host_current_max", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_host_set_max", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_host_const", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_host_args", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_host_alternatives", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"get_code", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"peek_code", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_read_buffer", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sleep", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_emulated", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"set_prolog_flag", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_prolog_flag_set", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"current_prolog_flag", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_prolog_flag_get", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_prolog_flag_decode", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"time", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_time_set", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_time_show", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sub_atom", 5})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"last_sub_atom", 5})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"findall", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_find_init", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_find_next", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_find_fini", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"vars_intersection", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"vars_subtract", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"strings", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_source", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_srcprop", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"current_source", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"source_property", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"discontiguous", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"multifile", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_multifile_safe", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"include", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_include_file", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_include_native", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{".", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"ensure_loaded", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_check_file", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_action_file", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_lastpred", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_load_file", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_loading_begin", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_loading_end", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_update_last", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_style_static", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_style_head", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_style_indicator", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_usage_predicate", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_include_stream", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_include_lines", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_next_term", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_expand_include", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_handle_static", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_pred_type", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_pred_multi", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"strings", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"\\=", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"\\+", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"once", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"repeat", 0})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"catch", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_error_handler", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_chain_head", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"throw", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_fill_stack", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_fetch_stack", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"try_call_finally", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"ignore", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"chain", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_chain_error", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_chain_raise", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_chain_concat", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"once_cleanup", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"setup_once_cleanup", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_setup_once_cleanup", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_once_cleanup", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_check_atom", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_check_integer", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_check_callable", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"call_later", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"call_later", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"call_with_time_limit", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_timeout_signal", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"create_task", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"create_task", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"member", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_member", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"select", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_select", 4})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"reverse", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_reverse", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"append", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"length", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_length", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_length", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"between", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_between", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"get_string", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"get_string", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_locale_ancestor", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_multiton_keys", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_multiton_check", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_singleton_keys", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_singleton_check", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_marked_at", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"expand_term", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"phrase", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"term_expansion", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_phrase_expansion", 6})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_list_expansion", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"strings", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"dynamic", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"asserta", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"assertz", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"clause", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"retract", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"retractall", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"abolish", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_abolish", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_predprop", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"current_predicate", 1})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"predicate_property", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_predprop_pattern", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_predprop_get", 3})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_predprop_flag", 2})}, -1));
        run(new Goal(0, new Object[]{new Frozen(new Cache("sys_usage_predicate"), new Object[]{"sys_including", 3})}, -1));
    }
}
