com.cyc.cycjava.cycl.inference.harness
Class inference_strategist
java.lang.Object
com.cyc.tool.subl.util.SubLTrampolineFile
com.cyc.tool.subl.util.SubLTranslatedFile
com.cyc.cycjava.cycl.inference.harness.inference_strategist
- All Implemented Interfaces:
- CommonSymbols, SubLFile
public final class inference_strategist
- extends SubLTranslatedFile
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 |
all_variables_in_bindings_interestingP(SubLObject v_bindings,
SubLObject interesting_variables)
|
static SubLObject |
compose_el_answer_bindings(SubLObject el_bindings,
SubLObject hl_bindings,
SubLObject free_el_vars,
SubLObject free_el_vars_policy)
|
static SubLObject |
consider_switching_strategies(SubLObject inference)
|
static SubLObject |
declare_inference_strategist_file()
|
void |
declareFunctions()
Declares the mapping between functions and symbols for all named
functions defined in the file. |
static SubLObject |
depth_cutoff_L(SubLObject depth_cutoff_1,
SubLObject depth_cutoff_2)
|
static SubLObject |
determine_best_strategy_type_for_inference(SubLObject inference)
|
static SubLObject |
explicify_inference_mode_defaults(SubLObject query_properties)
Uses the :inference-mode property in QUERY-PROPERTIES to fill in values for other
query properties, but only if they were not already explicitly specified. |
static SubLObject |
filter_out_uninteresting_bindings(SubLObject v_bindings,
SubLObject interesting_variables)
|
static SubLObject |
inference_abort_if_running(SubLObject inference)
Immediately forcefully aborts INFERENCE if it is currently running. |
static SubLObject |
inference_abort_max_time(SubLObject inference)
Aborting might leave the inference and its problem store in an inconsistent state. |
static SubLObject |
inference_abort(SubLObject inference)
Immediately forcefully aborts INFERENCE. |
static SubLObject |
inference_all_explanatory_proof_supports(SubLObject inference,
SubLObject proof)
|
static SubLObject |
inference_answer_bindings_from_proof(SubLObject proof,
SubLObject inference)
|
static SubLObject |
inference_determine_type_independent_result(SubLObject inference)
|
static SubLObject |
inference_disallows_answer_from_bindingsP(SubLObject inference,
SubLObject answer_bindings)
|
static SubLObject |
inference_do_forward_propagation(SubLObject inference)
|
static SubLObject |
inference_error_handler()
|
static SubLObject |
inference_halt_condition_reachedP(SubLObject inference)
Halt conditions are noted by overloading the suspend-status while the inference is still running. |
static SubLObject |
inference_hl_bindings_from_proof(SubLObject proof,
SubLObject inference)
|
static SubLObject |
inference_initial_relevant_strategies(SubLObject inference)
|
static SubLObject |
inference_interrupt_int(SubLObject inference)
Wait forever for INFERENCE to interrupt itself gracefully. |
static SubLObject |
inference_interrupt(SubLObject inference,
SubLObject patience)
|
static SubLObject |
inference_max_number_reachedP(SubLObject inference)
|
static SubLObject |
inference_max_problem_count_reachedP(SubLObject inference)
|
static SubLObject |
inference_max_proof_count_reachedP(SubLObject inference)
|
static SubLObject |
inference_max_step_reachedP(SubLObject inference)
|
static SubLObject |
inference_max_time_reachedP(SubLObject inference)
|
static SubLObject |
inference_note_no_good(SubLObject inference)
|
static SubLObject |
inference_note_proof(SubLObject inference,
SubLObject proof)
|
static SubLObject |
inference_permits_transformationP(SubLObject inference)
|
static SubLObject |
inference_possibly_prune_processed_proofs(SubLObject inference)
|
static SubLObject |
inference_prepare_from_dnf(SubLObject inference,
SubLObject dnf,
SubLObject scoped_vars)
|
static SubLObject |
inference_prepare_int(SubLObject inference)
|
static SubLObject |
inference_prepare(SubLObject inference,
SubLObject disjunction_free_el_vars_policy,
SubLObject hypothesizeP)
Turns a :new inference into a :prepared inference. |
static SubLObject |
inference_probably_approximately_doneP(SubLObject inference)
|
static SubLObject |
inference_prune_frequency_reachedP(SubLObject inference)
|
static SubLObject |
inference_run(SubLObject inference)
|
static SubLObject |
inference_set_dynamic_properties(SubLObject inference,
SubLObject dynamic_properties)
|
static SubLObject |
inference_suspend(SubLObject inference,
SubLObject suspend_status)
Notes that INFERENCE is suspended. |
static SubLObject |
inference_switch_strategies(SubLObject inference,
SubLObject new_strategy_type)
Causes INFERENCE to switch from its existing strategy to a new strategy of
NEW-STRATEGY-TYPE. |
static SubLObject |
inference_update_dynamic_properties(SubLObject inference,
SubLObject new_query_dynamic_properties)
|
static SubLObject |
init_inference_strategist_file()
|
void |
initializeVariables()
Initializes all global variables and private internal variables
for constants defined in the file. |
static SubLObject |
new_inference_answer_from_proof(SubLObject inference,
SubLObject proof)
|
static SubLObject |
perform_inference_answer_proof_analysis(SubLObject answer,
SubLObject proof)
|
static SubLObject |
possibly_wait_for_inference_to_unblock(SubLObject inference)
|
static SubLObject |
prepare_inference_hl_query_from_dnf(SubLObject inference,
SubLObject input_dnf,
SubLObject scoped_vars)
|
static SubLObject |
prepare_inference_hl_query_int(SubLObject input_mt,
SubLObject input_el_query,
SubLObject input_non_explanatory_el_query,
SubLObject hypothesizeP)
Given INPUT-MT, INPUT-EL-QUERY, INPUT-NON-EXPLANATORY-EL-QUERY and HYPOTHESIZE? for some inference,
determine the MT, EL-QUERY, EXPLANATORY-EL-QUERY and HYPOTHETICAL-BINDINGS to use. |
static SubLObject |
prepare_inference_hl_query(SubLObject inference,
SubLObject disjunction_free_el_vars_policy,
SubLObject hypothesizeP)
Modifies and returns INFERENCE. |
static SubLObject |
properties_indicate_forward_inferenceP(SubLObject static_properties)
|
static SubLObject |
query_dynamic_properties_have_strategically_interesting_extensionP(SubLObject inference,
SubLObject new_query_dynamic_properties)
|
void |
runTopLevelForms()
Runs all top-level forms in order. |
static SubLObject |
setup_inference_strategist_file()
|
static SubLObject |
simplest_inference_continuation_possibleP(SubLObject inference)
|
static SubLObject |
simplest_inference_determine_result(SubLObject inference,
SubLObject padP)
|
static SubLObject |
simplest_inference_doneP(SubLObject inference)
|
static SubLObject |
simplest_inference_exhaustedP(SubLObject inference)
|
static SubLObject |
simplest_inference_possibly_prune(SubLObject inference)
|
static SubLObject |
simplest_inference_prepare_new_from_dnf(SubLObject problem_store,
SubLObject dnf,
SubLObject mt,
SubLObject strategy_type,
SubLObject scoped_vars,
SubLObject non_explanatory_el_query,
SubLObject problem_store_privateP)
|
static SubLObject |
simplest_inference_prepare_new(SubLObject problem_store,
SubLObject el_query,
SubLObject mt,
SubLObject strategy_type,
SubLObject disjunction_free_el_vars_policy,
SubLObject hypothesizeP,
SubLObject non_explanatory_el_query,
SubLObject problem_store_privateP)
Creates a new inference object and gets it into the :prepared state. |
static SubLObject |
simplest_inference_prepare(SubLObject inference)
Virtual subclass constructor for simplest-inference-p |
static SubLObject |
simplest_inference_run_handler(SubLObject inference)
A meta-strategy which just tells the strategy to
do a bunch of steps in this thread, i.e. |
static SubLObject |
strategy_type_from_dnf_and_static_properties(SubLObject dnf,
SubLObject mt,
SubLObject static_properties)
|
static SubLObject |
strategy_type_from_sentence_and_static_properties(SubLObject sentence,
SubLObject mt,
SubLObject static_properties)
|
static SubLObject |
strategy_type_from_static_properties(SubLObject static_properties)
|
static SubLObject |
strengthen_query_properties_using_inference(SubLObject inference)
Strengthens the properties of INFERENCE. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
me
public static final SubLFile me
myName
public static final java.lang.String myName
- See Also:
- Constant Field Values
$within_inference_control_processP$
public static SubLSymbol $within_inference_control_processP$
$processed_proof_pruning_initial_threshold$
public static SubLSymbol $processed_proof_pruning_initial_threshold$
- Once an inference has achieved this many proofs, we consider pruning processed proofs.
$processed_proof_pruning_frequency$
public static SubLSymbol $processed_proof_pruning_frequency$
- After the initial pruning threshold is met, we prune processed proofs again every time we get this many new proofs.
$list0
public static final SubLList $list0
$sym1$ABORTED_P
public static final SubLSymbol $sym1$ABORTED_P
$sym2$CLET
public static final SubLSymbol $sym2$CLET
$sym3$CCATCH
public static final SubLSymbol $sym3$CCATCH
$kw4$INFERENCE_ABORT_TARGET
public static final SubLSymbol $kw4$INFERENCE_ABORT_TARGET
$list5
public static final SubLList $list5
$sym6$PWHEN
public static final SubLSymbol $sym6$PWHEN
$sym7$CSETQ
public static final SubLSymbol $sym7$CSETQ
$list8
public static final SubLList $list8
$list9
public static final SubLList $list9
$kw10$NOT_ABORTED
public static final SubLSymbol $kw10$NOT_ABORTED
$str11$Interruptor
public static final SubLString $str11$Interruptor
$sym12$QUERY_INTERRUPT_INT
public static final SubLSymbol $sym12$QUERY_INTERRUPT_INT
$sym13$ERROR_MESSAGE
public static final SubLSymbol $sym13$ERROR_MESSAGE
$sym14$PIF
public static final SubLSymbol $sym14$PIF
$sym15$_INFERENCE_DEBUG__
public static final SubLSymbol $sym15$_INFERENCE_DEBUG__
$sym16$PROGN
public static final SubLSymbol $sym16$PROGN
$kw17$INFERENCE_ERROR
public static final SubLSymbol $kw17$INFERENCE_ERROR
$sym18$WITH_INFERENCE_ERROR_HANDLING
public static final SubLSymbol $sym18$WITH_INFERENCE_ERROR_HANDLING
$sym19$NEW_INFERENCE_ERROR_SUSPEND_STATUS
public static final SubLSymbol $sym19$NEW_INFERENCE_ERROR_SUSPEND_STATUS
$sym20$WITH_ERROR_HANDLER
public static final SubLSymbol $sym20$WITH_ERROR_HANDLER
$list21
public static final SubLList $list21
$list22
public static final SubLList $list22
$sym23$ABORT_MAX_TIME
public static final SubLSymbol $sym23$ABORT_MAX_TIME
$sym24$TIMED_OUT
public static final SubLSymbol $sym24$TIMED_OUT
$sym25$PCOND
public static final SubLSymbol $sym25$PCOND
$sym26$WITH_TIMEOUT
public static final SubLSymbol $sym26$WITH_TIMEOUT
$list27
public static final SubLList $list27
$kw28$CUSTOM
public static final SubLSymbol $kw28$CUSTOM
$kw29$UNSPECIFIED
public static final SubLSymbol $kw29$UNSPECIFIED
$sym30$INFERENCE_P
public static final SubLSymbol $sym30$INFERENCE_P
$kw31$SUPPORTS
public static final SubLSymbol $kw31$SUPPORTS
$kw32$BINDINGS_AND_SUPPORTS
public static final SubLSymbol $kw32$BINDINGS_AND_SUPPORTS
$kw33$HL
public static final SubLSymbol $kw33$HL
$kw34$PROOF
public static final SubLSymbol $kw34$PROOF
$sym35$NEW_INFERENCE_P
public static final SubLSymbol $sym35$NEW_INFERENCE_P
$str36$can_t_handle_non_simplest_inferen
public static final SubLString $str36$can_t_handle_non_simplest_inferen
$kw37$PREPARED
public static final SubLSymbol $kw37$PREPARED
$sym38$SIMPLEST_INFERENCE_P
public static final SubLSymbol $sym38$SIMPLEST_INFERENCE_P
$list39
public static final SubLList $list39
$str40$Invalid_attempt_to_reuse_memoizat
public static final SubLString $str40$Invalid_attempt_to_reuse_memoizat
$kw41$ILL_FORMED
public static final SubLSymbol $kw41$ILL_FORMED
$kw42$NOT_AN_IMPLICATION
public static final SubLSymbol $kw42$NOT_AN_IMPLICATION
$kw43$TAUTOLOGY
public static final SubLSymbol $kw43$TAUTOLOGY
$kw44$ALL
public static final SubLSymbol $kw44$ALL
$const45$True
public static final SubLObject $const45$True
$const46$False
public static final SubLObject $const46$False
$kw47$CONTRADICTION
public static final SubLSymbol $kw47$CONTRADICTION
$sym48$DNF_P
public static final SubLSymbol $sym48$DNF_P
$sym49$LISTP
public static final SubLSymbol $sym49$LISTP
$str50$Time_to_support_disjunctive___pra
public static final SubLString $str50$Time_to_support_disjunctive___pra
$sym51$HL_VARIABLE_P
public static final SubLSymbol $sym51$HL_VARIABLE_P
$str52$can_t_handle_non_simple_inference
public static final SubLString $str52$can_t_handle_non_simple_inference
$sym53$CONTINUABLE_INFERENCE_P
public static final SubLSymbol $sym53$CONTINUABLE_INFERENCE_P
$sym54$QUERY_DYNAMIC_PROPERTIES_P
public static final SubLSymbol $sym54$QUERY_DYNAMIC_PROPERTIES_P
$kw55$READY
public static final SubLSymbol $kw55$READY
$sym56$INFERENCE_DYNAMIC_PROPERTIES_P
public static final SubLSymbol $sym56$INFERENCE_DYNAMIC_PROPERTIES_P
$sym57$READY_INFERENCE_P
public static final SubLSymbol $sym57$READY_INFERENCE_P
$kw58$UNINITIALIZED
public static final SubLSymbol $kw58$UNINITIALIZED
$kw59$RUNNING
public static final SubLSymbol $kw59$RUNNING
$sym60$INFERENCE_ERROR_HANDLER
public static final SubLSymbol $sym60$INFERENCE_ERROR_HANDLER
$kw61$ABORT
public static final SubLSymbol $kw61$ABORT
$kw62$SUSPENDED
public static final SubLSymbol $kw62$SUSPENDED
$kw63$MAX_PROBLEM_COUNT
public static final SubLSymbol $kw63$MAX_PROBLEM_COUNT
$kw64$MAX_NUMBER
public static final SubLSymbol $kw64$MAX_NUMBER
$kw65$MAX_TIME
public static final SubLSymbol $kw65$MAX_TIME
$kw66$MAX_STEP
public static final SubLSymbol $kw66$MAX_STEP
$kw67$PROBABLY_APPROXIMATELY_DONE
public static final SubLSymbol $kw67$PROBABLY_APPROXIMATELY_DONE
$sym68$RUNNING_INFERENCE_P
public static final SubLSymbol $sym68$RUNNING_INFERENCE_P
$str69$Inference_control_process_was_kil
public static final SubLString $str69$Inference_control_process_was_kil
$sym70$POSITIVE_NUMBER_P
public static final SubLSymbol $sym70$POSITIVE_NUMBER_P
$sym71$SIGNAL_INFERENCE_CONTROL_PROCESS_ABORT
public static final SubLSymbol $sym71$SIGNAL_INFERENCE_CONTROL_PROCESS_ABORT
$kw72$INTERRUPT
public static final SubLSymbol $kw72$INTERRUPT
$kw73$MAX_PROOF_COUNT
public static final SubLSymbol $kw73$MAX_PROOF_COUNT
$kw74$HEURISTIC_BALANCED
public static final SubLSymbol $kw74$HEURISTIC_BALANCED
$kw75$REMOVAL
public static final SubLSymbol $kw75$REMOVAL
$kw76$BALANCING
public static final SubLSymbol $kw76$BALANCING
$kw77$EXHAUST
public static final SubLSymbol $kw77$EXHAUST
$str78$Non_continuable_inference_should_
public static final SubLString $str78$Non_continuable_inference_should_
$str79$Crazy_amount_of_problems___a__in_
public static final SubLString $str79$Crazy_amount_of_problems___a__in_
$kw80$EXHAUST_TOTAL
public static final SubLSymbol $kw80$EXHAUST_TOTAL
$sym81$PROOF_P
public static final SubLSymbol $sym81$PROOF_P
$list82
public static final SubLList $list82
$sym83$TERM_REQUIRES_HL_LANGUAGE
public static final SubLSymbol $sym83$TERM_REQUIRES_HL_LANGUAGE
$kw84$COMPUTE_UNION
public static final SubLSymbol $kw84$COMPUTE_UNION
$sym85$VARIABLE_BINDING_VALUE
public static final SubLSymbol $sym85$VARIABLE_BINDING_VALUE
$sym86$VARIABLE_BINDING_VARIABLE
public static final SubLSymbol $sym86$VARIABLE_BINDING_VARIABLE
$str87$Expected_a_one_to_one_match_betwe
public static final SubLString $str87$Expected_a_one_to_one_match_betwe
$int88$200
public static final SubLInteger $int88$200
$int89$50
public static final SubLInteger $int89$50
$sym90$ATOMIC_CLAUSES_P
public static final SubLSymbol $sym90$ATOMIC_CLAUSES_P
$sym91$ATOMIC_CLAUSE_P
public static final SubLSymbol $sym91$ATOMIC_CLAUSE_P
$kw92$TRUE
public static final SubLSymbol $kw92$TRUE
$kw93$FALSE
public static final SubLSymbol $kw93$FALSE
$list94
public static final SubLList $list94
$list95
public static final SubLList $list95
$sym96$TIMER
public static final SubLSymbol $sym96$TIMER
$sym97$CUNWIND_PROTECT
public static final SubLSymbol $sym97$CUNWIND_PROTECT
$sym98$WITH_QUERY_ABORT_TIMEOUT_START_TIMER
public static final SubLSymbol $sym98$WITH_QUERY_ABORT_TIMEOUT_START_TIMER
$sym99$WITH_QUERY_ABORT_TIMEOUT_STOP_TIMER
public static final SubLSymbol $sym99$WITH_QUERY_ABORT_TIMEOUT_STOP_TIMER
$sym100$WITH_QUERY_ABORT_TIMEOUT
public static final SubLSymbol $sym100$WITH_QUERY_ABORT_TIMEOUT
$str101$WITH_QUERY_ABORT_TIMEOUT_client
public static final SubLString $str101$WITH_QUERY_ABORT_TIMEOUT_client
$str102$WITH_QUERY_ABORT_TIMEOUT_timer
public static final SubLString $str102$WITH_QUERY_ABORT_TIMEOUT_timer
$sym103$WITH_QUERY_ABORT_TIMEOUT_TIMER_THREAD
public static final SubLSymbol $sym103$WITH_QUERY_ABORT_TIMEOUT_TIMER_THREAD
$sym104$QUERY_ABORT
public static final SubLSymbol $sym104$QUERY_ABORT
inference_error_handler
public static final SubLObject inference_error_handler()
inference_abort_max_time
public static final SubLObject inference_abort_max_time(SubLObject inference)
- Aborting might leave the inference and its problem store in an inconsistent state.
Hence, if the inference is continuable or if its problem store might be shared,
we avoid triggering a hard abort when it runs out of time.
explicify_inference_mode_defaults
public static final SubLObject explicify_inference_mode_defaults(SubLObject query_properties)
- Uses the :inference-mode property in QUERY-PROPERTIES to fill in values for other
query properties, but only if they were not already explicitly specified.
strengthen_query_properties_using_inference
public static final SubLObject strengthen_query_properties_using_inference(SubLObject inference)
- Strengthens the properties of INFERENCE.
inference_prepare
public static final SubLObject inference_prepare(SubLObject inference,
SubLObject disjunction_free_el_vars_policy,
SubLObject hypothesizeP)
- Turns a :new inference into a :prepared inference.
Canonicalizes the input MT, EL-QUERY, and NON-EXPLANATORY-QUERY (if any) of inference into
HL-QUERY and EXPLANATORY-HL-QUERY and additional resulting bookkeeping.
Returns a :prepared INFERENCE if all goes well during canonicalization,
otherwise returns #$True, #$False, or NIL.
inference_prepare_from_dnf
public static final SubLObject inference_prepare_from_dnf(SubLObject inference,
SubLObject dnf,
SubLObject scoped_vars)
inference_prepare_int
public static final SubLObject inference_prepare_int(SubLObject inference)
simplest_inference_prepare
public static final SubLObject simplest_inference_prepare(SubLObject inference)
- Virtual subclass constructor for simplest-inference-p
simplest_inference_prepare_new
public static final SubLObject simplest_inference_prepare_new(SubLObject problem_store,
SubLObject el_query,
SubLObject mt,
SubLObject strategy_type,
SubLObject disjunction_free_el_vars_policy,
SubLObject hypothesizeP,
SubLObject non_explanatory_el_query,
SubLObject problem_store_privateP)
- Creates a new inference object and gets it into the :prepared state.
simplest_inference_prepare_new_from_dnf
public static final SubLObject simplest_inference_prepare_new_from_dnf(SubLObject problem_store,
SubLObject dnf,
SubLObject mt,
SubLObject strategy_type,
SubLObject scoped_vars,
SubLObject non_explanatory_el_query,
SubLObject problem_store_privateP)
prepare_inference_hl_query
public static final SubLObject prepare_inference_hl_query(SubLObject inference,
SubLObject disjunction_free_el_vars_policy,
SubLObject hypothesizeP)
- Modifies and returns INFERENCE.
If all goes well, sets INFERENCE's hl-query to a canonicalized version of
its EL query. If there is a problem during canonicalization, it does not
set the hl-query, but instead changes the status of INFERENCE
from :new to either :tautology, :contradiction, or :ill-formed.
prepare_inference_hl_query_int
public static final SubLObject prepare_inference_hl_query_int(SubLObject input_mt,
SubLObject input_el_query,
SubLObject input_non_explanatory_el_query,
SubLObject hypothesizeP)
- Given INPUT-MT, INPUT-EL-QUERY, INPUT-NON-EXPLANATORY-EL-QUERY and HYPOTHESIZE? for some inference,
determine the MT, EL-QUERY, EXPLANATORY-EL-QUERY and HYPOTHETICAL-BINDINGS to use.
- Returns:
- 1 the mt (nil or possibly-mt-p)
prepare_inference_hl_query_from_dnf
public static final SubLObject prepare_inference_hl_query_from_dnf(SubLObject inference,
SubLObject input_dnf,
SubLObject scoped_vars)
inference_initial_relevant_strategies
public static final SubLObject inference_initial_relevant_strategies(SubLObject inference)
- Returns:
- listp; a list of strategies in which the root problem of INFERENCE should be
initially active.
inference_update_dynamic_properties
public static final SubLObject inference_update_dynamic_properties(SubLObject inference,
SubLObject new_query_dynamic_properties)
query_dynamic_properties_have_strategically_interesting_extensionP
public static final SubLObject query_dynamic_properties_have_strategically_interesting_extensionP(SubLObject inference,
SubLObject new_query_dynamic_properties)
depth_cutoff_L
public static final SubLObject depth_cutoff_L(SubLObject depth_cutoff_1,
SubLObject depth_cutoff_2)
inference_set_dynamic_properties
public static final SubLObject inference_set_dynamic_properties(SubLObject inference,
SubLObject dynamic_properties)
inference_run
public static final SubLObject inference_run(SubLObject inference)
inference_suspend
public static final SubLObject inference_suspend(SubLObject inference,
SubLObject suspend_status)
- Notes that INFERENCE is suspended.
inference_interrupt
public static final SubLObject inference_interrupt(SubLObject inference,
SubLObject patience)
- Parameters:
PATIENCE
- nil or non-negative-number-p.
nil means infinite patience, 0 means no patience.
Tries to gracefully interrupt INFERENCE. Gives up after PATIENCE
seconds and forcefully aborts it instead.
inference_interrupt_int
public static final SubLObject inference_interrupt_int(SubLObject inference)
- Wait forever for INFERENCE to interrupt itself gracefully.
inference_abort
public static final SubLObject inference_abort(SubLObject inference)
- Immediately forcefully aborts INFERENCE.
inference_abort_if_running
public static final SubLObject inference_abort_if_running(SubLObject inference)
- Immediately forcefully aborts INFERENCE if it is currently running.
inference_max_number_reachedP
public static final SubLObject inference_max_number_reachedP(SubLObject inference)
inference_max_time_reachedP
public static final SubLObject inference_max_time_reachedP(SubLObject inference)
inference_max_step_reachedP
public static final SubLObject inference_max_step_reachedP(SubLObject inference)
inference_max_problem_count_reachedP
public static final SubLObject inference_max_problem_count_reachedP(SubLObject inference)
inference_max_proof_count_reachedP
public static final SubLObject inference_max_proof_count_reachedP(SubLObject inference)
inference_probably_approximately_doneP
public static final SubLObject inference_probably_approximately_doneP(SubLObject inference)
inference_halt_condition_reachedP
public static final SubLObject inference_halt_condition_reachedP(SubLObject inference)
- Halt conditions are noted by overloading the suspend-status while the inference is still running.
inference_determine_type_independent_result
public static final SubLObject inference_determine_type_independent_result(SubLObject inference)
- Returns:
- nil or inference-suspend-status-p
Handles the inference-type-independent results; those that can be
determined without knowing the type of INFERENCE.
a NIL return value means that a type-independent result
cannot be determined.
strategy_type_from_sentence_and_static_properties
public static final SubLObject strategy_type_from_sentence_and_static_properties(SubLObject sentence,
SubLObject mt,
SubLObject static_properties)
strategy_type_from_dnf_and_static_properties
public static final SubLObject strategy_type_from_dnf_and_static_properties(SubLObject dnf,
SubLObject mt,
SubLObject static_properties)
strategy_type_from_static_properties
public static final SubLObject strategy_type_from_static_properties(SubLObject static_properties)
properties_indicate_forward_inferenceP
public static final SubLObject properties_indicate_forward_inferenceP(SubLObject static_properties)
inference_permits_transformationP
public static final SubLObject inference_permits_transformationP(SubLObject inference)
determine_best_strategy_type_for_inference
public static final SubLObject determine_best_strategy_type_for_inference(SubLObject inference)
consider_switching_strategies
public static final SubLObject consider_switching_strategies(SubLObject inference)
inference_switch_strategies
public static final SubLObject inference_switch_strategies(SubLObject inference,
SubLObject new_strategy_type)
- Causes INFERENCE to switch from its existing strategy to a new strategy of
NEW-STRATEGY-TYPE. Destroys the old strategy after the switch.
simplest_inference_run_handler
public static final SubLObject simplest_inference_run_handler(SubLObject inference)
- A meta-strategy which just tells the strategy to
do a bunch of steps in this thread, i.e. handle lots of :do-one-step events,
optionally block, possibly perform a problem store prune,
and halt when done (e.g. resource constraints exhausted)
- Returns:
- inference-suspend-status-p; the halt-reason.
inference_do_forward_propagation
public static final SubLObject inference_do_forward_propagation(SubLObject inference)
simplest_inference_doneP
public static final SubLObject simplest_inference_doneP(SubLObject inference)
possibly_wait_for_inference_to_unblock
public static final SubLObject possibly_wait_for_inference_to_unblock(SubLObject inference)
simplest_inference_possibly_prune
public static final SubLObject simplest_inference_possibly_prune(SubLObject inference)
inference_prune_frequency_reachedP
public static final SubLObject inference_prune_frequency_reachedP(SubLObject inference)
simplest_inference_determine_result
public static final SubLObject simplest_inference_determine_result(SubLObject inference,
SubLObject padP)
- Returns:
- nil or inference-suspend-status-p,
nil indicates it's not time to suspend yet (still more work to do)
simplest_inference_continuation_possibleP
public static final SubLObject simplest_inference_continuation_possibleP(SubLObject inference)
simplest_inference_exhaustedP
public static final SubLObject simplest_inference_exhaustedP(SubLObject inference)
inference_note_proof
public static final SubLObject inference_note_proof(SubLObject inference,
SubLObject proof)
inference_note_no_good
public static final SubLObject inference_note_no_good(SubLObject inference)
new_inference_answer_from_proof
public static final SubLObject new_inference_answer_from_proof(SubLObject inference,
SubLObject proof)
- Returns:
- inference-answer-p or NIL
inference_disallows_answer_from_bindingsP
public static final SubLObject inference_disallows_answer_from_bindingsP(SubLObject inference,
SubLObject answer_bindings)
inference_all_explanatory_proof_supports
public static final SubLObject inference_all_explanatory_proof_supports(SubLObject inference,
SubLObject proof)
inference_answer_bindings_from_proof
public static final SubLObject inference_answer_bindings_from_proof(SubLObject proof,
SubLObject inference)
- Returns:
- bindings which map INFERENCE's EL variables -> answers
filter_out_uninteresting_bindings
public static final SubLObject filter_out_uninteresting_bindings(SubLObject v_bindings,
SubLObject interesting_variables)
all_variables_in_bindings_interestingP
public static final SubLObject all_variables_in_bindings_interestingP(SubLObject v_bindings,
SubLObject interesting_variables)
compose_el_answer_bindings
public static final SubLObject compose_el_answer_bindings(SubLObject el_bindings,
SubLObject hl_bindings,
SubLObject free_el_vars,
SubLObject free_el_vars_policy)
- Parameters:
EL-BINDINGS;
- EL variables -> HL variablesHL-BINDINGS;
- HL variables -> answersFREE-EL-VARS;
- free EL variables in display preference orderFREE-EL-VARS-POLICY;
- the policy for handling free el variables in disjunctions
- Returns:
- bindings-p; EL variables -> answers.
Signals an error if the range of EL-BINDINGS and the domain of HL-BINDINGS are not
consistent under FREE-EL-VARS-POLICY.
inference_hl_bindings_from_proof
public static final SubLObject inference_hl_bindings_from_proof(SubLObject proof,
SubLObject inference)
- Returns:
- bindings which map INFERENCE's variables -> answers
inference_possibly_prune_processed_proofs
public static final SubLObject inference_possibly_prune_processed_proofs(SubLObject inference)
perform_inference_answer_proof_analysis
public static final SubLObject perform_inference_answer_proof_analysis(SubLObject answer,
SubLObject proof)
declare_inference_strategist_file
public static final SubLObject declare_inference_strategist_file()
init_inference_strategist_file
public static final SubLObject init_inference_strategist_file()
setup_inference_strategist_file
public static final SubLObject setup_inference_strategist_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.