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

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

public final class inference_strategic_heuristics
extends SubLTranslatedFile


Nested Class Summary
static class inference_strategic_heuristics.$strategic_heuristic_backchain_required$BinaryFunction
           
static class inference_strategic_heuristics.$strategic_heuristic_completeness$BinaryFunction
           
static class inference_strategic_heuristics.$strategic_heuristic_magic_wand$BinaryFunction
           
static class inference_strategic_heuristics.$strategic_heuristic_occams_razor$BinaryFunction
           
static class inference_strategic_heuristics.$strategic_heuristic_relevant_term$BinaryFunction
           
static class inference_strategic_heuristics.$strategic_heuristic_rule_a_priori_utility$BinaryFunction
           
static class inference_strategic_heuristics.$strategic_heuristic_rule_historical_utility$BinaryFunction
           
static class inference_strategic_heuristics.$strategic_heuristic_rule_literal_count$BinaryFunction
           
static class inference_strategic_heuristics.$strategic_heuristic_shallow_and_cheap$BinaryFunction
           
 
Nested classes/interfaces inherited from class com.cyc.tool.subl.util.SubLTranslatedFile
SubLTranslatedFile.SubL
 
Field Summary
static SubLSymbol $highly_relevant_term_enabledP$
          When t, the Heuristic tactician will prefer problems which mention highlyRelevantTerms.
static SubLInteger $int39$_100
           
static SubLInteger $int50$400
           
static SubLInteger $int55$100
           
static SubLSymbol $kw20$FUNCTION
           
static SubLSymbol $kw21$SCALING_FACTOR
           
static SubLSymbol $kw22$PRETTY_NAME
           
static SubLSymbol $kw23$COMMENT
           
static SubLSymbol $kw24$TACTIC_TYPE
           
static SubLSymbol $kw25$SHALLOW_AND_CHEAP
           
static SubLSymbol $kw28$UNDETERMINED
           
static SubLSymbol $kw31$_MEMOIZED_ITEM_NOT_FOUND_
           
static SubLSymbol $kw32$COMPLETENESS
           
static SubLSymbol $kw34$COMPLETE
           
static SubLSymbol $kw36$OCCAMS_RAZOR
           
static SubLSymbol $kw40$INTUITIVE
           
static SubLSymbol $kw42$MAGIC_WAND
           
static SubLSymbol $kw44$INCOMPLETE
           
static SubLSymbol $kw46$BACKTRACKING_CONSIDERED_HARMFUL
           
static SubLSymbol $kw5$ALLOW_OTHER_KEYS
           
static SubLSymbol $kw51$CONNECTED_CONJUNCTION
           
static SubLSymbol $kw52$EXECUTED
           
static SubLSymbol $kw53$BACKCHAIN_REQUIRED
           
static SubLSymbol $kw57$RULE_A_PRIORI_UTILITY
           
static SubLSymbol $kw59$LOOP
           
static SubLSymbol $kw6$TACTIC
           
static SubLSymbol $kw63$RELEVANT_TERM
           
static SubLSymbol $kw66$NEG
           
static SubLSymbol $kw68$POS
           
static SubLSymbol $kw7$DONE
           
static SubLSymbol $kw70$RULE_HISTORICAL_UTILITY
           
static SubLSymbol $kw76$RULE_HISTORICAL_CONNECTEDNESS
           
static SubLSymbol $kw86$LITERAL_COUNT
           
static SubLSymbol $kw89$RULE_LITERAL_COUNT
           
static SubLSymbol $kw94$SKOLEM_COUNT
           
static SubLList $list10
           
static SubLList $list18
           
static SubLList $list19
           
static SubLList $list26
           
static SubLList $list3
           
static SubLList $list33
           
static SubLList $list37
           
static SubLList $list38
           
static SubLList $list4
           
static SubLList $list43
           
static SubLList $list47
           
static SubLList $list48
           
static SubLList $list54
           
static SubLList $list58
           
static SubLList $list64
           
static SubLList $list67
           
static SubLList $list71
           
static SubLList $list77
           
static SubLList $list87
           
static SubLList $list90
           
static SubLList $list92
           
static SubLList $list93
           
static SubLList $list95
           
static SubLList $list98
           
static SubLSymbol $sym0$_STRATEGIC_HEURISTIC_INDEX_
           
static SubLSymbol $sym1$STRATEGIC_HEURISTIC_INDEX
           
static SubLSymbol $sym100$THIRD
           
static SubLSymbol $sym101$FOURTH
           
static SubLSymbol $sym11$CLET
           
static SubLSymbol $sym12$STRATEGIC_HEURISTIC_FUNCTION
           
static SubLSymbol $sym13$STRATEGIC_HEURISTIC_SCALING_FACTOR
           
static SubLSymbol $sym14$STRATEGIC_HEURISTIC_TACTIC_TYPE
           
static SubLSymbol $sym15$PWHEN
           
static SubLSymbol $sym16$DO_STRATEGIC_HEURISTICS_TACTIC_MATCH_P
           
static SubLSymbol $sym17$KEYWORDP
           
static SubLSymbol $sym2$DO_STRATEGIC_HEURISTICS
           
static SubLSymbol $sym27$STRATEGIC_HEURISTIC_SHALLOW_AND_CHEAP
           
static SubLSymbol $sym29$TACTIC_STRATEGIC_USELESSNESS_BASED_ON_PROOF_DEPTH_MATH_MEMOIZED
           
static SubLSymbol $sym30$_TACTIC_STRATEGIC_USELESSNESS_BASED_ON_PROOF_DEPTH_MATH_MEMOIZED_
           
static SubLSymbol $sym35$STRATEGIC_HEURISTIC_COMPLETENESS
           
static SubLSymbol $sym41$STRATEGIC_HEURISTIC_OCCAMS_RAZOR
           
static SubLSymbol $sym45$STRATEGIC_HEURISTIC_MAGIC_WAND
           
static SubLSymbol $sym49$STRATEGIC_HEURISTIC_BACKTRACKING
           
static SubLSymbol $sym56$STRATEGIC_HEURISTIC_BACKCHAIN_REQUIRED
           
static SubLSymbol $sym60$STRATEGIC_HEURISTIC_RULE_A_PRIORI_UTILITY
           
static SubLSymbol $sym61$COUNT_A_PRIORI_UTILITY_RECURSIVE
           
static SubLSymbol $sym62$TRANSFORMATION_RULE_A_PRIORI_UTILITY_HAPPINESS
           
static SubLSymbol $sym65$STRATEGIC_HEURISTIC_RELEVANT_TERM
           
static SubLSymbol $sym69$ACCUMULATE_RELEVANT_OR_IRRELEVANT_TERM_COUNT
           
static SubLSymbol $sym72$STRATEGIC_HEURISTIC_RULE_HISTORICAL_UTILITY
           
static SubLSymbol $sym73$COMPUTE_PROBLEM_RULE_HISTORICAL_UTILITY_RECURSIVE
           
static SubLSymbol $sym74$TRANSFORMATION_RULE_UTILITY
           
static SubLSymbol $sym75$RULE_ASSERTION_
           
static SubLSymbol $sym78$STRATEGIC_HEURISTIC_RULE_HISTORICAL_CONNECTEDNESS
           
static SubLSymbol $sym79$CACHED_PROBLEM_LINK_PATHS_RELEVANT_TO_INFERENCE
           
static SubLSymbol $sym8$TACTIC_TYPE
           
static SubLSymbol $sym80$PROBLEM_P
           
static SubLSymbol $sym81$INFERENCE_P
           
static SubLSymbol $sym82$PROBLEM_LINK_PATH_RULE_SET
           
static SubLSymbol $sym83$TACTIC_P
           
static SubLSymbol $sym84$_
           
static SubLSymbol $sym85$ASSERTION_ID
           
static SubLSymbol $sym88$STRATEGIC_HEURISTIC_LITERAL_COUNT
           
static SubLSymbol $sym9$DO_DICTIONARY_KEYS
           
static SubLSymbol $sym91$STRATEGIC_HEURISTIC_RULE_LITERAL_COUNT
           
static SubLSymbol $sym96$STRATEGIC_HEURISTIC_SKOLEM_COUNT
           
static SubLSymbol $sym97$SKOLEM_FUNCTION_P
           
static SubLSymbol $sym99$HAPPINESS__
           
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 compute_problem_rule_historical_utility_recursive_internal(SubLObject problem, SubLObject inference)
           
static SubLObject compute_problem_rule_historical_utility_recursive(SubLObject problem, SubLObject inference)
           
static SubLObject compute_tactic_rule_historical_utility(SubLObject tactic)
           
static SubLObject count_a_priori_utility_recursive_internal(SubLObject problem, SubLObject inference)
           
static SubLObject count_a_priori_utility_recursive(SubLObject problem, SubLObject inference)
           
static SubLObject declare_inference_strategic_heuristics_file()
           
static SubLObject declare_strategic_heuristic(SubLObject heuristic, SubLObject plist)
           
 void declareFunctions()
          Declares the mapping between functions and symbols for all named functions defined in the file.
static SubLObject determine_tactic_heuristic_relevance_delta(SubLObject tactic)
           
static SubLObject do_strategic_heuristics_tactic_match_p(SubLObject tactic, SubLObject tactic_type)
           
static SubLObject init_inference_strategic_heuristics_file()
           
 void initializeVariables()
          Initializes all global variables and private internal variables for constants defined in the file.
static SubLObject new_strategic_heuristic_data(SubLObject function, SubLObject scaling_factor, SubLObject pretty_name, SubLObject comment, SubLObject tactic_type)
           
static SubLObject numeric_table_lookup(SubLObject n, SubLObject lookup_table, SubLObject v_default)
          Return a value associated with the numeric argument N via a table lookup.
static SubLObject problem_on_heuristic_rule_a_priori_utility_stackP(SubLObject problem)
           
static SubLObject problem_on_rule_historical_utility_stackP(SubLObject problem)
           
static SubLObject problem_skolem_count(SubLObject problem)
           
static SubLObject productivity_for_shallow_and_cheap_heuristic(SubLObject content_tactic, SubLObject strategy)
           
static SubLObject push_problem_onto_heuristic_rule_a_priori_utility_stack(SubLObject problem)
           
static SubLObject push_problem_onto_rule_historical_utility_stack(SubLObject problem)
           
static SubLObject rule_has_utility_wrt_problemP(SubLObject rule, SubLObject problem)
           
static SubLObject rule_irrelevant_to_problemP(SubLObject rule, SubLObject problem)
           
static SubLObject rule_relevant_to_problemP(SubLObject rule, SubLObject problem)
           
 void runTopLevelForms()
          Runs all top-level forms in order.
static SubLObject setup_inference_strategic_heuristics_file()
           
static SubLObject strategic_heuristic_backchain_required(SubLObject strategy, SubLObject transformation_tactic)
           
static SubLObject strategic_heuristic_completeness(SubLObject strategy, SubLObject content_tactic)
           
static SubLObject strategic_heuristic_function(SubLObject heuristic)
           
static SubLObject strategic_heuristic_happiness_due_to_literal_count(SubLObject literal_count)
           
static SubLObject strategic_heuristic_happiness_due_to_skolem_count(SubLObject skolem_count)
           
static SubLObject strategic_heuristic_index()
           
static SubLObject strategic_heuristic_magic_wand(SubLObject strategy, SubLObject generalized_removal_tactic)
           
static SubLObject strategic_heuristic_occams_razor(SubLObject strategy, SubLObject content_tactic)
           
static SubLObject strategic_heuristic_relevant_term(SubLObject strategy, SubLObject content_tactic)
           
static SubLObject strategic_heuristic_rule_a_priori_utility(SubLObject strategy, SubLObject content_tactic)
           
static SubLObject strategic_heuristic_rule_historical_utility(SubLObject strategy, SubLObject content_tactic)
           
static SubLObject strategic_heuristic_rule_literal_count(SubLObject strategy, SubLObject transformation_tactic)
           
static SubLObject strategic_heuristic_scaling_factor(SubLObject heuristic)
           
static SubLObject strategic_heuristic_shallow_and_cheap(SubLObject strategy, SubLObject content_tactic)
           
static SubLObject strategic_heuristic_skolem_count(SubLObject strategy, SubLObject logical_tactic)
           
static SubLObject strategic_heuristic_tactic_type(SubLObject heuristic)
           
static SubLObject tactic_strategic_uselessness_based_on_proof_depth_math_memoized_internal(SubLObject min_proof_depth)
           
static SubLObject tactic_strategic_uselessness_based_on_proof_depth_math_memoized(SubLObject min_proof_depth)
           
static SubLObject tactic_strategic_uselessness_based_on_proof_depth(SubLObject tactic, SubLObject strategy)
           
static SubLObject transformation_tactic_has_utilityP(SubLObject transformation_tactic)
           
static SubLObject transformation_tactic_irrelevantP(SubLObject transformation_tactic)
           
static SubLObject transformation_tactic_relevantP(SubLObject transformation_tactic)
           
 
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

$highly_relevant_term_enabledP$

public static SubLSymbol $highly_relevant_term_enabledP$
When t, the Heuristic tactician will prefer problems which mention highlyRelevantTerms.


$sym0$_STRATEGIC_HEURISTIC_INDEX_

public static final SubLSymbol $sym0$_STRATEGIC_HEURISTIC_INDEX_

$sym1$STRATEGIC_HEURISTIC_INDEX

public static final SubLSymbol $sym1$STRATEGIC_HEURISTIC_INDEX

$sym2$DO_STRATEGIC_HEURISTICS

public static final SubLSymbol $sym2$DO_STRATEGIC_HEURISTICS

$list3

public static final SubLList $list3

$list4

public static final SubLList $list4

$kw5$ALLOW_OTHER_KEYS

public static final SubLSymbol $kw5$ALLOW_OTHER_KEYS

$kw6$TACTIC

public static final SubLSymbol $kw6$TACTIC

$kw7$DONE

public static final SubLSymbol $kw7$DONE

$sym8$TACTIC_TYPE

public static final SubLSymbol $sym8$TACTIC_TYPE

$sym9$DO_DICTIONARY_KEYS

public static final SubLSymbol $sym9$DO_DICTIONARY_KEYS

$list10

public static final SubLList $list10

$sym11$CLET

public static final SubLSymbol $sym11$CLET

$sym12$STRATEGIC_HEURISTIC_FUNCTION

public static final SubLSymbol $sym12$STRATEGIC_HEURISTIC_FUNCTION

$sym13$STRATEGIC_HEURISTIC_SCALING_FACTOR

public static final SubLSymbol $sym13$STRATEGIC_HEURISTIC_SCALING_FACTOR

$sym14$STRATEGIC_HEURISTIC_TACTIC_TYPE

public static final SubLSymbol $sym14$STRATEGIC_HEURISTIC_TACTIC_TYPE

$sym15$PWHEN

public static final SubLSymbol $sym15$PWHEN

$sym16$DO_STRATEGIC_HEURISTICS_TACTIC_MATCH_P

public static final SubLSymbol $sym16$DO_STRATEGIC_HEURISTICS_TACTIC_MATCH_P

$sym17$KEYWORDP

public static final SubLSymbol $sym17$KEYWORDP

$list18

public static final SubLList $list18

$list19

public static final SubLList $list19

$kw20$FUNCTION

public static final SubLSymbol $kw20$FUNCTION

$kw21$SCALING_FACTOR

public static final SubLSymbol $kw21$SCALING_FACTOR

$kw22$PRETTY_NAME

public static final SubLSymbol $kw22$PRETTY_NAME

$kw23$COMMENT

public static final SubLSymbol $kw23$COMMENT

$kw24$TACTIC_TYPE

public static final SubLSymbol $kw24$TACTIC_TYPE

$kw25$SHALLOW_AND_CHEAP

public static final SubLSymbol $kw25$SHALLOW_AND_CHEAP

$list26

public static final SubLList $list26

$sym27$STRATEGIC_HEURISTIC_SHALLOW_AND_CHEAP

public static final SubLSymbol $sym27$STRATEGIC_HEURISTIC_SHALLOW_AND_CHEAP

$kw28$UNDETERMINED

public static final SubLSymbol $kw28$UNDETERMINED

$sym29$TACTIC_STRATEGIC_USELESSNESS_BASED_ON_PROOF_DEPTH_MATH_MEMOIZED

public static final SubLSymbol $sym29$TACTIC_STRATEGIC_USELESSNESS_BASED_ON_PROOF_DEPTH_MATH_MEMOIZED

$sym30$_TACTIC_STRATEGIC_USELESSNESS_BASED_ON_PROOF_DEPTH_MATH_MEMOIZED_

public static final SubLSymbol $sym30$_TACTIC_STRATEGIC_USELESSNESS_BASED_ON_PROOF_DEPTH_MATH_MEMOIZED_

$kw31$_MEMOIZED_ITEM_NOT_FOUND_

public static final SubLSymbol $kw31$_MEMOIZED_ITEM_NOT_FOUND_

$kw32$COMPLETENESS

public static final SubLSymbol $kw32$COMPLETENESS

$list33

public static final SubLList $list33

$kw34$COMPLETE

public static final SubLSymbol $kw34$COMPLETE

$sym35$STRATEGIC_HEURISTIC_COMPLETENESS

public static final SubLSymbol $sym35$STRATEGIC_HEURISTIC_COMPLETENESS

$kw36$OCCAMS_RAZOR

public static final SubLSymbol $kw36$OCCAMS_RAZOR

$list37

public static final SubLList $list37

$list38

public static final SubLList $list38

$int39$_100

public static final SubLInteger $int39$_100

$kw40$INTUITIVE

public static final SubLSymbol $kw40$INTUITIVE

$sym41$STRATEGIC_HEURISTIC_OCCAMS_RAZOR

public static final SubLSymbol $sym41$STRATEGIC_HEURISTIC_OCCAMS_RAZOR

$kw42$MAGIC_WAND

public static final SubLSymbol $kw42$MAGIC_WAND

$list43

public static final SubLList $list43

$kw44$INCOMPLETE

public static final SubLSymbol $kw44$INCOMPLETE

$sym45$STRATEGIC_HEURISTIC_MAGIC_WAND

public static final SubLSymbol $sym45$STRATEGIC_HEURISTIC_MAGIC_WAND

$kw46$BACKTRACKING_CONSIDERED_HARMFUL

public static final SubLSymbol $kw46$BACKTRACKING_CONSIDERED_HARMFUL

$list47

public static final SubLList $list47

$list48

public static final SubLList $list48

$sym49$STRATEGIC_HEURISTIC_BACKTRACKING

public static final SubLSymbol $sym49$STRATEGIC_HEURISTIC_BACKTRACKING

$int50$400

public static final SubLInteger $int50$400

$kw51$CONNECTED_CONJUNCTION

public static final SubLSymbol $kw51$CONNECTED_CONJUNCTION

$kw52$EXECUTED

public static final SubLSymbol $kw52$EXECUTED

$kw53$BACKCHAIN_REQUIRED

public static final SubLSymbol $kw53$BACKCHAIN_REQUIRED

$list54

public static final SubLList $list54

$int55$100

public static final SubLInteger $int55$100

$sym56$STRATEGIC_HEURISTIC_BACKCHAIN_REQUIRED

public static final SubLSymbol $sym56$STRATEGIC_HEURISTIC_BACKCHAIN_REQUIRED

$kw57$RULE_A_PRIORI_UTILITY

public static final SubLSymbol $kw57$RULE_A_PRIORI_UTILITY

$list58

public static final SubLList $list58

$kw59$LOOP

public static final SubLSymbol $kw59$LOOP

$sym60$STRATEGIC_HEURISTIC_RULE_A_PRIORI_UTILITY

public static final SubLSymbol $sym60$STRATEGIC_HEURISTIC_RULE_A_PRIORI_UTILITY

$sym61$COUNT_A_PRIORI_UTILITY_RECURSIVE

public static final SubLSymbol $sym61$COUNT_A_PRIORI_UTILITY_RECURSIVE

$sym62$TRANSFORMATION_RULE_A_PRIORI_UTILITY_HAPPINESS

public static final SubLSymbol $sym62$TRANSFORMATION_RULE_A_PRIORI_UTILITY_HAPPINESS

$kw63$RELEVANT_TERM

public static final SubLSymbol $kw63$RELEVANT_TERM

$list64

public static final SubLList $list64

$sym65$STRATEGIC_HEURISTIC_RELEVANT_TERM

public static final SubLSymbol $sym65$STRATEGIC_HEURISTIC_RELEVANT_TERM

$kw66$NEG

public static final SubLSymbol $kw66$NEG

$list67

public static final SubLList $list67

$kw68$POS

public static final SubLSymbol $kw68$POS

$sym69$ACCUMULATE_RELEVANT_OR_IRRELEVANT_TERM_COUNT

public static final SubLSymbol $sym69$ACCUMULATE_RELEVANT_OR_IRRELEVANT_TERM_COUNT

$kw70$RULE_HISTORICAL_UTILITY

public static final SubLSymbol $kw70$RULE_HISTORICAL_UTILITY

$list71

public static final SubLList $list71

$sym72$STRATEGIC_HEURISTIC_RULE_HISTORICAL_UTILITY

public static final SubLSymbol $sym72$STRATEGIC_HEURISTIC_RULE_HISTORICAL_UTILITY

$sym73$COMPUTE_PROBLEM_RULE_HISTORICAL_UTILITY_RECURSIVE

public static final SubLSymbol $sym73$COMPUTE_PROBLEM_RULE_HISTORICAL_UTILITY_RECURSIVE

$sym74$TRANSFORMATION_RULE_UTILITY

public static final SubLSymbol $sym74$TRANSFORMATION_RULE_UTILITY

$sym75$RULE_ASSERTION_

public static final SubLSymbol $sym75$RULE_ASSERTION_

$kw76$RULE_HISTORICAL_CONNECTEDNESS

public static final SubLSymbol $kw76$RULE_HISTORICAL_CONNECTEDNESS

$list77

public static final SubLList $list77

$sym78$STRATEGIC_HEURISTIC_RULE_HISTORICAL_CONNECTEDNESS

public static final SubLSymbol $sym78$STRATEGIC_HEURISTIC_RULE_HISTORICAL_CONNECTEDNESS

$sym79$CACHED_PROBLEM_LINK_PATHS_RELEVANT_TO_INFERENCE

public static final SubLSymbol $sym79$CACHED_PROBLEM_LINK_PATHS_RELEVANT_TO_INFERENCE

$sym80$PROBLEM_P

public static final SubLSymbol $sym80$PROBLEM_P

$sym81$INFERENCE_P

public static final SubLSymbol $sym81$INFERENCE_P

$sym82$PROBLEM_LINK_PATH_RULE_SET

public static final SubLSymbol $sym82$PROBLEM_LINK_PATH_RULE_SET

$sym83$TACTIC_P

public static final SubLSymbol $sym83$TACTIC_P

$sym84$_

public static final SubLSymbol $sym84$_

$sym85$ASSERTION_ID

public static final SubLSymbol $sym85$ASSERTION_ID

$kw86$LITERAL_COUNT

public static final SubLSymbol $kw86$LITERAL_COUNT

$list87

public static final SubLList $list87

$sym88$STRATEGIC_HEURISTIC_LITERAL_COUNT

public static final SubLSymbol $sym88$STRATEGIC_HEURISTIC_LITERAL_COUNT

$kw89$RULE_LITERAL_COUNT

public static final SubLSymbol $kw89$RULE_LITERAL_COUNT

$list90

public static final SubLList $list90

$sym91$STRATEGIC_HEURISTIC_RULE_LITERAL_COUNT

public static final SubLSymbol $sym91$STRATEGIC_HEURISTIC_RULE_LITERAL_COUNT

$list92

public static final SubLList $list92

$list93

public static final SubLList $list93

$kw94$SKOLEM_COUNT

public static final SubLSymbol $kw94$SKOLEM_COUNT

$list95

public static final SubLList $list95

$sym96$STRATEGIC_HEURISTIC_SKOLEM_COUNT

public static final SubLSymbol $sym96$STRATEGIC_HEURISTIC_SKOLEM_COUNT

$sym97$SKOLEM_FUNCTION_P

public static final SubLSymbol $sym97$SKOLEM_FUNCTION_P

$list98

public static final SubLList $list98

$sym99$HAPPINESS__

public static final SubLSymbol $sym99$HAPPINESS__

$sym100$THIRD

public static final SubLSymbol $sym100$THIRD

$sym101$FOURTH

public static final SubLSymbol $sym101$FOURTH
Method Detail

strategic_heuristic_index

public static final SubLObject strategic_heuristic_index()

do_strategic_heuristics_tactic_match_p

public static final SubLObject do_strategic_heuristics_tactic_match_p(SubLObject tactic,
                                                                      SubLObject tactic_type)

new_strategic_heuristic_data

public static final SubLObject new_strategic_heuristic_data(SubLObject function,
                                                            SubLObject scaling_factor,
                                                            SubLObject pretty_name,
                                                            SubLObject comment,
                                                            SubLObject tactic_type)

declare_strategic_heuristic

public static final SubLObject declare_strategic_heuristic(SubLObject heuristic,
                                                           SubLObject plist)
Parameters:
HEURISTIC - keywordp; a token for the heuristic being declared.
FUNCTION - symbolp; a function with the arglist (strategy tactic) which returns a happiness-p.
SCALING-FACTOR - potentially-infinite-integer-p; how important this heuristic is relative to the other heuristics. A relative weight.
TACTIC-TYPE - tactic-type-spec-p; the type of tactics HEURISTIC applies to. The happiness returned by FUNCTION should be between -100 and 100. (although some extant heuristics disobey this.) -100 = strongly disfavor (estimated 0% chance of success) 0 = agnostic (estimated A% chance of success, i.e. random chance) 100 = strongly favor (estimated 100% chance of success) 'A%' in the above guidelines is the probability that executing an arbitrary tactic will lead to success. The happiness should be proportional to the estimated likelihood, according to this heuristic, that executing TACTIC will lead toward success (i.e. proofs). For example, if A were 10%, and a tactic that is guessed to be 20% likely to succeed yields a happiness of 25, then a tactic that is guessed to be 30% likely to succeed should have a happiness of 50. It's okay for it to scale off more steeply at 100% because success is relatively rare.

strategic_heuristic_function

public static final SubLObject strategic_heuristic_function(SubLObject heuristic)
Returns:
nil or symbolp

strategic_heuristic_scaling_factor

public static final SubLObject strategic_heuristic_scaling_factor(SubLObject heuristic)
Returns:
nil or potentially-infinite-integer-p

strategic_heuristic_tactic_type

public static final SubLObject strategic_heuristic_tactic_type(SubLObject heuristic)
Returns:
nil or tactic-type-spec-p; the type of tactic that HEURISTIC applies to

strategic_heuristic_shallow_and_cheap

public static final SubLObject strategic_heuristic_shallow_and_cheap(SubLObject strategy,
                                                                     SubLObject content_tactic)

productivity_for_shallow_and_cheap_heuristic

public static final SubLObject productivity_for_shallow_and_cheap_heuristic(SubLObject content_tactic,
                                                                            SubLObject strategy)

tactic_strategic_uselessness_based_on_proof_depth

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

tactic_strategic_uselessness_based_on_proof_depth_math_memoized_internal

public static final SubLObject tactic_strategic_uselessness_based_on_proof_depth_math_memoized_internal(SubLObject min_proof_depth)

tactic_strategic_uselessness_based_on_proof_depth_math_memoized

public static final SubLObject tactic_strategic_uselessness_based_on_proof_depth_math_memoized(SubLObject min_proof_depth)

strategic_heuristic_completeness

public static final SubLObject strategic_heuristic_completeness(SubLObject strategy,
                                                                SubLObject content_tactic)

strategic_heuristic_occams_razor

public static final SubLObject strategic_heuristic_occams_razor(SubLObject strategy,
                                                                SubLObject content_tactic)

strategic_heuristic_magic_wand

public static final SubLObject strategic_heuristic_magic_wand(SubLObject strategy,
                                                              SubLObject generalized_removal_tactic)

strategic_heuristic_backchain_required

public static final SubLObject strategic_heuristic_backchain_required(SubLObject strategy,
                                                                      SubLObject transformation_tactic)
Returns:
happiness-p; return 100 iff TRANSFORMATION-TACTIC transforms a single literal problem with a #$backchainRequired predicate. Otherwise, return 0.

strategic_heuristic_rule_a_priori_utility

public static final SubLObject strategic_heuristic_rule_a_priori_utility(SubLObject strategy,
                                                                         SubLObject content_tactic)
Returns:
happiness-p; between -100 and 100. positive if CONTENT-TACTIC's problem has any supported* problem with a dependent transformation link which used a highlyRelevantAssertion. negative if CONTENT-TACTIC's problem has any supported* problem with a dependent transformation link which used an irrelevantAssertion. If there is a mix, it will take a percentage, with -100/+100 being 100% irrelevant/relevant. 0 indicates agnostic. A special case is that zero dependent* transformation links yield a value of 100 instead of 0, otherwise the Tactician will prefer highly relevant transformations over removals.

push_problem_onto_heuristic_rule_a_priori_utility_stack

public static final SubLObject push_problem_onto_heuristic_rule_a_priori_utility_stack(SubLObject problem)

problem_on_heuristic_rule_a_priori_utility_stackP

public static final SubLObject problem_on_heuristic_rule_a_priori_utility_stackP(SubLObject problem)

count_a_priori_utility_recursive_internal

public static final SubLObject count_a_priori_utility_recursive_internal(SubLObject problem,
                                                                         SubLObject inference)
Returns:
0; the number of PROBLEM's dependent* highly relevant assertions minus the number of PROBLEM's dependent* irrelevant assertions (wrt INFERENCE).

count_a_priori_utility_recursive

public static final SubLObject count_a_priori_utility_recursive(SubLObject problem,
                                                                SubLObject inference)

determine_tactic_heuristic_relevance_delta

public static final SubLObject determine_tactic_heuristic_relevance_delta(SubLObject tactic)

transformation_tactic_relevantP

public static final SubLObject transformation_tactic_relevantP(SubLObject transformation_tactic)
Returns:
boolean; TRANSFORMATION-TACTIC's rule has a #$highlyRelevantAssertion meta-assertion on it, and the mt of the meta-assertion is visible from the mt of TRANSFORMATION-TACTIC's problem. If there is no rule, be conservative and return NIL.

transformation_tactic_irrelevantP

public static final SubLObject transformation_tactic_irrelevantP(SubLObject transformation_tactic)
Returns:
boolean; TRANSFORMATION-TACTIC's rule has an #$irrelevantAssertion meta-assertion on it, and the mt of the meta-assertion is visible from the mt of TRANSFORMATION-TACTIC's problem. If there is no rule, be conservative and return NIL.

transformation_tactic_has_utilityP

public static final SubLObject transformation_tactic_has_utilityP(SubLObject transformation_tactic)

rule_relevant_to_problemP

public static final SubLObject rule_relevant_to_problemP(SubLObject rule,
                                                         SubLObject problem)

rule_irrelevant_to_problemP

public static final SubLObject rule_irrelevant_to_problemP(SubLObject rule,
                                                           SubLObject problem)

rule_has_utility_wrt_problemP

public static final SubLObject rule_has_utility_wrt_problemP(SubLObject rule,
                                                             SubLObject problem)

strategic_heuristic_relevant_term

public static final SubLObject strategic_heuristic_relevant_term(SubLObject strategy,
                                                                 SubLObject content_tactic)
Returns:
happiness-p; between -100 and 100. Gets +20 for each #$highlyRelevantTerm in CONTENT-TACTIC's problem (relevance determined from the context of the appropriate contextualized literal) and -20 for each #$irrelevantTerm. Maxes/mins out at -100/100.

strategic_heuristic_rule_historical_utility

public static final SubLObject strategic_heuristic_rule_historical_utility(SubLObject strategy,
                                                                           SubLObject content_tactic)
Returns:
happiness-p; between -100 and 100. positive if CONTENT-TACTIC's problem has any supported* problem with a dependent transformation link which uses a historically useful rule. negative if CONTENT-TACTIC's problem has any supported* problem with a dependent transformation link which uses a historically useless rule. If there is a mix, it will take a percentage, with -100/+100 being 100% irrelevant/relevant. 0 indicates agnostic. A special case is that zero dependent* transformation links yield a value of 100 instead of 0, otherwise the Tactician will prefer relevant transformations over removals.

push_problem_onto_rule_historical_utility_stack

public static final SubLObject push_problem_onto_rule_historical_utility_stack(SubLObject problem)

problem_on_rule_historical_utility_stackP

public static final SubLObject problem_on_rule_historical_utility_stackP(SubLObject problem)

compute_problem_rule_historical_utility_recursive_internal

public static final SubLObject compute_problem_rule_historical_utility_recursive_internal(SubLObject problem,
                                                                                          SubLObject inference)
Returns:
0; the number of PROBLEM's dependent* highly relevant assertions minus the number of PROBLEM's dependent* irrelevant assertions (wrt INFERENCE).

compute_problem_rule_historical_utility_recursive

public static final SubLObject compute_problem_rule_historical_utility_recursive(SubLObject problem,
                                                                                 SubLObject inference)

compute_tactic_rule_historical_utility

public static final SubLObject compute_tactic_rule_historical_utility(SubLObject tactic)

strategic_heuristic_rule_literal_count

public static final SubLObject strategic_heuristic_rule_literal_count(SubLObject strategy,
                                                                      SubLObject transformation_tactic)

strategic_heuristic_happiness_due_to_literal_count

public static final SubLObject strategic_heuristic_happiness_due_to_literal_count(SubLObject literal_count)

numeric_table_lookup

public static final SubLObject numeric_table_lookup(SubLObject n,
                                                    SubLObject lookup_table,
                                                    SubLObject v_default)
Return a value associated with the numeric argument N via a table lookup. LOOKUP-TABLE is a list of (input, output) pairs. The symbol :positive-infinity represents infinity as the input value of the last pair. All numeric lookup tables should end with :positive-infinity.


strategic_heuristic_skolem_count

public static final SubLObject strategic_heuristic_skolem_count(SubLObject strategy,
                                                                SubLObject logical_tactic)

problem_skolem_count

public static final SubLObject problem_skolem_count(SubLObject problem)

strategic_heuristic_happiness_due_to_skolem_count

public static final SubLObject strategic_heuristic_happiness_due_to_skolem_count(SubLObject skolem_count)

declare_inference_strategic_heuristics_file

public static final SubLObject declare_inference_strategic_heuristics_file()

init_inference_strategic_heuristics_file

public static final SubLObject init_inference_strategic_heuristics_file()

setup_inference_strategic_heuristics_file

public static final SubLObject setup_inference_strategic_heuristics_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.