com.cyc.cycjava.cycl
Class simplifier

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

public final class simplifier
extends SubLTranslatedFile


Nested Class Summary
static class simplifier.$nested_collectionsubsetfn_expressionP$UnaryFunction
           
static class simplifier.$simplify_cycl_sentence_int$BinaryFunction
           
static class simplifier.$simplify_cycl_sentence_int$UnaryFunction
           
 
Nested classes/interfaces inherited from class com.cyc.tool.subl.util.SubLTranslatedFile
SubLTranslatedFile.SubL
 
Field Summary
static SubLObject $const15$distributesOutOfArg
           
static SubLObject $const22$CollectionSubsetFn
           
static SubLObject $const23$TheSetOf
           
static SubLObject $const24$trueSentence
           
static SubLObject $const25$ist
           
static SubLObject $const8$True
           
static SubLObject $const9$False
           
static SubLInteger $int26$32
           
static SubLSymbol $kw11$INVALID_SENTENCE
           
static SubLSymbol $kw12$IGNORE
           
static SubLSymbol $kw13$REGULARIZE
           
static SubLSymbol $kw28$SPLIT
           
static SubLSymbol $kw34$TEST
           
static SubLSymbol $kw35$OWNER
           
static SubLSymbol $kw36$CLASSES
           
static SubLSymbol $kw37$KB
           
static SubLSymbol $kw38$TINY
           
static SubLSymbol $kw39$WORKING_
           
static SubLList $list19
           
static SubLList $list30
           
static SubLList $list40
           
static SubLString $str10$_S_is_not_well_formed_
           
static SubLString $str17$You_tried_to_negate__S___That_was
           
static SubLString $str29$Splitting_sequence_variables_into
           
static SubLSymbol $sym0$LISTP
           
static SubLSymbol $sym1$SIMPLIFY_UNARY_JUNCTS
           
static SubLSymbol $sym14$SIMPLIFY_CYCL_SENTENCE_INT
           
static SubLSymbol $sym16$RELEVANT_MT_IS_GENL_MT
           
static SubLSymbol $sym18$EL_DISJUNCTION_P
           
static SubLSymbol $sym2$SIMPLIFY_DUPLICATE_JUNCTS
           
static SubLSymbol $sym20$NESTED_COLLECTIONSUBSETFN_EXPRESSION_
           
static SubLSymbol $sym21$TRANSFORM_NESTED_COLLECTIONSUBSETFN_EXPRESSION
           
static SubLSymbol $sym27$FORMULA_WITH_SEQUENCE_TERM_
           
static SubLSymbol $sym3$LIFTABLE_CONJUNCTS_
           
static SubLSymbol $sym31$WEAKEST_ARGS
           
static SubLSymbol $sym32$STRONGEST_ARGS
           
static SubLSymbol $sym33$SIMPLIFY_IST_SENTENCE
           
static SubLSymbol $sym4$NLIFT_CONJUNCTS
           
static SubLSymbol $sym5$EL_CONJUNCTION_P
           
static SubLSymbol $sym6$CYC_VAR_
           
static SubLSymbol $sym7$EL_WFF_
           
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 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 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

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

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.