class Substitution extends AnyRef
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.
- Source
- substitution.scala
- Alphabetic
- By Inheritance
- Substitution
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new Substitution(map: Map[Var, LambdaExpression])
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from Substitution to any2stringadd[Substitution] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (Substitution, B)
- Implicit
- This member is added by an implicit conversion from Substitution to ArrowAssoc[Substitution] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
apply[T, U](x: T)(implicit ev: Substitutable[Substitution, T, U]): U
Applies this substitution to an object.
Applies this substitution to an object.
- T
The type of x.
- U
The type of x substituted.
- x
The object to be substituted.
- ev
Testifies that applying a Substitution to an element of type T will result in an element of type U.
- def asFOLSubstitution: FOLSubstitution
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def compose(sub: Substitution): Substitution
- def domain: Set[Var]
-
def
ensuring(cond: (Substitution) ⇒ Boolean, msg: ⇒ Any): Substitution
- Implicit
- This member is added by an implicit conversion from Substitution to Ensuring[Substitution] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (Substitution) ⇒ Boolean): Substitution
- Implicit
- This member is added by an implicit conversion from Substitution to Ensuring[Substitution] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): Substitution
- Implicit
- This member is added by an implicit conversion from Substitution to Ensuring[Substitution] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): Substitution
- Implicit
- This member is added by an implicit conversion from Substitution to Ensuring[Substitution] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(a: Any): Boolean
- Definition Classes
- Substitution → AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from Substitution to StringFormat[Substitution] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- Substitution → AnyRef → Any
- def isIdentity: Boolean
- def isInjective(dom: Set[Var]): Boolean
- def isInjectiveOnDomain: Boolean
- def isInjectiveRenaming: Boolean
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isRenaming: Boolean
- val map: Map[Var, LambdaExpression]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- def range: Set[Var]
- def restrict(newDomain: Iterable[Var]): Substitution
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Substitution → AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (Substitution, B)
- Implicit
- This member is added by an implicit conversion from Substitution to ArrowAssoc[Substitution] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc