com.cyc.cycjava.cycl
Class simplifier
java.lang.Object
com.cyc.tool.subl.util.SubLTrampolineFile
com.cyc.tool.subl.util.SubLTranslatedFile
com.cyc.cycjava.cycl.simplifier
- All Implemented Interfaces:
- CommonSymbols, SubLFile
public final class simplifier
- 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 |
declare_simplifier_file()
|
void |
declareFunctions()
Declares the mapping between functions and symbols for all named
functions defined in the file. |
static SubLObject |
disjoin(SubLObject sentence_list,
SubLObject simplifyP)
Returns the disjunction of the sentences in the list SENTENCE-LIST. |
static SubLObject |
init_simplifier_file()
|
void |
initializeVariables()
Initializes all global variables and private internal variables
for constants defined in the file. |
static SubLObject |
ndisjoin(SubLObject sentence_list,
SubLObject simplifyP)
A destructive version of @xref disjoin. |
static SubLObject |
nested_collectionsubsetfn_expressionP(SubLObject expression)
|
static SubLObject |
nlift_disjuncts(SubLObject disjuncts)
A destructive version of @xref lift-disjuncts. |
void |
runTopLevelForms()
Runs all top-level forms in order. |
static SubLObject |
setup_simplifier_file()
|
static SubLObject |
simplify_cycl_conjunction(SubLObject conjunction,
SubLObject varP)
|
static SubLObject |
simplify_cycl_disjunction_int(SubLObject disjunction,
SubLObject varP)
|
static SubLObject |
simplify_cycl_disjunction(SubLObject disjunction,
SubLObject varP)
|
static SubLObject |
simplify_cycl_existential(SubLObject existential)
|
static SubLObject |
simplify_cycl_implication(SubLObject implication,
SubLObject varP)
|
static SubLObject |
simplify_cycl_literal_int(SubLObject literal,
SubLObject var_func)
|
static SubLObject |
simplify_cycl_literal_syntax(SubLObject literal,
SubLObject varP)
Like @xref simplify-cycl-literal, but only does syntactic simplification. |
static SubLObject |
simplify_cycl_literal_terms_int(SubLObject literal,
SubLObject varP)
|
static SubLObject |
simplify_cycl_literal_terms(SubLObject literal,
SubLObject varP)
|
static SubLObject |
simplify_cycl_literal(SubLObject literal,
SubLObject var_func)
|
static SubLObject |
simplify_cycl_negation(SubLObject negation,
SubLObject varP)
|
static SubLObject |
simplify_cycl_sentence_deep(SubLObject sentence,
SubLObject varP)
Performs deeper simplifications on SENTENCE than @xref simplify-cycl-sentence. |
static SubLObject |
simplify_cycl_sentence_int(SubLObject sentence,
SubLObject varP)
|
static SubLObject |
simplify_cycl_sentence_syntax(SubLObject sentence,
SubLObject varP)
Like @xref simplify-cycl-sentence, but only does syntactic simplification. |
static SubLObject |
simplify_cycl_sentence(SubLObject sentence,
SubLObject varP)
|
static SubLObject |
simplify_cycl_term(SubLObject v_term,
SubLObject varP)
|
static SubLObject |
simplify_distributing_out_args(SubLObject literal)
|
static SubLObject |
simplify_nested_collectionsubsetfn_expression(SubLObject formula)
|
static SubLObject |
simplify_redundanciesP()
|
static SubLObject |
simplify_sequence_variables_1(SubLObject formula)
A version of @xref simplify-sequence-variables to call if you already have the EL variable namespace bound. |
static SubLObject |
simplify_sequence_variables(SubLObject formula)
|
static SubLObject |
simplify_special_cases(SubLObject formula)
|
static SubLObject |
simplify_transitive_redundanciesP()
|
static SubLObject |
transform_nested_collectionsubsetfn_expression(SubLObject expression)
|
static SubLObject |
try_to_simplify_non_wff_into_wff(SubLObject non_wff,
SubLObject wff_function,
SubLObject arg2_to_wff_function)
Assumes that NON-WFF is an ill-formed sentence. |
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
$sym0$LISTP
public static final SubLSymbol $sym0$LISTP
$sym1$SIMPLIFY_UNARY_JUNCTS
public static final SubLSymbol $sym1$SIMPLIFY_UNARY_JUNCTS
$sym2$SIMPLIFY_DUPLICATE_JUNCTS
public static final SubLSymbol $sym2$SIMPLIFY_DUPLICATE_JUNCTS
$sym3$LIFTABLE_CONJUNCTS_
public static final SubLSymbol $sym3$LIFTABLE_CONJUNCTS_
$sym4$NLIFT_CONJUNCTS
public static final SubLSymbol $sym4$NLIFT_CONJUNCTS
$sym5$EL_CONJUNCTION_P
public static final SubLSymbol $sym5$EL_CONJUNCTION_P
$sym6$CYC_VAR_
public static final SubLSymbol $sym6$CYC_VAR_
$sym7$EL_WFF_
public static final SubLSymbol $sym7$EL_WFF_
$const8$True
public static final SubLObject $const8$True
$const9$False
public static final SubLObject $const9$False
$str10$_S_is_not_well_formed_
public static final SubLString $str10$_S_is_not_well_formed_
$kw11$INVALID_SENTENCE
public static final SubLSymbol $kw11$INVALID_SENTENCE
$kw12$IGNORE
public static final SubLSymbol $kw12$IGNORE
$kw13$REGULARIZE
public static final SubLSymbol $kw13$REGULARIZE
$sym14$SIMPLIFY_CYCL_SENTENCE_INT
public static final SubLSymbol $sym14$SIMPLIFY_CYCL_SENTENCE_INT
$const15$distributesOutOfArg
public static final SubLObject $const15$distributesOutOfArg
$sym16$RELEVANT_MT_IS_GENL_MT
public static final SubLSymbol $sym16$RELEVANT_MT_IS_GENL_MT
$str17$You_tried_to_negate__S___That_was
public static final SubLString $str17$You_tried_to_negate__S___That_was
$sym18$EL_DISJUNCTION_P
public static final SubLSymbol $sym18$EL_DISJUNCTION_P
$list19
public static final SubLList $list19
$sym20$NESTED_COLLECTIONSUBSETFN_EXPRESSION_
public static final SubLSymbol $sym20$NESTED_COLLECTIONSUBSETFN_EXPRESSION_
$sym21$TRANSFORM_NESTED_COLLECTIONSUBSETFN_EXPRESSION
public static final SubLSymbol $sym21$TRANSFORM_NESTED_COLLECTIONSUBSETFN_EXPRESSION
$const22$CollectionSubsetFn
public static final SubLObject $const22$CollectionSubsetFn
$const23$TheSetOf
public static final SubLObject $const23$TheSetOf
$const24$trueSentence
public static final SubLObject $const24$trueSentence
$const25$ist
public static final SubLObject $const25$ist
$int26$32
public static final SubLInteger $int26$32
$sym27$FORMULA_WITH_SEQUENCE_TERM_
public static final SubLSymbol $sym27$FORMULA_WITH_SEQUENCE_TERM_
$kw28$SPLIT
public static final SubLSymbol $kw28$SPLIT
$str29$Splitting_sequence_variables_into
public static final SubLString $str29$Splitting_sequence_variables_into
$list30
public static final SubLList $list30
$sym31$WEAKEST_ARGS
public static final SubLSymbol $sym31$WEAKEST_ARGS
$sym32$STRONGEST_ARGS
public static final SubLSymbol $sym32$STRONGEST_ARGS
$sym33$SIMPLIFY_IST_SENTENCE
public static final SubLSymbol $sym33$SIMPLIFY_IST_SENTENCE
$kw34$TEST
public static final SubLSymbol $kw34$TEST
$kw35$OWNER
public static final SubLSymbol $kw35$OWNER
$kw36$CLASSES
public static final SubLSymbol $kw36$CLASSES
$kw37$KB
public static final SubLSymbol $kw37$KB
$kw38$TINY
public static final SubLSymbol $kw38$TINY
$kw39$WORKING_
public static final SubLSymbol $kw39$WORKING_
$list40
public static final SubLList $list40
nlift_disjuncts
public static final SubLObject nlift_disjuncts(SubLObject disjuncts)
- A destructive version of @xref lift-disjuncts.
try_to_simplify_non_wff_into_wff
public static final SubLObject try_to_simplify_non_wff_into_wff(SubLObject non_wff,
SubLObject wff_function,
SubLObject arg2_to_wff_function)
- Assumes that NON-WFF is an ill-formed sentence. Tries to simplify it into a well-formed sentence.
- Returns:
- 0 sentence; the simplified version of NON-WFF.
disjoin
public static final SubLObject disjoin(SubLObject sentence_list,
SubLObject simplifyP)
- Returns the disjunction of the sentences in the list SENTENCE-LIST.
If SIMPLIFY? is true, then if any of the sentences in SENTENCE-LIST are disjunctions themselves, they will be flattened:
i.e. no resulting disjunct will itself be a disjunct (simplification is destructive).
e.g. ( (#$or )) will become ( ),
((#$or (#$or (#$or )) ) )
will become ( ),
but ((#$and (#$or (#$or )) ) ) will not change.
Also, if SIMPLIFY? is true and SENTENCE-LIST is of length 1, it will return the sentence in SENTENCE-LIST.
ndisjoin
public static final SubLObject ndisjoin(SubLObject sentence_list,
SubLObject simplifyP)
- A destructive version of @xref disjoin.
simplify_cycl_sentence_deep
public static final SubLObject simplify_cycl_sentence_deep(SubLObject sentence,
SubLObject varP)
- Performs deeper simplifications on SENTENCE than @xref simplify-cycl-sentence.
Assumes that the EL variable namespace is bound.
simplify_cycl_sentence
public static final SubLObject simplify_cycl_sentence(SubLObject sentence,
SubLObject varP)
simplify_cycl_sentence_syntax
public static final SubLObject simplify_cycl_sentence_syntax(SubLObject sentence,
SubLObject varP)
- Like @xref simplify-cycl-sentence, but only does syntactic simplification.
simplify_cycl_sentence_int
public static final SubLObject simplify_cycl_sentence_int(SubLObject sentence,
SubLObject varP)
simplify_cycl_literal_syntax
public static final SubLObject simplify_cycl_literal_syntax(SubLObject literal,
SubLObject varP)
- Like @xref simplify-cycl-literal, but only does syntactic simplification.
simplify_cycl_literal
public static final SubLObject simplify_cycl_literal(SubLObject literal,
SubLObject var_func)
simplify_cycl_literal_int
public static final SubLObject simplify_cycl_literal_int(SubLObject literal,
SubLObject var_func)
simplify_distributing_out_args
public static final SubLObject simplify_distributing_out_args(SubLObject literal)
simplify_cycl_literal_terms
public static final SubLObject simplify_cycl_literal_terms(SubLObject literal,
SubLObject varP)
simplify_cycl_literal_terms_int
public static final SubLObject simplify_cycl_literal_terms_int(SubLObject literal,
SubLObject varP)
simplify_cycl_term
public static final SubLObject simplify_cycl_term(SubLObject v_term,
SubLObject varP)
simplify_cycl_negation
public static final SubLObject simplify_cycl_negation(SubLObject negation,
SubLObject varP)
simplify_cycl_conjunction
public static final SubLObject simplify_cycl_conjunction(SubLObject conjunction,
SubLObject varP)
simplify_cycl_disjunction
public static final SubLObject simplify_cycl_disjunction(SubLObject disjunction,
SubLObject varP)
simplify_cycl_disjunction_int
public static final SubLObject simplify_cycl_disjunction_int(SubLObject disjunction,
SubLObject varP)
simplify_cycl_implication
public static final SubLObject simplify_cycl_implication(SubLObject implication,
SubLObject varP)
simplify_cycl_existential
public static final SubLObject simplify_cycl_existential(SubLObject existential)
simplify_special_cases
public static final SubLObject simplify_special_cases(SubLObject formula)
simplify_nested_collectionsubsetfn_expression
public static final SubLObject simplify_nested_collectionsubsetfn_expression(SubLObject formula)
transform_nested_collectionsubsetfn_expression
public static final SubLObject transform_nested_collectionsubsetfn_expression(SubLObject expression)
- Parameters:
expression
- EL formula; assumed to be of the form
(CollectionSubsetFn (CollectionSubsetFn COL (TheSetOf ?X ))
(TheSetOf ?Y ))
- Returns:
- EL formula; a simplified version of EXPRESSION, of the form
(CollectionSubsetFn COL (TheSetOf ?X (and )))
nested_collectionsubsetfn_expressionP
public static final SubLObject nested_collectionsubsetfn_expressionP(SubLObject expression)
- Returns:
- boolean; t iff EXPRESSION is of the form
(CollectionSubsetFn (CollectionSubsetFn COL (TheSetOf ?X ))
(TheSetOf ?Y ))
simplify_redundanciesP
public static final SubLObject simplify_redundanciesP()
simplify_sequence_variables
public static final SubLObject simplify_sequence_variables(SubLObject formula)
- Returns:
- EL formula; a recursively simplified version of FORMULA wrt sequence variables.
simplify_sequence_variables_1
public static final SubLObject simplify_sequence_variables_1(SubLObject formula)
- A version of @xref simplify-sequence-variables to call if you already have the EL variable namespace bound.
simplify_transitive_redundanciesP
public static final SubLObject simplify_transitive_redundanciesP()
declare_simplifier_file
public static final SubLObject declare_simplifier_file()
init_simplifier_file
public static final SubLObject init_simplifier_file()
setup_simplifier_file
public static final SubLObject setup_simplifier_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.