com.cyc.cycjava.cycl.inference.harness
Class inference_worker_join_ordered

java.lang.Object
  extended by com.cyc.tool.subl.util.SubLTrampolineFile
      extended by com.cyc.tool.subl.util.SubLTranslatedFile
          extended by com.cyc.cycjava.cycl.inference.harness.inference_worker_join_ordered
All Implemented Interfaces:
CommonSymbols, SubLFile

public final class inference_worker_join_ordered
extends SubLTranslatedFile


Nested Class Summary
static class inference_worker_join_ordered.$join_ordered_link_data_native
           
static class inference_worker_join_ordered.$join_ordered_link_data_p$UnaryFunction
           
 
Nested classes/interfaces inherited from class com.cyc.tool.subl.util.SubLTranslatedFile
SubLTranslatedFile.SubL
 
Field Summary
static SubLObject $const81$isa
           
static SubLSymbol $dtp_join_ordered_link_data$
           
static SubLSymbol $join_ordered_module$
           
static SubLSymbol $kw14$FOCAL_PROOF_INDEX
           
static SubLSymbol $kw15$NON_FOCAL_PROOF_INDEX
           
static SubLSymbol $kw16$RESTRICTED_NON_FOCAL_LINK_INDEX
           
static SubLSymbol $kw18$JOIN_ORDERED
           
static SubLSymbol $kw20$FREE
           
static SubLSymbol $kw33$ALLOW_OTHER_KEYS
           
static SubLSymbol $kw34$DONE
           
static SubLSymbol $kw39$TYPE
           
static SubLSymbol $kw40$RESTRICTION
           
static SubLSymbol $kw56$SKIP
           
static SubLSymbol $kw57$REMOVAL_CONJUNCTIVE
           
static SubLSymbol $kw58$COMPLETE
           
static SubLSymbol $kw60$NEG
           
static SubLSymbol $kw61$POS
           
static SubLSymbol $kw62$ANSWER
           
static SubLSymbol $kw63$UNION
           
static SubLSymbol $kw65$TACTICAL
           
static SubLSymbol $kw69$_MEMOIZED_ITEM_NOT_FOUND_
           
static SubLSymbol $kw79$PREFERRED
           
static SubLList $list2
           
static SubLList $list21
           
static SubLList $list3
           
static SubLList $list31
           
static SubLList $list32
           
static SubLList $list4
           
static SubLList $list44
           
static SubLList $list5
           
static SubLList $list67
           
static SubLList $list73
           
static SubLList $list80
           
static SubLSymbol $only_add_multi_literal_jo_tactics_when_no_possible_complete_tacticP$
          When a problem has a candidate early removal tactic--one that's join-ordered, who's lookahead problem is complete, and is cheap--don't bother looking for multi literal join ordered tactics (conjunctive removal jo tactics)
static SubLString $str17$Invalid_slot__S_for_construction_
           
static SubLString $str52$Could_not_find_the_tactic_for__a
           
static SubLString $str71$Finding_or_creating_a_restricted_
           
static SubLString $str72$Creating_a_restricted_problem_of_
           
static SubLString $str77$_a_was_a_rejected_proof
           
static SubLSymbol $sym0$JOIN_ORDERED_LINK_DATA
           
static SubLSymbol $sym1$JOIN_ORDERED_LINK_DATA_P
           
static SubLSymbol $sym10$JO_LINK_DATA_NON_FOCAL_PROOF_INDEX
           
static SubLSymbol $sym11$_CSETF_JO_LINK_DATA_NON_FOCAL_PROOF_INDEX
           
static SubLSymbol $sym12$JO_LINK_DATA_RESTRICTED_NON_FOCAL_LINK_INDEX
           
static SubLSymbol $sym13$_CSETF_JO_LINK_DATA_RESTRICTED_NON_FOCAL_LINK_INDEX
           
static SubLSymbol $sym19$MAPPED_PROBLEM_P
           
static SubLSymbol $sym22$INDEX
           
static SubLSymbol $sym23$PROOF_LIST_VAR
           
static SubLSymbol $sym24$CLET
           
static SubLSymbol $sym25$JOIN_ORDERED_LINK_FOCAL_PROOF_INDEX
           
static SubLSymbol $sym26$DO_DICTIONARY
           
static SubLSymbol $sym27$DO_LIST
           
static SubLSymbol $sym28$INDEX
           
static SubLSymbol $sym29$PROOF_LIST_VAR
           
static SubLSymbol $sym30$JOIN_ORDERED_LINK_NON_FOCAL_PROOF_INDEX
           
static SubLSymbol $sym35$LINK_VAR
           
static SubLSymbol $sym36$RESTRICTION_LINK
           
static SubLSymbol $sym37$DO_PROBLEM_ARGUMENT_LINKS
           
static SubLSymbol $sym38$JOIN_ORDERED_LINK_NON_FOCAL_PROBLEM
           
static SubLSymbol $sym41$PWHEN
           
static SubLSymbol $sym42$NON_FOCAL_RESTRICTION_LINK_WITH_CORRESPONDING_FOCAL_PROOF_
           
static SubLSymbol $sym43$PROBLEM_LINK_SOLE_SUPPORTING_PROBLEM
           
static SubLSymbol $sym45$RESTRICTION_LINK
           
static SubLSymbol $sym46$NON_FOCAL_PROBLEM
           
static SubLSymbol $sym47$DO_PROBLEM_DEPENDENT_LINKS
           
static SubLSymbol $sym48$PROBLEM_LINK_SUPPORTED_PROBLEM
           
static SubLSymbol $sym49$JOIN_ORDERED_LINK_RESTRICTED_NON_FOCAL_LINK_
           
static SubLSymbol $sym50$DO_JOIN_ORDERED_LINK_FOCAL_PROOFS
           
static SubLSymbol $sym51$DO_JOIN_ORDERED_LINK_NON_FOCAL_PROOFS
           
static SubLSymbol $sym53$JOIN_ORDERED_LINK_P
           
static SubLSymbol $sym54$PROOF_P
           
static SubLSymbol $sym55$RESTRICTION_LINK_P
           
static SubLSymbol $sym59$PROBLEM_P
           
static SubLSymbol $sym6$DEFAULT_STRUCT_PRINT_FUNCTION
           
static SubLSymbol $sym64$DUPLICATES_
           
static SubLSymbol $sym66$STRATEGY_P
           
static SubLSymbol $sym68$FOCAL_TO_NON_FOCAL_VARIABLE_MAP
           
static SubLSymbol $sym7$JOIN_ORDERED_LINK_DATA_PRINT_FUNCTION_TRAMPOLINE
           
static SubLSymbol $sym70$NON_FOCAL_TO_FOCAL_VARIABLE_MAP
           
static SubLSymbol $sym74$TRIGGER_VARS_SHARED_BY_SIBLING
           
static SubLSymbol $sym75$VARIABLE_BINDING_VARIABLE
           
static SubLSymbol $sym76$VARIABLE_P
           
static SubLSymbol $sym78$PROOF_PROVEN_
           
static SubLSymbol $sym8$JO_LINK_DATA_FOCAL_PROOF_INDEX
           
static SubLSymbol $sym9$_CSETF_JO_LINK_DATA_FOCAL_PROOF_INDEX
           
static SubLFile me
           
static java.lang.String myName
           
 
Fields inherited from class com.cyc.tool.subl.util.SubLTranslatedFile
EMPTY_SUBL_OBJECT_ARRAY
 
Fields inherited from interface com.cyc.tool.subl.jrtl.nativeCode.subLisp.CommonSymbols
ANSWER_TAG, APPEND_KEYWORD, APPEND_STACK_TRACES_TO_ERROR_MESSAGES, AREF, ASSEMBLE_FIXNUMS_TO_INTEGER, ATOM, BIGNUMP, BINARY_KEYWORD, BINDING_TYPE, BOOLEANP, CAAR, CADR, CAND, CAR, CCATCH, CDEC, CDESTRUCTURING_BIND, CDO, CDO_ALL_SYMBOLS, CDO_EXTERNAL_SYMBOLS, CDO_SYMBOLS, CDOHASH, CDOLIST, CDOTIMES, CDR, CHAR, CHAR_E_SYMBOL, CHAR_EQUAL_SYMBOL, CHAR_GREATER_THAN_OR_EQUAL_SYMBOL, CHAR_GREATER_THAN_SYMBOL, CHAR_GT_SYMBOL, CHAR_GTE_SYMBOL, CHAR_LESS_THAN_OR_EQUAL_SYMBOL, CHAR_LESS_THAN_SYMBOL, CHAR_LT_SYMBOL, CHAR_LTE_SYMBOL, CHAR_NE_SYMBOL, CHAR_NOT_EQUAL_SYMBOL, CHARACTERP, CHECK_TYPE, CINC, CLET, CMULTIPLE_VALUE_BIND, CNOT, CONS, CONSP, CONSTANT, COR, CPOP, CPROGV, CPUSH, CPUSHNEW, CREATE_KEYWORD, CSETF, CSETQ, CSOME, CTIME, CUNWIND_PROTECT, CVS_ID, DEBUG_IO, DECLAIM, DECLARE, DEFCONSTANT, DEFINE, DEFLEXICAL, DEFMACRO, DEFPARAMETER, DEFVAR, DIRECTION_KEYWORD, DYNAMIC, EIGHT_INTEGER, EIGHTEEN_INTEGER, ELEMENT_TYPE_KEYWORD, ELEVEN_INTEGER, END_KEYWORD, ENFORCE_MUST, ENFORCE_TYPE, EQ, EQL, EQUAL, EQUALP, ERROR, ERROR_KEYWORD, ERROR_OUTPUT, EVAL, EXTERNAL_FORMAT_KEYWORD, EXTERNAL_KEYWORD, FIF, FIFTEEN_INTEGER, FIRST, FIVE_INTEGER, FIXNUMP, FLOATP, FOUR_INTEGER, FOURTEEN_INTEGER, FUNCTION, FUNCTION_SPEC_P, FUNCTIONP, FUNLESS, FWHEN, GET, GETHASH, GETHASH_WITHOUT_VALUES, GUID_P, HASH_TABLE_ITERATOR_P, HASH_TABLE_P, IDENTITY, IF_DOES_NOT_EXIST_KEYWORD, IF_EXISTS_KEYWORD, IGNORE, INITIALIZATION_TYPE, INITIALIZER, INPUT_KEYWORD, INPUT_STREAM_P, INTEGERP, INTERNAL_KEYWORD, IO_KEYWORD, KEYWORDP, KILL_KEYWORD, LAMBDA_SYMBOL, LEXICAL, LIST, LISTP, LISTS, LOCK_P, LONG_BIGNUM_P, MACRO_ENV, MACRO_FORM, MEDIUM_BIGNUM_P, MEMBER, MINUS_ONE_INTEGER, MULTIPLE_VALUE_LIST, MUST, NCONC, NEW_VERSION_KEYWORD, NIL, NINE_INTEGER, NINETEEN_INTEGER, NREVERSE, NTH, NTH_VALUE, NULL, NULL_INPUT, NULL_OUTPUT, NUM_E_SYMBOL, NUM_GT_SYMBOL, NUM_GTE_SYMBOL, NUM_LT_SYMBOL, NUM_LTE_SYMBOL, NUM_NE_SYMBOL, NUMBERP, ONE_HUNDRED_THIRTY_SEVEN_INTEGER, ONE_HUNDRED_TWENTY_SEVEN_INTEGER, ONE_INTEGER, ONE_THOUSAND_INTEGER, OPTIONAL_SYMBOL, OTHERWISE, OUTPUT_KEYWORD, OUTPUT_STREAM_P, OVERWRITE_KEYWORD, PACKAGEP, PCASE, PCOND, PIF, PROBE_KEYWORD, PROCESS_TO_END, PROCESSP, PROCLAIM, PROGN, PUNLESS, PWHEN, QUERY_IO, QUIT, QUOTE, RENAME_AND_DELETE_KEYWORD, REST_SYMBOL, RET, RET_NIL, RET_T, RETURN_TAG, REVERSE, RW_LOCK_P, SECOND, SEQUENCEP, SEVEN_INTEGER, SEVENTEEN_INTEGER, SHORT_BIGNUM_P, SHOW_STACK_TRACES, SIX_INTEGER, SIXTEEN_INTEGER, SIXTY_FOUR_INTEGER, SORT, SSS, STANDARD_INPUT, STANDARD_OUTPUT, START_KEYWORD, STREAMP, STRING_E_SYMBOL, STRING_EQUAL_SYMBOL, STRING_GREATER_THAN_OR_EQUAL_SYMBOL, STRING_GREATER_THAN_SYMBOL, STRING_GT_SYMBOL, STRING_GTE_SYMBOL, STRING_LESS_THAN_OR_EQUAL_SYMBOL, STRING_LESS_THAN_SYMBOL, STRING_LT_SYMBOL, STRING_LTE_SYMBOL, STRING_NE_SYMBOL, STRING_NOT_EQUAL_SYMBOL, STRINGP, STRUCTURE_P, SUPERSEDE_KEYWORD, SUSPEND_TYPE_CHECKING, SYMBOL_FUNCTION, SYMBOL_VALUE, SYMBOLP, T, TEN_INTEGER, TERMINAL_IO, TEXT_KEYWORD, THIRTEEN_INTEGER, THIRTY_FOUR_INTEGER, THIRTY_THREE_INTEGER, THIRTY_TWO_INTEGER, THREE_INTEGER, TRACE_OUTPUT, TRUE, TWELVE_INTEGER, TWENTY_INTEGER, TWO_HUNDRED_FIFTY_FOUR_INTEGER, TWO_HUNDRED_FORTY_FOUR_INTEGER, TWO_INTEGER, UNDECLARED, UNPROVIDED, VALUES, VECTOR, VECTORP, WITH_ERROR_HANDLER, WITH_STATIC_AREA, WITH_THREAD_PRIVATE_AREA, WITH_WORKING_AREA, WORLD, ZERO_DOUBLE, ZERO_INTEGER
 
Method Summary
static SubLObject _csetf_jo_link_data_focal_proof_index(SubLObject object, SubLObject value)
           
static SubLObject _csetf_jo_link_data_non_focal_proof_index(SubLObject object, SubLObject value)
           
static SubLObject _csetf_jo_link_data_restricted_non_focal_link_index(SubLObject object, SubLObject value)
           
static SubLObject add_join_ordered_link_focal_proof(SubLObject join_ordered_link, SubLObject v_bindings, SubLObject proof)
          Indexes PROOF by BINDINGS as a focal proof in JOIN-ORDERED-LINK
static SubLObject add_join_ordered_link_non_focal_proof(SubLObject join_ordered_link, SubLObject v_bindings, SubLObject proof)
          Indexes PROOF by BINDINGS as a non-focal proof in JOIN-ORDERED-LINK
static SubLObject add_join_ordered_link_proof(SubLObject join_ordered_link, SubLObject trigger_proof, SubLObject trigger_is_focalP)
           
static SubLObject add_join_ordered_link_restricted_non_focal_link(SubLObject join_ordered_link, SubLObject restriction_link, SubLObject trigger_proof)
           
static SubLObject bubble_up_proof_to_join_ordered_link_int(SubLObject trigger_subproof, SubLObject variable_map, SubLObject join_ordered_link, SubLObject trigger_is_focalP)
           
static SubLObject bubble_up_proof_to_join_ordered_link(SubLObject trigger_subproof, SubLObject variable_map, SubLObject join_ordered_link)
           
static SubLObject compute_join_ordered_tactic_preference_level(SubLObject jo_link, SubLObject strategic_context)
           
static SubLObject compute_join_ordered_tactic_productivity(SubLObject jo_link, SubLObject strategy)
          The productivity of a :join-ordered tactic is twice the productivity of its focal subproblem
static SubLObject compute_sibling_proof_bindings(SubLObject trigger_proof_bindings, SubLObject join_ordered_link, SubLObject trigger_is_focalP)
           
static SubLObject compute_strategic_properties_of_join_ordered_tactic(SubLObject tactic, SubLObject strategy)
           
static SubLObject connected_conjunction_proof_p(SubLObject object)
           
static SubLObject consider_strategic_ramifications_of_tactic_preference_level(SubLObject tactic)
           
static SubLObject declare_inference_worker_join_ordered_file()
           
 void declareFunctions()
          Declares the mapping between functions and symbols for all named functions defined in the file.
static SubLObject determine_new_join_ordered_tactic(SubLObject supported_problem, SubLObject focal_supporting_problem_spec, SubLObject dnf_clause)
           
static SubLObject determine_new_join_ordered_tactics(SubLObject supported_problem, SubLObject dnf_clause)
           
static SubLObject determine_new_single_literal_join_ordered_tactic(SubLObject supported_problem, SubLObject dnf_clause, SubLObject sense, SubLObject index)
           
static SubLObject determine_new_single_literal_join_ordered_tactics(SubLObject supported_problem, SubLObject dnf_clause)
           
static SubLObject execute_join_ordered_tactic(SubLObject tactic)
           
static SubLObject find_or_create_join_ordered_focal_mapped_problem(SubLObject store, SubLObject dnf_clause, SubLObject focal_supporting_problem_spec)
           
static SubLObject find_or_create_join_ordered_non_focal_mapped_problem(SubLObject store, SubLObject dnf_clause, SubLObject focal_supporting_problem_spec)
           
static SubLObject find_or_create_join_ordered_tactic_focal_mapped_problem(SubLObject tactic)
           
static SubLObject find_or_create_restricted_non_focal_problem_int(SubLObject join_ordered_link, SubLObject non_focal_restriction_bindings, SubLObject creation_allowedP)
           
static SubLObject find_or_create_restricted_problem_and_link_int(SubLObject unrestricted_problem, SubLObject restriction_bindings, SubLObject creation_allowedP)
           
static SubLObject find_or_create_restricted_problem_int(SubLObject unrestricted_problem, SubLObject restriction_bindings, SubLObject creation_allowedP)
           
static SubLObject find_or_create_restricted_problem(SubLObject unrestricted_problem, SubLObject restriction_bindings)
           
static SubLObject find_or_create_split_restriction_int(SubLObject join_ordered_link, SubLObject focal_problem_proof, SubLObject createP)
           
static SubLObject focal_bindings_to_non_focal_bindings(SubLObject focal_restriction_bindings, SubLObject join_ordered_link)
           
static SubLObject focal_problem_is_a_single_literal_backchain_requiredP(SubLObject join_ordered_link)
           
static SubLObject focal_to_non_focal_variable_map_internal(SubLObject join_ordered_link)
           
static SubLObject focal_to_non_focal_variable_map(SubLObject join_ordered_link)
           
static SubLObject focal_vars_shared_by_non_focal(SubLObject join_ordered_link)
          This is complicated to avoid unnecessarily manifesting non-focals.
static SubLObject init_inference_worker_join_ordered_file()
           
 void initializeVariables()
          Initializes all global variables and private internal variables for constants defined in the file.
static SubLObject jo_link_data_focal_proof_index(SubLObject object)
           
static SubLObject jo_link_data_non_focal_proof_index(SubLObject object)
           
static SubLObject jo_link_data_restricted_non_focal_link_index(SubLObject object)
           
static SubLObject join_ordered_link_could_be_finishedP(SubLObject jo_link, SubLObject strategic_context)
           
static SubLObject join_ordered_link_data_print_function_trampoline(SubLObject object, SubLObject stream)
           
static SubLObject join_ordered_link_focal_mapped_problem(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_focal_problem(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_focal_proof_index(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_focal_proofs_lookup(SubLObject join_ordered_link, SubLObject proof_bindings)
           
static SubLObject join_ordered_link_focal_supporting_problem_spec(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_has_non_focal_mapped_problemP(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_non_focal_manifestedP(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_non_focal_mapped_problem(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_non_focal_problem(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_non_focal_proof_index(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_non_focal_proofs_lookup(SubLObject join_ordered_link, SubLObject proof_bindings)
           
static SubLObject join_ordered_link_non_focal_supporting_problem_spec(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_p(SubLObject object)
           
static SubLObject join_ordered_link_restricted_non_focal_link_index(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_restricted_non_focal_linkP(SubLObject join_ordered_link, SubLObject restriction_link)
           
static SubLObject join_ordered_link_restricted_non_focal_links(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_restricted_non_focal_triggering_proof(SubLObject join_ordered_link, SubLObject restriction_link)
          The proof that, when bubbling up to JOIN-ORDERED-LINK, triggered the creation of RESTRICTION-LINK
static SubLObject join_ordered_link_shared_proof_bindings_int(SubLObject join_ordered_link, SubLObject trigger_proof_bindings, SubLObject trigger_is_focalP)
           
static SubLObject join_ordered_link_shared_proof_bindings(SubLObject join_ordered_link, SubLObject trigger_proof, SubLObject trigger_is_focalP)
           
static SubLObject join_ordered_link_sibling_mapped_problem(SubLObject join_ordered_link, SubLObject trigger_is_focalP)
           
static SubLObject join_ordered_link_sibling_proofs_lookup(SubLObject join_ordered_link, SubLObject sibling_proof_bindings, SubLObject trigger_is_focalP)
           
static SubLObject join_ordered_link_tactic(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_with_non_focal_isa_unbound_unbound_where_arg2_is_restrictedP(SubLObject join_ordered_link)
           
static SubLObject join_ordered_link_with_non_focal_unbound_predicateP(SubLObject join_ordered_link)
           
static SubLObject join_ordered_proof_p(SubLObject object)
           
static SubLObject join_ordered_tactic_focal_supporting_problem_spec(SubLObject join_ordered_tactic)
           
static SubLObject join_ordered_tactic_link(SubLObject join_ordered_tactic)
           
static SubLObject join_ordered_tactic_lookahead_problem(SubLObject join_ordered_tactic)
           
static SubLObject join_ordered_tactic_p(SubLObject object)
           
static SubLObject lazily_create_join_ordered_link_non_focal_mapped_problem(SubLObject join_ordered_link)
           
static SubLObject make_join_ordered_link_data(SubLObject arglist)
           
static SubLObject mapped_proof_is_focalP(SubLObject subproof, SubLObject proof_variable_map, SubLObject join_ordered_link)
           
static SubLObject matching_subclause_specs(SubLObject dnf_clause, SubLObject other_dnf_clause)
          Returns the subclause specs which, if applied to DNF-CLAUSE, would allow it to unify with OTHER-DNF-CLAUSE.
static SubLObject maybe_new_join_ordered_link(SubLObject supported_problem, SubLObject focal_supporting_mapped_problem, SubLObject non_focal_supporting_mapped_problem)
           
static SubLObject motivated_followup_multi_literal_subclause_specs_case_1(SubLObject supported_problem, SubLObject dnf_clause)
           
static SubLObject motivated_followup_multi_literal_subclause_specs_case_2(SubLObject supported_problem, SubLObject dnf_clause)
           
static SubLObject new_conjunctive_proof(SubLObject conjunctive_link, SubLObject subproofs_with_sub_bindings)
           
static SubLObject new_join_ordered_link_data()
           
static SubLObject new_join_ordered_link(SubLObject supported_problem, SubLObject focal_supporting_mapped_problem, SubLObject non_focal_supporting_mapped_problem)
           
static SubLObject new_join_ordered_proof(SubLObject join_ordered_link, SubLObject subproofs_with_sub_bindings)
           
static SubLObject new_join_ordered_tactic(SubLObject jo_link, SubLObject focal_supporting_problem_spec)
          Create a new :JOIN-ORDERED tactic for PROBLEM in which FOCAL-SUPPORTING-PROBLEM-SPEC specifies the literals of DNF-CLAUSE which should be the focal supporting problem and the remaining literals should be the non-focal supporting problem.
static SubLObject non_focal_restriction_link_with_corresponding_focal_proofP(SubLObject restriction_link, SubLObject join_ordered_link)
           
static SubLObject non_focal_to_focal_variable_map_internal(SubLObject join_ordered_link)
           
static SubLObject non_focal_to_focal_variable_map(SubLObject join_ordered_link)
           
static SubLObject note_all_triggering_proofs_processed(SubLObject restriction_link)
           
static SubLObject note_restricted_non_focal_finished(SubLObject join_ordered_link, SubLObject restriction_link)
          look up the proof from the index on the jo-link and note it processed
static SubLObject problem_has_a_complete_conjunctive_removal_tacticP(SubLObject problem)
           
static SubLObject problem_store_followup_query_problem_p(SubLObject supported_problem)
           
 void runTopLevelForms()
          Runs all top-level forms in order.
static SubLObject setup_inference_worker_join_ordered_file()
           
static SubLObject single_focal_literal_join_ordered_tactic_p(SubLObject join_ordered_tactic)
           
static SubLObject trigger_split_restriction(SubLObject join_ordered_link, SubLObject focal_problem_proof)
           
static SubLObject trigger_to_sibling_variable_map(SubLObject join_ordered_link, SubLObject trigger_is_focalP)
           
static SubLObject trigger_vars_shared_by_sibling_internal(SubLObject join_ordered_link, SubLObject trigger_is_focalP)
          The variables in the trigger problem of JOIN-ORDERED-LINK which are also shared by the sibling problem (modulo variable maps)
static SubLObject trigger_vars_shared_by_sibling(SubLObject join_ordered_link, SubLObject trigger_is_focalP)
           
 
Methods inherited from class com.cyc.tool.subl.util.SubLTranslatedFile
extractFunctionNamed
 
Methods inherited from class com.cyc.tool.subl.util.SubLTrampolineFile
checkType, enforceType, extractBinaryFunc, extractCount, extractEnd, extractEndUsingSize, extractPackage, extractStart, extractUnaryFunc, main
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

me

public static final SubLFile me

myName

public static final java.lang.String myName
See Also:
Constant Field Values

$dtp_join_ordered_link_data$

public static SubLSymbol $dtp_join_ordered_link_data$

$join_ordered_module$

public static SubLSymbol $join_ordered_module$

$only_add_multi_literal_jo_tactics_when_no_possible_complete_tacticP$

public static SubLSymbol $only_add_multi_literal_jo_tactics_when_no_possible_complete_tacticP$
When a problem has a candidate early removal tactic--one that's join-ordered, who's lookahead problem is complete, and is cheap--don't bother looking for multi literal join ordered tactics (conjunctive removal jo tactics)


$sym0$JOIN_ORDERED_LINK_DATA

public static final SubLSymbol $sym0$JOIN_ORDERED_LINK_DATA

$sym1$JOIN_ORDERED_LINK_DATA_P

public static final SubLSymbol $sym1$JOIN_ORDERED_LINK_DATA_P

$list2

public static final SubLList $list2

$list3

public static final SubLList $list3

$list4

public static final SubLList $list4

$list5

public static final SubLList $list5

$sym6$DEFAULT_STRUCT_PRINT_FUNCTION

public static final SubLSymbol $sym6$DEFAULT_STRUCT_PRINT_FUNCTION

$sym7$JOIN_ORDERED_LINK_DATA_PRINT_FUNCTION_TRAMPOLINE

public static final SubLSymbol $sym7$JOIN_ORDERED_LINK_DATA_PRINT_FUNCTION_TRAMPOLINE

$sym8$JO_LINK_DATA_FOCAL_PROOF_INDEX

public static final SubLSymbol $sym8$JO_LINK_DATA_FOCAL_PROOF_INDEX

$sym9$_CSETF_JO_LINK_DATA_FOCAL_PROOF_INDEX

public static final SubLSymbol $sym9$_CSETF_JO_LINK_DATA_FOCAL_PROOF_INDEX

$sym10$JO_LINK_DATA_NON_FOCAL_PROOF_INDEX

public static final SubLSymbol $sym10$JO_LINK_DATA_NON_FOCAL_PROOF_INDEX

$sym11$_CSETF_JO_LINK_DATA_NON_FOCAL_PROOF_INDEX

public static final SubLSymbol $sym11$_CSETF_JO_LINK_DATA_NON_FOCAL_PROOF_INDEX

$sym12$JO_LINK_DATA_RESTRICTED_NON_FOCAL_LINK_INDEX

public static final SubLSymbol $sym12$JO_LINK_DATA_RESTRICTED_NON_FOCAL_LINK_INDEX

$sym13$_CSETF_JO_LINK_DATA_RESTRICTED_NON_FOCAL_LINK_INDEX

public static final SubLSymbol $sym13$_CSETF_JO_LINK_DATA_RESTRICTED_NON_FOCAL_LINK_INDEX

$kw14$FOCAL_PROOF_INDEX

public static final SubLSymbol $kw14$FOCAL_PROOF_INDEX

$kw15$NON_FOCAL_PROOF_INDEX

public static final SubLSymbol $kw15$NON_FOCAL_PROOF_INDEX

$kw16$RESTRICTED_NON_FOCAL_LINK_INDEX

public static final SubLSymbol $kw16$RESTRICTED_NON_FOCAL_LINK_INDEX

$str17$Invalid_slot__S_for_construction_

public static final SubLString $str17$Invalid_slot__S_for_construction_

$kw18$JOIN_ORDERED

public static final SubLSymbol $kw18$JOIN_ORDERED

$sym19$MAPPED_PROBLEM_P

public static final SubLSymbol $sym19$MAPPED_PROBLEM_P

$kw20$FREE

public static final SubLSymbol $kw20$FREE

$list21

public static final SubLList $list21

$sym22$INDEX

public static final SubLSymbol $sym22$INDEX

$sym23$PROOF_LIST_VAR

public static final SubLSymbol $sym23$PROOF_LIST_VAR

$sym24$CLET

public static final SubLSymbol $sym24$CLET

$sym25$JOIN_ORDERED_LINK_FOCAL_PROOF_INDEX

public static final SubLSymbol $sym25$JOIN_ORDERED_LINK_FOCAL_PROOF_INDEX

$sym26$DO_DICTIONARY

public static final SubLSymbol $sym26$DO_DICTIONARY

$sym27$DO_LIST

public static final SubLSymbol $sym27$DO_LIST

$sym28$INDEX

public static final SubLSymbol $sym28$INDEX

$sym29$PROOF_LIST_VAR

public static final SubLSymbol $sym29$PROOF_LIST_VAR

$sym30$JOIN_ORDERED_LINK_NON_FOCAL_PROOF_INDEX

public static final SubLSymbol $sym30$JOIN_ORDERED_LINK_NON_FOCAL_PROOF_INDEX

$list31

public static final SubLList $list31

$list32

public static final SubLList $list32

$kw33$ALLOW_OTHER_KEYS

public static final SubLSymbol $kw33$ALLOW_OTHER_KEYS

$kw34$DONE

public static final SubLSymbol $kw34$DONE

$sym35$LINK_VAR

public static final SubLSymbol $sym35$LINK_VAR

$sym36$RESTRICTION_LINK

public static final SubLSymbol $sym36$RESTRICTION_LINK

$sym37$DO_PROBLEM_ARGUMENT_LINKS

public static final SubLSymbol $sym37$DO_PROBLEM_ARGUMENT_LINKS

$sym38$JOIN_ORDERED_LINK_NON_FOCAL_PROBLEM

public static final SubLSymbol $sym38$JOIN_ORDERED_LINK_NON_FOCAL_PROBLEM

$kw39$TYPE

public static final SubLSymbol $kw39$TYPE

$kw40$RESTRICTION

public static final SubLSymbol $kw40$RESTRICTION

$sym41$PWHEN

public static final SubLSymbol $sym41$PWHEN

$sym42$NON_FOCAL_RESTRICTION_LINK_WITH_CORRESPONDING_FOCAL_PROOF_

public static final SubLSymbol $sym42$NON_FOCAL_RESTRICTION_LINK_WITH_CORRESPONDING_FOCAL_PROOF_

$sym43$PROBLEM_LINK_SOLE_SUPPORTING_PROBLEM

public static final SubLSymbol $sym43$PROBLEM_LINK_SOLE_SUPPORTING_PROBLEM

$list44

public static final SubLList $list44

$sym45$RESTRICTION_LINK

public static final SubLSymbol $sym45$RESTRICTION_LINK

$sym46$NON_FOCAL_PROBLEM

public static final SubLSymbol $sym46$NON_FOCAL_PROBLEM

$sym47$DO_PROBLEM_DEPENDENT_LINKS

public static final SubLSymbol $sym47$DO_PROBLEM_DEPENDENT_LINKS

$sym48$PROBLEM_LINK_SUPPORTED_PROBLEM

public static final SubLSymbol $sym48$PROBLEM_LINK_SUPPORTED_PROBLEM

$sym49$JOIN_ORDERED_LINK_RESTRICTED_NON_FOCAL_LINK_

public static final SubLSymbol $sym49$JOIN_ORDERED_LINK_RESTRICTED_NON_FOCAL_LINK_

$sym50$DO_JOIN_ORDERED_LINK_FOCAL_PROOFS

public static final SubLSymbol $sym50$DO_JOIN_ORDERED_LINK_FOCAL_PROOFS

$sym51$DO_JOIN_ORDERED_LINK_NON_FOCAL_PROOFS

public static final SubLSymbol $sym51$DO_JOIN_ORDERED_LINK_NON_FOCAL_PROOFS

$str52$Could_not_find_the_tactic_for__a

public static final SubLString $str52$Could_not_find_the_tactic_for__a

$sym53$JOIN_ORDERED_LINK_P

public static final SubLSymbol $sym53$JOIN_ORDERED_LINK_P

$sym54$PROOF_P

public static final SubLSymbol $sym54$PROOF_P

$sym55$RESTRICTION_LINK_P

public static final SubLSymbol $sym55$RESTRICTION_LINK_P

$kw56$SKIP

public static final SubLSymbol $kw56$SKIP

$kw57$REMOVAL_CONJUNCTIVE

public static final SubLSymbol $kw57$REMOVAL_CONJUNCTIVE

$kw58$COMPLETE

public static final SubLSymbol $kw58$COMPLETE

$sym59$PROBLEM_P

public static final SubLSymbol $sym59$PROBLEM_P

$kw60$NEG

public static final SubLSymbol $kw60$NEG

$kw61$POS

public static final SubLSymbol $kw61$POS

$kw62$ANSWER

public static final SubLSymbol $kw62$ANSWER

$kw63$UNION

public static final SubLSymbol $kw63$UNION

$sym64$DUPLICATES_

public static final SubLSymbol $sym64$DUPLICATES_

$kw65$TACTICAL

public static final SubLSymbol $kw65$TACTICAL

$sym66$STRATEGY_P

public static final SubLSymbol $sym66$STRATEGY_P

$list67

public static final SubLList $list67

$sym68$FOCAL_TO_NON_FOCAL_VARIABLE_MAP

public static final SubLSymbol $sym68$FOCAL_TO_NON_FOCAL_VARIABLE_MAP

$kw69$_MEMOIZED_ITEM_NOT_FOUND_

public static final SubLSymbol $kw69$_MEMOIZED_ITEM_NOT_FOUND_

$sym70$NON_FOCAL_TO_FOCAL_VARIABLE_MAP

public static final SubLSymbol $sym70$NON_FOCAL_TO_FOCAL_VARIABLE_MAP

$str71$Finding_or_creating_a_restricted_

public static final SubLString $str71$Finding_or_creating_a_restricted_

$str72$Creating_a_restricted_problem_of_

public static final SubLString $str72$Creating_a_restricted_problem_of_

$list73

public static final SubLList $list73

$sym74$TRIGGER_VARS_SHARED_BY_SIBLING

public static final SubLSymbol $sym74$TRIGGER_VARS_SHARED_BY_SIBLING

$sym75$VARIABLE_BINDING_VARIABLE

public static final SubLSymbol $sym75$VARIABLE_BINDING_VARIABLE

$sym76$VARIABLE_P

public static final SubLSymbol $sym76$VARIABLE_P

$str77$_a_was_a_rejected_proof

public static final SubLString $str77$_a_was_a_rejected_proof

$sym78$PROOF_PROVEN_

public static final SubLSymbol $sym78$PROOF_PROVEN_

$kw79$PREFERRED

public static final SubLSymbol $kw79$PREFERRED

$list80

public static final SubLList $list80

$const81$isa

public static final SubLObject $const81$isa
Method Detail

join_ordered_link_data_print_function_trampoline

public static final SubLObject join_ordered_link_data_print_function_trampoline(SubLObject object,
                                                                                SubLObject stream)

jo_link_data_focal_proof_index

public static final SubLObject jo_link_data_focal_proof_index(SubLObject object)

jo_link_data_non_focal_proof_index

public static final SubLObject jo_link_data_non_focal_proof_index(SubLObject object)

jo_link_data_restricted_non_focal_link_index

public static final SubLObject jo_link_data_restricted_non_focal_link_index(SubLObject object)

_csetf_jo_link_data_focal_proof_index

public static final SubLObject _csetf_jo_link_data_focal_proof_index(SubLObject object,
                                                                     SubLObject value)

_csetf_jo_link_data_non_focal_proof_index

public static final SubLObject _csetf_jo_link_data_non_focal_proof_index(SubLObject object,
                                                                         SubLObject value)

_csetf_jo_link_data_restricted_non_focal_link_index

public static final SubLObject _csetf_jo_link_data_restricted_non_focal_link_index(SubLObject object,
                                                                                   SubLObject value)

make_join_ordered_link_data

public static final SubLObject make_join_ordered_link_data(SubLObject arglist)

new_join_ordered_link_data

public static final SubLObject new_join_ordered_link_data()

join_ordered_link_p

public static final SubLObject join_ordered_link_p(SubLObject object)

maybe_new_join_ordered_link

public static final SubLObject maybe_new_join_ordered_link(SubLObject supported_problem,
                                                           SubLObject focal_supporting_mapped_problem,
                                                           SubLObject non_focal_supporting_mapped_problem)
Returns:
join-ordered-link-p, either the already existing one or a new one.

new_join_ordered_link

public static final SubLObject new_join_ordered_link(SubLObject supported_problem,
                                                     SubLObject focal_supporting_mapped_problem,
                                                     SubLObject non_focal_supporting_mapped_problem)

join_ordered_link_focal_proof_index

public static final SubLObject join_ordered_link_focal_proof_index(SubLObject join_ordered_link)

join_ordered_link_non_focal_proof_index

public static final SubLObject join_ordered_link_non_focal_proof_index(SubLObject join_ordered_link)

join_ordered_link_restricted_non_focal_link_index

public static final SubLObject join_ordered_link_restricted_non_focal_link_index(SubLObject join_ordered_link)

join_ordered_link_restricted_non_focal_links

public static final SubLObject join_ordered_link_restricted_non_focal_links(SubLObject join_ordered_link)

join_ordered_link_restricted_non_focal_triggering_proof

public static final SubLObject join_ordered_link_restricted_non_focal_triggering_proof(SubLObject join_ordered_link,
                                                                                       SubLObject restriction_link)
The proof that, when bubbling up to JOIN-ORDERED-LINK, triggered the creation of RESTRICTION-LINK


join_ordered_link_focal_mapped_problem

public static final SubLObject join_ordered_link_focal_mapped_problem(SubLObject join_ordered_link)

join_ordered_link_has_non_focal_mapped_problemP

public static final SubLObject join_ordered_link_has_non_focal_mapped_problemP(SubLObject join_ordered_link)

join_ordered_link_non_focal_mapped_problem

public static final SubLObject join_ordered_link_non_focal_mapped_problem(SubLObject join_ordered_link)

join_ordered_link_non_focal_manifestedP

public static final SubLObject join_ordered_link_non_focal_manifestedP(SubLObject join_ordered_link)

join_ordered_link_focal_problem

public static final SubLObject join_ordered_link_focal_problem(SubLObject join_ordered_link)

join_ordered_link_non_focal_problem

public static final SubLObject join_ordered_link_non_focal_problem(SubLObject join_ordered_link)

join_ordered_link_focal_proofs_lookup

public static final SubLObject join_ordered_link_focal_proofs_lookup(SubLObject join_ordered_link,
                                                                     SubLObject proof_bindings)

join_ordered_link_non_focal_proofs_lookup

public static final SubLObject join_ordered_link_non_focal_proofs_lookup(SubLObject join_ordered_link,
                                                                         SubLObject proof_bindings)

join_ordered_link_tactic

public static final SubLObject join_ordered_link_tactic(SubLObject join_ordered_link)
Returns:
tactic-p; the tactic which created JOIN-ORDERED-LINK

join_ordered_link_restricted_non_focal_linkP

public static final SubLObject join_ordered_link_restricted_non_focal_linkP(SubLObject join_ordered_link,
                                                                            SubLObject restriction_link)
Returns:
booleanp; true iff RESTRICTION-LINK is a restricted non-focal link of JOIN-ORDERED-LINK

add_join_ordered_link_focal_proof

public static final SubLObject add_join_ordered_link_focal_proof(SubLObject join_ordered_link,
                                                                 SubLObject v_bindings,
                                                                 SubLObject proof)
Indexes PROOF by BINDINGS as a focal proof in JOIN-ORDERED-LINK


add_join_ordered_link_non_focal_proof

public static final SubLObject add_join_ordered_link_non_focal_proof(SubLObject join_ordered_link,
                                                                     SubLObject v_bindings,
                                                                     SubLObject proof)
Indexes PROOF by BINDINGS as a non-focal proof in JOIN-ORDERED-LINK


add_join_ordered_link_restricted_non_focal_link

public static final SubLObject add_join_ordered_link_restricted_non_focal_link(SubLObject join_ordered_link,
                                                                               SubLObject restriction_link,
                                                                               SubLObject trigger_proof)

join_ordered_link_focal_supporting_problem_spec

public static final SubLObject join_ordered_link_focal_supporting_problem_spec(SubLObject join_ordered_link)
Returns:
subclause-spec-p or nil; the subclause-spec for the focal problem of JOIN-ORDERED-LINK

join_ordered_link_non_focal_supporting_problem_spec

public static final SubLObject join_ordered_link_non_focal_supporting_problem_spec(SubLObject join_ordered_link)
Returns:
subclause-spec-p or nil; the subclause-spec for the non-focal problem of JOIN-ORDERED-LINK

join_ordered_tactic_p

public static final SubLObject join_ordered_tactic_p(SubLObject object)

single_focal_literal_join_ordered_tactic_p

public static final SubLObject single_focal_literal_join_ordered_tactic_p(SubLObject join_ordered_tactic)

new_join_ordered_tactic

public static final SubLObject new_join_ordered_tactic(SubLObject jo_link,
                                                       SubLObject focal_supporting_problem_spec)
Create a new :JOIN-ORDERED tactic for PROBLEM in which FOCAL-SUPPORTING-PROBLEM-SPEC specifies the literals of DNF-CLAUSE which should be the focal supporting problem and the remaining literals should be the non-focal supporting problem.


join_ordered_tactic_link

public static final SubLObject join_ordered_tactic_link(SubLObject join_ordered_tactic)
Returns:
nil or problem-link-p; the link created by JOIN-ORDERED-TACTIC NIL should only occur if the tactic has been discarded.

join_ordered_tactic_focal_supporting_problem_spec

public static final SubLObject join_ordered_tactic_focal_supporting_problem_spec(SubLObject join_ordered_tactic)

find_or_create_join_ordered_tactic_focal_mapped_problem

public static final SubLObject find_or_create_join_ordered_tactic_focal_mapped_problem(SubLObject tactic)

determine_new_join_ordered_tactics

public static final SubLObject determine_new_join_ordered_tactics(SubLObject supported_problem,
                                                                  SubLObject dnf_clause)

problem_has_a_complete_conjunctive_removal_tacticP

public static final SubLObject problem_has_a_complete_conjunctive_removal_tacticP(SubLObject problem)

determine_new_single_literal_join_ordered_tactics

public static final SubLObject determine_new_single_literal_join_ordered_tactics(SubLObject supported_problem,
                                                                                 SubLObject dnf_clause)

determine_new_single_literal_join_ordered_tactic

public static final SubLObject determine_new_single_literal_join_ordered_tactic(SubLObject supported_problem,
                                                                                SubLObject dnf_clause,
                                                                                SubLObject sense,
                                                                                SubLObject index)

motivated_followup_multi_literal_subclause_specs_case_1

public static final SubLObject motivated_followup_multi_literal_subclause_specs_case_1(SubLObject supported_problem,
                                                                                       SubLObject dnf_clause)
Parameters:
DNF-CLAUSE; - the single clause of SUPPORTED-PROBLEM.
Returns:
list of subclause-spec-p; multi-literal subclause specs that should be considered for the purpose of reusing existing work in the store.

problem_store_followup_query_problem_p

public static final SubLObject problem_store_followup_query_problem_p(SubLObject supported_problem)
Returns:
booleanp; whether SUPPORTED-PROBLEM should be considered for followup-query join-ordered links. Currently we only do this analysis for root problems when there is at least one other root problem in the store.

motivated_followup_multi_literal_subclause_specs_case_2

public static final SubLObject motivated_followup_multi_literal_subclause_specs_case_2(SubLObject supported_problem,
                                                                                       SubLObject dnf_clause)

matching_subclause_specs

public static final SubLObject matching_subclause_specs(SubLObject dnf_clause,
                                                        SubLObject other_dnf_clause)
Returns the subclause specs which, if applied to DNF-CLAUSE, would allow it to unify with OTHER-DNF-CLAUSE.


determine_new_join_ordered_tactic

public static final SubLObject determine_new_join_ordered_tactic(SubLObject supported_problem,
                                                                 SubLObject focal_supporting_problem_spec,
                                                                 SubLObject dnf_clause)

find_or_create_join_ordered_focal_mapped_problem

public static final SubLObject find_or_create_join_ordered_focal_mapped_problem(SubLObject store,
                                                                                SubLObject dnf_clause,
                                                                                SubLObject focal_supporting_problem_spec)

find_or_create_join_ordered_non_focal_mapped_problem

public static final SubLObject find_or_create_join_ordered_non_focal_mapped_problem(SubLObject store,
                                                                                    SubLObject dnf_clause,
                                                                                    SubLObject focal_supporting_problem_spec)

lazily_create_join_ordered_link_non_focal_mapped_problem

public static final SubLObject lazily_create_join_ordered_link_non_focal_mapped_problem(SubLObject join_ordered_link)

compute_strategic_properties_of_join_ordered_tactic

public static final SubLObject compute_strategic_properties_of_join_ordered_tactic(SubLObject tactic,
                                                                                   SubLObject strategy)

compute_join_ordered_tactic_productivity

public static final SubLObject compute_join_ordered_tactic_productivity(SubLObject jo_link,
                                                                        SubLObject strategy)
The productivity of a :join-ordered tactic is twice the productivity of its focal subproblem


compute_join_ordered_tactic_preference_level

public static final SubLObject compute_join_ordered_tactic_preference_level(SubLObject jo_link,
                                                                            SubLObject strategic_context)

execute_join_ordered_tactic

public static final SubLObject execute_join_ordered_tactic(SubLObject tactic)

consider_strategic_ramifications_of_tactic_preference_level

public static final SubLObject consider_strategic_ramifications_of_tactic_preference_level(SubLObject tactic)

join_ordered_tactic_lookahead_problem

public static final SubLObject join_ordered_tactic_lookahead_problem(SubLObject join_ordered_tactic)

new_join_ordered_proof

public static final SubLObject new_join_ordered_proof(SubLObject join_ordered_link,
                                                      SubLObject subproofs_with_sub_bindings)
Returns:
0 proof-p

join_ordered_proof_p

public static final SubLObject join_ordered_proof_p(SubLObject object)

connected_conjunction_proof_p

public static final SubLObject connected_conjunction_proof_p(SubLObject object)

new_conjunctive_proof

public static final SubLObject new_conjunctive_proof(SubLObject conjunctive_link,
                                                     SubLObject subproofs_with_sub_bindings)

compute_sibling_proof_bindings

public static final SubLObject compute_sibling_proof_bindings(SubLObject trigger_proof_bindings,
                                                              SubLObject join_ordered_link,
                                                              SubLObject trigger_is_focalP)
Parameters:
TRIGGER-PROOF-BINDINGS; - trigger problem's variables -> answers

focal_to_non_focal_variable_map_internal

public static final SubLObject focal_to_non_focal_variable_map_internal(SubLObject join_ordered_link)

focal_to_non_focal_variable_map

public static final SubLObject focal_to_non_focal_variable_map(SubLObject join_ordered_link)

non_focal_to_focal_variable_map_internal

public static final SubLObject non_focal_to_focal_variable_map_internal(SubLObject join_ordered_link)

non_focal_to_focal_variable_map

public static final SubLObject non_focal_to_focal_variable_map(SubLObject join_ordered_link)

trigger_to_sibling_variable_map

public static final SubLObject trigger_to_sibling_variable_map(SubLObject join_ordered_link,
                                                               SubLObject trigger_is_focalP)

focal_bindings_to_non_focal_bindings

public static final SubLObject focal_bindings_to_non_focal_bindings(SubLObject focal_restriction_bindings,
                                                                    SubLObject join_ordered_link)
Parameters:
FOCAL-RESTRICTION-BINDINGS - binding-list-p; focal-problem-vars -> restriction. i.e. bindings to substitute into JOIN-ORDERED-LINK's focal problem to restrict it.
Returns:
binding-list-p; non-focal-problem-vars -> restriction. i.e. a transformation of FOCAL-BINDINGS into the space of JOIN-ORDERED-LINK's non-focal-problem. These will be bindings to substitute into JOIN-ORDERED-LINK's non-focal-problem to restrict it.

bubble_up_proof_to_join_ordered_link

public static final SubLObject bubble_up_proof_to_join_ordered_link(SubLObject trigger_subproof,
                                                                    SubLObject variable_map,
                                                                    SubLObject join_ordered_link)

trigger_split_restriction

public static final SubLObject trigger_split_restriction(SubLObject join_ordered_link,
                                                         SubLObject focal_problem_proof)

find_or_create_split_restriction_int

public static final SubLObject find_or_create_split_restriction_int(SubLObject join_ordered_link,
                                                                    SubLObject focal_problem_proof,
                                                                    SubLObject createP)
Parameters:
FOCAL-PROBLEM-PROOF; - the proof that triggered the split-restriction
Returns:
mapped-problem-p; a restricted form of JOIN-ORDERED-LINK's non-focal problem, restricted according to FOCAL-RESTRICTION-BINDINGS modulo some substitution, with a variable map of the form: restricted non-focal problem vars -> non-focal problem vars

note_all_triggering_proofs_processed

public static final SubLObject note_all_triggering_proofs_processed(SubLObject restriction_link)

note_restricted_non_focal_finished

public static final SubLObject note_restricted_non_focal_finished(SubLObject join_ordered_link,
                                                                  SubLObject restriction_link)
look up the proof from the index on the jo-link and note it processed


find_or_create_restricted_non_focal_problem_int

public static final SubLObject find_or_create_restricted_non_focal_problem_int(SubLObject join_ordered_link,
                                                                               SubLObject non_focal_restriction_bindings,
                                                                               SubLObject creation_allowedP)

find_or_create_restricted_problem_and_link_int

public static final SubLObject find_or_create_restricted_problem_and_link_int(SubLObject unrestricted_problem,
                                                                              SubLObject restriction_bindings,
                                                                              SubLObject creation_allowedP)
Parameters:
RESTRICTION-BINDINGS - binding-list-p; UNRESTRICTED-PROBLEM's vars -> restriction. i.e. bindings to substitute into UNRESTRICTED-PROBLEM to restrict it.

find_or_create_restricted_problem

public static final SubLObject find_or_create_restricted_problem(SubLObject unrestricted_problem,
                                                                 SubLObject restriction_bindings)

find_or_create_restricted_problem_int

public static final SubLObject find_or_create_restricted_problem_int(SubLObject unrestricted_problem,
                                                                     SubLObject restriction_bindings,
                                                                     SubLObject creation_allowedP)
Parameters:
RESTRICTION-BINDINGS - binding-list-p; UNRESTRICTED-PROBLEM's vars -> restriction. i.e. bindings to substitute into UNRESTRICTED-PROBLEM to restrict it.

focal_problem_is_a_single_literal_backchain_requiredP

public static final SubLObject focal_problem_is_a_single_literal_backchain_requiredP(SubLObject join_ordered_link)

non_focal_restriction_link_with_corresponding_focal_proofP

public static final SubLObject non_focal_restriction_link_with_corresponding_focal_proofP(SubLObject restriction_link,
                                                                                          SubLObject join_ordered_link)
Returns:
booleanp; whether RESTRICTION-LINK supports a restricted non-focal problem wrt JOIN-ORDERED-LINK. It checks this by looking for a corresponding proof of the focal problem of JOIN-ORDERED-LINK with the same bindings (modulo variable map) as RESTRICTION-LINK.

mapped_proof_is_focalP

public static final SubLObject mapped_proof_is_focalP(SubLObject subproof,
                                                      SubLObject proof_variable_map,
                                                      SubLObject join_ordered_link)

trigger_vars_shared_by_sibling_internal

public static final SubLObject trigger_vars_shared_by_sibling_internal(SubLObject join_ordered_link,
                                                                       SubLObject trigger_is_focalP)
The variables in the trigger problem of JOIN-ORDERED-LINK which are also shared by the sibling problem (modulo variable maps)


trigger_vars_shared_by_sibling

public static final SubLObject trigger_vars_shared_by_sibling(SubLObject join_ordered_link,
                                                              SubLObject trigger_is_focalP)

focal_vars_shared_by_non_focal

public static final SubLObject focal_vars_shared_by_non_focal(SubLObject join_ordered_link)
This is complicated to avoid unnecessarily manifesting non-focals.


add_join_ordered_link_proof

public static final SubLObject add_join_ordered_link_proof(SubLObject join_ordered_link,
                                                           SubLObject trigger_proof,
                                                           SubLObject trigger_is_focalP)

join_ordered_link_shared_proof_bindings

public static final SubLObject join_ordered_link_shared_proof_bindings(SubLObject join_ordered_link,
                                                                       SubLObject trigger_proof,
                                                                       SubLObject trigger_is_focalP)

join_ordered_link_shared_proof_bindings_int

public static final SubLObject join_ordered_link_shared_proof_bindings_int(SubLObject join_ordered_link,
                                                                           SubLObject trigger_proof_bindings,
                                                                           SubLObject trigger_is_focalP)

join_ordered_link_sibling_proofs_lookup

public static final SubLObject join_ordered_link_sibling_proofs_lookup(SubLObject join_ordered_link,
                                                                       SubLObject sibling_proof_bindings,
                                                                       SubLObject trigger_is_focalP)

bubble_up_proof_to_join_ordered_link_int

public static final SubLObject bubble_up_proof_to_join_ordered_link_int(SubLObject trigger_subproof,
                                                                        SubLObject variable_map,
                                                                        SubLObject join_ordered_link,
                                                                        SubLObject trigger_is_focalP)

join_ordered_link_sibling_mapped_problem

public static final SubLObject join_ordered_link_sibling_mapped_problem(SubLObject join_ordered_link,
                                                                        SubLObject trigger_is_focalP)

join_ordered_link_could_be_finishedP

public static final SubLObject join_ordered_link_could_be_finishedP(SubLObject jo_link,
                                                                    SubLObject strategic_context)

join_ordered_link_with_non_focal_unbound_predicateP

public static final SubLObject join_ordered_link_with_non_focal_unbound_predicateP(SubLObject join_ordered_link)
Returns:
booleanp; whether JOIN-ORDERED-LINK's non-focal problem has an unbound predicate that would be bound by its focal problem.

join_ordered_link_with_non_focal_isa_unbound_unbound_where_arg2_is_restrictedP

public static final SubLObject join_ordered_link_with_non_focal_isa_unbound_unbound_where_arg2_is_restrictedP(SubLObject join_ordered_link)
Returns:
booleanp; whether JOIN-ORDERED-LINK's non-focal problem is (#$isa ?var0 ?var1) and the ?var1 is restricted by the focal problem.

declare_inference_worker_join_ordered_file

public static final SubLObject declare_inference_worker_join_ordered_file()

init_inference_worker_join_ordered_file

public static final SubLObject init_inference_worker_join_ordered_file()

setup_inference_worker_join_ordered_file

public static final SubLObject setup_inference_worker_join_ordered_file()

declareFunctions

public void declareFunctions()
Description copied from interface: SubLFile
Declares the mapping between functions and symbols for all named functions defined in the file. Like CRTL define.


initializeVariables

public void initializeVariables()
Description copied from interface: SubLFile
Initializes all global variables and private internal variables for constants defined in the file. Like CRTL init.


runTopLevelForms

public void runTopLevelForms()
Description copied from interface: SubLFile
Runs all top-level forms in order. Like CRTL setup.