Represents a position in a at.logic.gapt.expr.LambdaExpression.
Represents a position in a at.logic.gapt.expr.LambdaExpression.
Positions are represented by lists of Integers. The empty list denotes the expression itself. A nonempty list denotes a position in the left or right subexpression according to whether it starts with 1 or 2.
Helper class for logical constants.
Helper class for logical constants.
The logical constans are the propositional connectives, the quantifiers, bottom, top, and the equality constant. A logical constant is different from an expression consisting of only this logical constant, as the expression is an object of type LambdaExpression and needs to have a definite type.
A logical constant consists of a name (e.g. "∀"), and a set of possible types, (e.g. (Ti->To)->To, ((Ti->Ti)->To)->To, ...). Subclasses need to implement the function matchType, which matches these possible types. This way we can handle the parametric types of the quantifiers.
Logical constant with a fixed type.
A logical constant describing a quantifier, which is of type (α->To)->To.
Matches constants and variables, but nothing else.
Returns the set of non-logical constants occuring in the given argument.
Returns the set of free variables in the given argument.
A lambda term is in variable-normal form (VNF) if different binders bind different variables.
get a new variable/constant (similar to the current and) different from all variables/constants in the blackList, returns this variable if this variable is not in the blackList.
Returns the set of all subterms of the given lambda term.
Transforms an expression into an alpha-equivalent expression in variable-normal form, where no two binders bind the same variable.
Returns the set of all variables occurring in the given argument (including vacuously bound variables).
(Since version 2015-05-13) Build your types without parsing strings!
(Since version 2015-05-13) Build your types without parsing strings!