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

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_strategist
All Implemented Interfaces:
CommonSymbols, SubLFile

public final class inference_strategist
extends SubLTranslatedFile


Nested Class Summary
 
Nested classes/interfaces inherited from class com.cyc.tool.subl.util.SubLTranslatedFile
SubLTranslatedFile.SubL
 
Field Summary
static SubLObject $const45$True
           
static SubLObject $const46$False
           
static SubLInteger $int88$200
           
static SubLInteger $int89$50
           
static SubLSymbol $kw10$NOT_ABORTED
           
static SubLSymbol $kw17$INFERENCE_ERROR
           
static SubLSymbol $kw28$CUSTOM
           
static SubLSymbol $kw29$UNSPECIFIED
           
static SubLSymbol $kw31$SUPPORTS
           
static SubLSymbol $kw32$BINDINGS_AND_SUPPORTS
           
static SubLSymbol $kw33$HL
           
static SubLSymbol $kw34$PROOF
           
static SubLSymbol $kw37$PREPARED
           
static SubLSymbol $kw4$INFERENCE_ABORT_TARGET
           
static SubLSymbol $kw41$ILL_FORMED
           
static SubLSymbol $kw42$NOT_AN_IMPLICATION
           
static SubLSymbol $kw43$TAUTOLOGY
           
static SubLSymbol $kw44$ALL
           
static SubLSymbol $kw47$CONTRADICTION
           
static SubLSymbol $kw55$READY
           
static SubLSymbol $kw58$UNINITIALIZED
           
static SubLSymbol $kw59$RUNNING
           
static SubLSymbol $kw61$ABORT
           
static SubLSymbol $kw62$SUSPENDED
           
static SubLSymbol $kw63$MAX_PROBLEM_COUNT
           
static SubLSymbol $kw64$MAX_NUMBER
           
static SubLSymbol $kw65$MAX_TIME
           
static SubLSymbol $kw66$MAX_STEP
           
static SubLSymbol $kw67$PROBABLY_APPROXIMATELY_DONE
           
static SubLSymbol $kw72$INTERRUPT
           
static SubLSymbol $kw73$MAX_PROOF_COUNT
           
static SubLSymbol $kw74$HEURISTIC_BALANCED
           
static SubLSymbol $kw75$REMOVAL
           
static SubLSymbol $kw76$BALANCING
           
static SubLSymbol $kw77$EXHAUST
           
static SubLSymbol $kw80$EXHAUST_TOTAL
           
static SubLSymbol $kw84$COMPUTE_UNION
           
static SubLSymbol $kw92$TRUE
           
static SubLSymbol $kw93$FALSE
           
static SubLList $list0
           
static SubLList $list21
           
static SubLList $list22
           
static SubLList $list27
           
static SubLList $list39
           
static SubLList $list5
           
static SubLList $list8
           
static SubLList $list82
           
static SubLList $list9
           
static SubLList $list94
           
static SubLList $list95
           
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.
static SubLSymbol $processed_proof_pruning_initial_threshold$
          Once an inference has achieved this many proofs, we consider pruning processed proofs.
static SubLString $str101$WITH_QUERY_ABORT_TIMEOUT_client
           
static SubLString $str102$WITH_QUERY_ABORT_TIMEOUT_timer
           
static SubLString $str11$Interruptor
           
static SubLString $str36$can_t_handle_non_simplest_inferen
           
static SubLString $str40$Invalid_attempt_to_reuse_memoizat
           
static SubLString $str50$Time_to_support_disjunctive___pra
           
static SubLString $str52$can_t_handle_non_simple_inference
           
static SubLString $str69$Inference_control_process_was_kil
           
static SubLString $str78$Non_continuable_inference_should_
           
static SubLString $str79$Crazy_amount_of_problems___a__in_
           
static SubLString $str87$Expected_a_one_to_one_match_betwe
           
static SubLSymbol $sym1$ABORTED_P
           
static SubLSymbol $sym100$WITH_QUERY_ABORT_TIMEOUT
           
static SubLSymbol $sym103$WITH_QUERY_ABORT_TIMEOUT_TIMER_THREAD
           
static SubLSymbol $sym104$QUERY_ABORT
           
static SubLSymbol $sym12$QUERY_INTERRUPT_INT
           
static SubLSymbol $sym13$ERROR_MESSAGE
           
static SubLSymbol $sym14$PIF
           
static SubLSymbol $sym15$_INFERENCE_DEBUG__
           
static SubLSymbol $sym16$PROGN
           
static SubLSymbol $sym18$WITH_INFERENCE_ERROR_HANDLING
           
static SubLSymbol $sym19$NEW_INFERENCE_ERROR_SUSPEND_STATUS
           
static SubLSymbol $sym2$CLET
           
static SubLSymbol $sym20$WITH_ERROR_HANDLER
           
static SubLSymbol $sym23$ABORT_MAX_TIME
           
static SubLSymbol $sym24$TIMED_OUT
           
static SubLSymbol $sym25$PCOND
           
static SubLSymbol $sym26$WITH_TIMEOUT
           
static SubLSymbol $sym3$CCATCH
           
static SubLSymbol $sym30$INFERENCE_P
           
static SubLSymbol $sym35$NEW_INFERENCE_P
           
static SubLSymbol $sym38$SIMPLEST_INFERENCE_P
           
static SubLSymbol $sym48$DNF_P
           
static SubLSymbol $sym49$LISTP
           
static SubLSymbol $sym51$HL_VARIABLE_P
           
static SubLSymbol $sym53$CONTINUABLE_INFERENCE_P
           
static SubLSymbol $sym54$QUERY_DYNAMIC_PROPERTIES_P
           
static SubLSymbol $sym56$INFERENCE_DYNAMIC_PROPERTIES_P
           
static SubLSymbol $sym57$READY_INFERENCE_P
           
static SubLSymbol $sym6$PWHEN
           
static SubLSymbol $sym60$INFERENCE_ERROR_HANDLER
           
static SubLSymbol $sym68$RUNNING_INFERENCE_P
           
static SubLSymbol $sym7$CSETQ
           
static SubLSymbol $sym70$POSITIVE_NUMBER_P
           
static SubLSymbol $sym71$SIGNAL_INFERENCE_CONTROL_PROCESS_ABORT
           
static SubLSymbol $sym81$PROOF_P
           
static SubLSymbol $sym83$TERM_REQUIRES_HL_LANGUAGE
           
static SubLSymbol $sym85$VARIABLE_BINDING_VALUE
           
static SubLSymbol $sym86$VARIABLE_BINDING_VARIABLE
           
static SubLSymbol $sym90$ATOMIC_CLAUSES_P
           
static SubLSymbol $sym91$ATOMIC_CLAUSE_P
           
static SubLSymbol $sym96$TIMER
           
static SubLSymbol $sym97$CUNWIND_PROTECT
           
static SubLSymbol $sym98$WITH_QUERY_ABORT_TIMEOUT_START_TIMER
           
static SubLSymbol $sym99$WITH_QUERY_ABORT_TIMEOUT_STOP_TIMER
           
static SubLSymbol $within_inference_control_processP$
           
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 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 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

$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
Method Detail

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 variables
HL-BINDINGS; - HL variables -> answers
FREE-EL-VARS; - free EL variables in display preference order
FREE-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.