package subst
- Alphabetic
- Public
- Protected
Type Members
- trait ExprSubstWithβ0 extends AnyRef
- trait ExprSubstWithβ1 extends ExprSubstWithβ0
- trait ExprSubstitutable1 extends AnyRef
- trait ExprSubstitutable2 extends ExprSubstitutable1
- trait ExprSubstitutable3 extends ExprSubstitutable2
- trait ExprSubstitutable4 extends ExprSubstitutable3
- trait ExprSubstitutable5 extends ExprSubstitutable4
- trait ExprSubstitutable6 extends ExprSubstitutable5
- trait ExprSubstitutable7 extends ExprSubstitutable6
- class FOLSubstitution extends Substitution
- class PreSubstitution extends AnyRef
An unvalidated substitution, you should use Substitution instead.
- trait SeqSubstitutable extends AnyRef
- trait Substitutable[-S <: Substitution, -T, +U] extends AnyRef
Trait that describes the following relation between types
S
,T
,U
: If a substitution of typeS
is applied to an element of typeT
, the result will have typeU
.Trait that describes the following relation between types
S
,T
,U
: If a substitution of typeS
is applied to an element of typeT
, the result will have typeU
.- S
A subtype of Substitution.
- T
The input type.
- U
The output type.
- Annotations
- @implicitNotFound()
- class Substitution extends PreSubstitution
A substitution is a mapping from variables to lambda-expressions which differs from the identity on finitely many variables.
A substitution is a mapping from variables to lambda-expressions which differs from the identity on finitely many variables. Therefore: 1) each variable is mapped to only one lambda expression 2) the order of the variable-mappings is irrelevant 3) all variable-mappings are applied simultaneously to a term i.e. {x |-> y, y |-> a}x = y and not a.
As the lambda calculus contains variable binders, substitution can only be defined up to alpha-equivalence. When applying a substitution, bound variables are renamed if needed.
Value Members
- object ExprSubstWithβ extends ExprSubstWithβ1
Contains Substitutable instances for expressions that automatically perform β-reduction if the range of the substitution contains a λ-abstraction.
- object FOLSubstitution
- object PreSubstitution
- object Substitutable extends ExprSubstitutable7 with SeqSubstitutable
- object Substitution
This is the API documentation for GAPT.
The main package is gapt.