class documentation

This is the base abstract object for all logical expressions

Class Method fromstring Undocumented
Method __and__ Undocumented
Method __call__ Undocumented
Method __eq__ Undocumented
Method __gt__ Undocumented
Method __hash__ Undocumented
Method __lt__ Undocumented
Method __ne__ Undocumented
Method __neg__ Undocumented
Method __or__ Undocumented
Method __repr__ Undocumented
Method __str__ Undocumented
Method applyto Undocumented
Method constants Return a set of individual constants (non-predicates). :return: set of Variable objects
Method equiv Check for logical equivalence. Pass the expression (self <-> other) to the theorem prover. If the prover says it is valid, then the self and other are equal.
Method findtype Find the type of the given variable as it is used in this expression. For example, finding the type of "P" in "P(x) & Q(x,y)" yields "<e,t>"
Method free Return a set of all the free (non-bound) variables. This includes both individual and predicate variables, but not constants. :return: set of Variable objects
Method make_VariableExpression Undocumented
Method negate If this is a negated expression, remove the negation. Otherwise add a negation.
Method normalize Rename auto-generated unique variables
Method predicates Return a set of predicates (constants, not variables). :return: set of Variable objects
Method replace Replace every instance of 'variable' with 'expression' :param variable: Variable The variable to replace :param expression: Expression The expression with which to replace it :param replace_bound: bool Should bound variables be replaced...
Method simplify No summary
Method substitute_bindings No summary
Method typecheck Infer and check types. Raise exceptions if necessary.
Method variables Return a set of all the variables for binding substitution. The variables returned include all free (non-bound) individual variables and any variable starting with '?' or '@'. :return: set of Variable objects...
Method visit Recursively visit subexpressions. Apply 'function' to each subexpression and pass the result of each function application to the 'combinator' for aggregation:
Method visit_structured Recursively visit subexpressions. Apply 'function' to each subexpression and pass the result of each function application to the 'combinator' for aggregation. The combinator must have the same signature as the constructor...
Method _set_type Set the type of this expression to be the given type. Raise type exceptions where applicable.
Class Variable _logic_parser Undocumented
Class Variable _type_checking_logic_parser Undocumented
@classmethod
def fromstring(cls, s, type_check=False, signature=None): (source)

Undocumented

def __and__(self, other): (source)

Undocumented

def __call__(self, other, *additional): (source)

Undocumented

def __gt__(self, other): (source)

Undocumented

def __hash__(self): (source)

Undocumented

def __lt__(self, other): (source)

Undocumented

def __neg__(self): (source)

Undocumented

def __or__(self, other): (source)

Undocumented

def __repr__(self): (source)

Undocumented

def applyto(self, other): (source)

Undocumented

def constants(self): (source)

Return a set of individual constants (non-predicates). :return: set of Variable objects

def equiv(self, other, prover=None): (source)

Check for logical equivalence. Pass the expression (self <-> other) to the theorem prover. If the prover says it is valid, then the self and other are equal.

Parameters
otheran Expression to check equality against
provera nltk.inference.api.Prover
def findtype(self, variable): (source)

Find the type of the given variable as it is used in this expression. For example, finding the type of "P" in "P(x) & Q(x,y)" yields "<e,t>"

Parameters
variableVariable
def free(self): (source)

Return a set of all the free (non-bound) variables. This includes both individual and predicate variables, but not constants. :return: set of Variable objects

def make_VariableExpression(self, variable): (source)

Undocumented

def negate(self): (source)

If this is a negated expression, remove the negation. Otherwise add a negation.

def normalize(self, newvars=None): (source)

Rename auto-generated unique variables

def predicates(self): (source)

Return a set of predicates (constants, not variables). :return: set of Variable objects

def replace(self, variable, expression, replace_bound=False, alpha_convert=True): (source)

Replace every instance of 'variable' with 'expression' :param variable: Variable The variable to replace :param expression: Expression The expression with which to replace it :param replace_bound: bool Should bound variables be replaced? :param alpha_convert: bool Alpha convert automatically to avoid name clashes?

def substitute_bindings(self, bindings): (source)
Returns
(any)The object that is obtained by replacing each variable bound by bindings with its values. Aliases are already resolved. (maybe?)
def typecheck(self, signature=None): (source)

Infer and check types. Raise exceptions if necessary.

Parameters
signaturedict that maps variable names to types (or string representations of types)
Returns
the signature, plus any additional type mappings
def variables(self): (source)

Return a set of all the variables for binding substitution. The variables returned include all free (non-bound) individual variables and any variable starting with '?' or '@'. :return: set of Variable objects

def visit(self, function, combinator): (source)

Recursively visit subexpressions. Apply 'function' to each subexpression and pass the result of each function application to the 'combinator' for aggregation:

return combinator(map(function, self.subexpressions))

Bound variables are neither applied upon by the function nor given to the combinator. :param function: Function<Expression,T> to call on each subexpression :param combinator: Function<list<T>,R> to combine the results of the function calls :return: result of combination R

def visit_structured(self, function, combinator): (source)

Recursively visit subexpressions. Apply 'function' to each subexpression and pass the result of each function application to the 'combinator' for aggregation. The combinator must have the same signature as the constructor. The function is not applied to bound variables, but they are passed to the combinator. :param function: Function to call on each subexpression :param combinator: Function with the same signature as the constructor, to combine the results of the function calls :return: result of combination

def _set_type(self, other_type=ANY_TYPE, signature=None): (source)

Set the type of this expression to be the given type. Raise type exceptions where applicable.

Parameters
other_typeType
signaturedict(str -> list(AbstractVariableExpression))
_logic_parser = (source)

Undocumented

_type_checking_logic_parser = (source)

Undocumented