|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.cyc.tool.subl.util.SubLTrampolineFile
com.cyc.tool.subl.util.SubLTranslatedFile
com.cyc.cycjava.cycl.clausifier
public final class clausifier
Nested Class Summary | |
---|---|
static class |
clausifier.$conjunctions_in$UnaryFunction
|
static class |
clausifier.$do_implications$UnaryFunction
|
static class |
clausifier.$do_negations_destructive$UnaryFunction
|
static class |
clausifier.$recursively_standardize_variables$UnaryFunction
|
static class |
clausifier.$universals_out$UnaryFunction
|
Nested classes/interfaces inherited from class com.cyc.tool.subl.util.SubLTranslatedFile |
---|
SubLTranslatedFile.SubL |
Fields inherited from class com.cyc.tool.subl.util.SubLTranslatedFile |
---|
EMPTY_SUBL_OBJECT_ARRAY |
Method Summary | |
---|---|
static SubLObject |
assume_free_vars_are_existentially_boundP()
|
static SubLObject |
bad_exponential_conjunctionP(SubLObject sentence)
|
static SubLObject |
bad_exponential_disjunctionP(SubLObject sentence)
|
static SubLObject |
bad_exponential_sentenceP(SubLObject sentence,
SubLObject arg_test_func)
|
static SubLObject |
canon_fast_gafP(SubLObject sentence,
SubLObject mt)
|
static SubLObject |
clear_cached_cnf_clausal_form()
|
static SubLObject |
cnf_clausal_form_int(SubLObject sentence,
SubLObject mt)
|
static SubLObject |
cnf_clausal_form(SubLObject sentence,
SubLObject mt)
|
static SubLObject |
cnf_operators_out(SubLObject sentence)
|
static SubLObject |
conjunctions_in_int(SubLObject sentence)
Moves conjunctions inwards inside SENTENCE by repeatedly applying the following transformation: (#$and |
static SubLObject |
conjunctions_in(SubLObject sentence)
|
static SubLObject |
czer_explicitify_implicit_quantifiers(SubLObject sentence)
|
static SubLObject |
czer_explicitify_implicit_universal_quantifiers(SubLObject sentence)
Wraps SENTENCE in #$forAll statements (if needed) to quantify all the free variables within SENTENCE. |
static SubLObject |
declare_clausifier_file()
|
void |
declareFunctions()
Declares the mapping between functions and symbols for all named functions defined in the file. |
static SubLObject |
determine_skolem_var_status(SubLObject var,
SubLObject subsent_free_term_vars,
SubLObject free_term_vars_in_scope,
SubLObject subsent_free_seqvars,
SubLObject free_seqvars_in_scope)
|
static SubLObject |
disjunctions_in_int(SubLObject sentence)
Moves disjunctions inwards inside SENTENCE by repeatedly applying the following transformation: (#$or |
static SubLObject |
disjunctions_in(SubLObject sentence)
|
static SubLObject |
dnf_operators_out(SubLObject sentence)
|
static SubLObject |
do_implications_recursive(SubLObject sentence)
Removes all implications and equivalences from SENTENCE, returning a logically equivalent sentence. |
static SubLObject |
do_implications(SubLObject sentence)
|
static SubLObject |
do_negations_destructive(SubLObject sentence)
A destructive version of @xref do-negations. |
static SubLObject |
drop_all_existentialsP()
|
static SubLObject |
el_cnf_destructive(SubLObject sentence,
SubLObject mt)
Destructively transforms an EL sentence into conjunctive normal form. |
static SubLObject |
el_cnf_int(SubLObject sentence,
SubLObject mt,
SubLObject destructiveP)
Assumes the EL variable namespace is bound. |
static SubLObject |
el_cnf(SubLObject sentence,
SubLObject mt)
Constructively transforms an EL sentence into conjunctive normal form. |
static SubLObject |
el_dnf_destructive(SubLObject sentence,
SubLObject mt)
Destructively transforms an EL sentence into disjunctive normal form. |
static SubLObject |
el_dnf_int(SubLObject sentence,
SubLObject mt,
SubLObject destructiveP)
Assumes the EL variable namespace is bound. |
static SubLObject |
el_uniquify_standardize(SubLObject var)
|
static SubLObject |
el_uniquify(SubLObject var)
Assumes that *el-symbol-suffix-table* is bound. |
static SubLObject |
el_var_without_quote(SubLObject var)
|
static SubLObject |
el_xnf_int(SubLObject sentence,
SubLObject mt)
|
static SubLObject |
el_xnf(SubLObject sentence,
SubLObject mt)
Transforms an EL sentence so that it is ready to be put into either CNF or DNF form. |
static SubLObject |
existentials_out_int(SubLObject sentence)
Removes all existentials by replacing them with Skolem constants or Skolem sentences. |
static SubLObject |
existentials_out(SubLObject sentence)
Removes all existentials by replacing them with Skolem constants or Skolem sentences. |
static SubLObject |
first_conjunction(SubLObject sentences)
Returns the first conjunction in the list SENTENCES. |
static SubLObject |
first_disjunction(SubLObject sentences)
Returns the first disjunction in the list SENTENCES. |
static SubLObject |
forbid_quantified_sequence_variablesP()
|
static SubLObject |
force_into_cnf(SubLObject sentence)
Assumes that SENTENCE is a subset of CNF (either in cnf, a disjunction, or a literal) and returns a version of SENTENCE that is in strict CNF form. |
static SubLObject |
force_into_dnf(SubLObject sentence)
Assumes that SENTENCE is a subset of DNF (either in dnf, a conjunction, or a literal) and returns a version of SENTENCE that is in strict DNF form. |
static SubLObject |
init_clausifier_file()
|
void |
initializeVariables()
Initializes all global variables and private internal variables for constants defined in the file. |
static SubLObject |
leave_skolem_constants_aloneP()
|
static SubLObject |
make_skolem_fn_fn(SubLObject var,
SubLObject dependent_term_vars,
SubLObject quant,
SubLObject num,
SubLObject dependent_sequence_var)
|
static SubLObject |
negate_atomic(SubLObject sentence)
|
static SubLObject |
negate_conjunction(SubLObject conjunction)
Assumes that CONJUNCTION is a conjunction. |
static SubLObject |
negate_formula(SubLObject sentence)
Negates SENTENCE by using the following transformations: #$True becomes #$False #$False becomes #$True (#$and |
static SubLObject |
negation_in(SubLObject sentence)
Moves a negation inwards by the following transformations: 1. |
static SubLObject |
npackage_cnf_clause(SubLObject clause)
A destructive version of @xref package-cnf-clause. |
static SubLObject |
npackage_xnf_clause(SubLObject clause)
A destructive version of @xref package-xnf-clause. |
static SubLObject |
package_xnf_clause(SubLObject clause)
|
static SubLObject |
recursively_standardize_variables(SubLObject sentence)
Renames all quantified variables into a canonical order, with the innermost variables having smaller indices. |
static SubLObject |
remember_variable_rename(SubLObject old_var,
SubLObject new_var)
Remembers which variables are being renamed, and what their new names are. |
void |
runTopLevelForms()
Runs all top-level forms in order. |
static SubLObject |
setup_clausifier_file()
|
static SubLObject |
skolemize_atomic_sentence(SubLObject sentence,
SubLObject quantifier_info_list)
|
static SubLObject |
skolemize_variable(SubLObject sentence,
SubLObject curr_quant,
SubLObject curr_num,
SubLObject curr_var,
SubLObject curr_free_term_vars,
SubLObject curr_free_sequence_vars,
SubLObject quantifier_info_list_in_scope)
|
static SubLObject |
standardize_variables(SubLObject sentence)
Renames all variables into a canonical order, with the innermost variables having smaller indices. |
static SubLObject |
universals_out(SubLObject sentence)
removes all #$forAll statements from SENTENCE, unless they are inside an atomic 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 |
---|
public static final SubLFile me
public static final java.lang.String myName
public static SubLSymbol $canonical_variable_name_stem$
public static SubLSymbol $use_cnf_cacheP$
public static final SubLString $str0$el_var
public static final SubLSymbol $kw1$ERROR
public static final SubLSymbol $kw2$UNINITIALIZED
public static final SubLSymbol $sym3$DO_IMPLICATIONS_RECURSIVE
public static final SubLSymbol $sym4$DO_NEGATIONS_DESTRUCTIVE
public static final SubLSymbol $kw5$HELLO_YOU_SILLY_COMPILER
public static final SubLObject $const6$True
public static final SubLObject $const7$False
public static final SubLSymbol $kw8$REGULARIZE
public static final SubLString $str9$_s_is_not_a_quantified_sentence
public static final SubLSymbol $sym10$NEGATE_NEGATION
public static final SubLSymbol $sym11$NEGATE_FORMULA
public static final SubLObject $const12$DifferenceFn
public static final SubLString $str13$_s_contained_the_invalid_bound__D
public static final SubLObject $const14$PlusFn
public static final SubLSymbol $sym15$EL_FORMULA_P
public static final SubLInteger $int16$32
public static final SubLSymbol $sym17$CYC_VAR_
public static final SubLObject $const18$Quote
public static final SubLSymbol $sym19$RECURSIVELY_STANDARDIZE_VARIABLES
public static final SubLSymbol $sym20$EL_UNIQUIFY_STANDARDIZE
public static final SubLSymbol $sym21$EL_VAR_WITHOUT_QUOTE
public static final SubLSymbol $kw22$IGNORE
public static final SubLString $str23$_
public static final SubLSymbol $sym24$CYC_CONST_GENERAL_EXISTENTIAL_OPERATOR_P
public static final SubLSymbol $kw25$TOO_MANY_SEQUENCE_VARS_IN_SKOLEM_SCOPE
public static final SubLSymbol $kw26$AMBIGUOUS_VAR_TYPE_IN_SKOLEM_SCOPE
public static final SubLSymbol $kw27$QUANTIFIED_SEQUENCE_VARIABLE
public static final SubLSymbol $sym28$EXISTENTIALS_OUT_INT
public static final SubLString $str29$Unexpected_sentence_type_in_exist
public static final SubLObject $const30$forAll
public static final SubLSymbol $kw31$NEITHER
public static final SubLSymbol $kw32$TERM
public static final SubLSymbol $kw33$SEQ
public static final SubLSymbol $kw34$BOTH
public static final SubLSymbol $kw35$UNDETERMINED
public static final SubLString $str36$Skolemizer_failed_to_classify_var
public static final SubLString $str37$skolem_constants_not_yet_supporte
public static final SubLObject $const38$thereExists
public static final SubLObject $const39$SkolemFunctionFn
public static final SubLString $str40$make_skolem_fn_fn_doesn_t_know_ho
public static final SubLSymbol $kw41$ASSERT_ONLY
public static final SubLString $str42$Unexpected_value_for__forbid_quan
public static final SubLSymbol $sym43$UNIVERSALS_OUT
public static final SubLString $str44$Got_the_unexpected_sentence__S_in
public static final SubLSymbol $sym45$DISJUNCTIONS_IN
public static final SubLString $str46$Got_the_unexpected_sentence__S_in
public static final SubLSymbol $sym47$EL_CONJUNCTION_P
public static final SubLSymbol $kw48$BAD_EXPONENTIAL_DISJUNCTION
public static final SubLInteger $int49$200000
public static final SubLSymbol $sym50$FORMULA_ARITY
public static final SubLString $str51$_s_is_not_a_conjunction__so_it_is
public static final SubLString $str52$_s_is_not_a_disjunction__so__S_is
public static final SubLSymbol $sym53$CONJUNCTIONS_IN
public static final SubLString $str54$Got_the_unexpected_formula__S_in_
public static final SubLSymbol $sym55$EL_DISJUNCTION_P
public static final SubLSymbol $kw56$BAD_EXPONENTIAL_CONJUNCTION
public static final SubLString $str57$_s_is_not_a_disjunction__so_it_is
public static final SubLString $str58$_s_is_not_a_conjunction__so__S_is
public static final SubLSymbol $sym59$PACKAGE_XNF_CLAUSE
public static final SubLSymbol $sym60$FORMULA_ARG1
public static final SubLSymbol $sym61$EL_VAR_
public static final SubLSymbol $sym62$LEADING_UNIVERSAL_VARIABLES_1
public static final SubLSymbol $sym63$STRING_
public static final SubLSymbol $sym64$STR
public static final SubLObject $const65$and
public static final SubLSymbol $kw66$CNF
public static final SubLSymbol $kw67$DNF
public static final SubLSymbol $sym68$CACHED_CNF_CLAUSAL_FORM
public static final SubLSymbol $sym69$_CACHED_CNF_CLAUSAL_FORM_CACHING_STATE_
public static final SubLInteger $int70$48
public static final SubLSymbol $kw71$_MEMOIZED_ITEM_NOT_FOUND_
Method Detail |
---|
public static final SubLObject do_implications(SubLObject sentence)
public static final SubLObject do_implications_recursive(SubLObject sentence)
public static final SubLObject do_negations_destructive(SubLObject sentence)
public static final SubLObject negate_formula(SubLObject sentence)
public static final SubLObject negation_in(SubLObject sentence)
public static final SubLObject negate_atomic(SubLObject sentence)
public static final SubLObject negate_conjunction(SubLObject conjunction)
public static final SubLObject czer_explicitify_implicit_quantifiers(SubLObject sentence)
public static final SubLObject czer_explicitify_implicit_universal_quantifiers(SubLObject sentence)
explicitify-implicit-universal-quantifiers
public static final SubLObject assume_free_vars_are_existentially_boundP()
public static final SubLObject standardize_variables(SubLObject sentence)
public static final SubLObject remember_variable_rename(SubLObject old_var, SubLObject new_var)
public static final SubLObject recursively_standardize_variables(SubLObject sentence)
public static final SubLObject el_var_without_quote(SubLObject var)
public static final SubLObject el_uniquify_standardize(SubLObject var)
public static final SubLObject el_uniquify(SubLObject var)
public static final SubLObject existentials_out(SubLObject sentence)
public static final SubLObject existentials_out_int(SubLObject sentence)
public static final SubLObject skolemize_atomic_sentence(SubLObject sentence, SubLObject quantifier_info_list)
public static final SubLObject drop_all_existentialsP()
public static final SubLObject forbid_quantified_sequence_variablesP()
public static final SubLObject skolemize_variable(SubLObject sentence, SubLObject curr_quant, SubLObject curr_num, SubLObject curr_var, SubLObject curr_free_term_vars, SubLObject curr_free_sequence_vars, SubLObject quantifier_info_list_in_scope)
public static final SubLObject leave_skolem_constants_aloneP()
public static final SubLObject make_skolem_fn_fn(SubLObject var, SubLObject dependent_term_vars, SubLObject quant, SubLObject num, SubLObject dependent_sequence_var)
DEPENDENT-SEQUENCE-VAR;
- nil or cycl-variable-ppublic static final SubLObject determine_skolem_var_status(SubLObject var, SubLObject subsent_free_term_vars, SubLObject free_term_vars_in_scope, SubLObject subsent_free_seqvars, SubLObject free_seqvars_in_scope)
VAR;
- the universally scoped variable whose status we need to determine wrt an existential.
Example: In a sentence of the form (forAll ?X (forAll ?Y (implies (isa ?Y Ort) (thereExists ?Z (mother ?X ?Z)))))
The subsentence in consideration would be (mother ?X ?Z), its free term vars
would be ?X and ?Z, and the free term vars in the scope would be ?X and ?Y.
If VAR is ?X, the result would be :term. If VAR is ?Y, the result would be :term or :neither, depending on *minimal-skolem-arity?*
public static final SubLObject universals_out(SubLObject sentence)
public static final SubLObject disjunctions_in(SubLObject sentence)
public static final SubLObject disjunctions_in_int(SubLObject sentence)
public static final SubLObject first_conjunction(SubLObject sentences)
public static final SubLObject bad_exponential_disjunctionP(SubLObject sentence)
public static final SubLObject bad_exponential_sentenceP(SubLObject sentence, SubLObject arg_test_func)
public static final SubLObject force_into_cnf(SubLObject sentence)
public static final SubLObject cnf_operators_out(SubLObject sentence)
sentence
- EL sentence; a conjunction of possibly disjoined literals.
public static final SubLObject npackage_cnf_clause(SubLObject clause)
public static final SubLObject conjunctions_in(SubLObject sentence)
public static final SubLObject conjunctions_in_int(SubLObject sentence)
public static final SubLObject first_disjunction(SubLObject sentences)
public static final SubLObject bad_exponential_conjunctionP(SubLObject sentence)
public static final SubLObject force_into_dnf(SubLObject sentence)
public static final SubLObject dnf_operators_out(SubLObject sentence)
sentence
- EL sentence; a disjunction of possibly conjoined literals.
public static final SubLObject el_xnf(SubLObject sentence, SubLObject mt)
public static final SubLObject el_xnf_int(SubLObject sentence, SubLObject mt)
public static final SubLObject package_xnf_clause(SubLObject clause)
clause
- list; a list of literals.
Goes through CLAUSE looking for negated atomic sentences.
It puts them into public static final SubLObject npackage_xnf_clause(SubLObject clause)
public static final SubLObject canon_fast_gafP(SubLObject sentence, SubLObject mt)
public static final SubLObject el_cnf(SubLObject sentence, SubLObject mt)
public static final SubLObject el_cnf_destructive(SubLObject sentence, SubLObject mt)
public static final SubLObject el_cnf_int(SubLObject sentence, SubLObject mt, SubLObject destructiveP)
public static final SubLObject el_dnf_destructive(SubLObject sentence, SubLObject mt)
public static final SubLObject el_dnf_int(SubLObject sentence, SubLObject mt, SubLObject destructiveP)
public static final SubLObject cnf_clausal_form(SubLObject sentence, SubLObject mt)
public static final SubLObject clear_cached_cnf_clausal_form()
public static final SubLObject cnf_clausal_form_int(SubLObject sentence, SubLObject mt)
public static final SubLObject declare_clausifier_file()
public static final SubLObject init_clausifier_file()
public static final SubLObject setup_clausifier_file()
public void declareFunctions()
SubLFile
public void initializeVariables()
SubLFile
public void runTopLevelForms()
SubLFile
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |