Class/Object

ap.terfor.substitutions

VariableShiftSubst

Related Docs: object VariableShiftSubst | package substitutions

Permalink

class VariableShiftSubst extends SimpleSubstitution

Substitution for renaming variables. The arguments of the substitution is a pair (List[Int], Int) that describes how each variable should be shifted: (List(0, 2, -1), 1) specifies that variable 0 stays the same, variable 1 is increased by 2 (renamed to 3), variable 2 is renamed to 1, and all other variables n are renamed to n+1.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. VariableShiftSubst
  2. SimpleSubstitution
  3. Substitution
  4. Sorted
  5. Function1
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (TerFor) ⇒ A): (TerFor) ⇒ A

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. final def apply(lc: LinearCombination): LinearCombination

    Permalink
    Definition Classes
    SimpleSubstitutionSubstitution
  6. final def apply(t: Term): Term

    Permalink

    Simple substitutions work by simple replacement

    Simple substitutions work by simple replacement

    Definition Classes
    SimpleSubstitutionSubstitution
  7. def apply(conj: PredConj): PredConj

    Permalink
    Definition Classes
    Substitution
  8. def apply(a: Atom): Atom

    Permalink
    Definition Classes
    Substitution
  9. def apply(conjs: NegatedConjunctions): NegatedConjunctions

    Permalink
    Definition Classes
    Substitution
  10. def apply(conj: Conjunction): Conjunction

    Permalink
    Definition Classes
    Substitution
  11. def apply(conj: ArithConj): ArithConj

    Permalink
    Definition Classes
    Substitution
  12. def apply(conj: InEqConj): InEqConj

    Permalink
    Definition Classes
    Substitution
  13. def apply(negConj: NegEquationConj): NegEquationConj

    Permalink
    Definition Classes
    Substitution
  14. def apply(conj: EquationConj): EquationConj

    Permalink
    Definition Classes
    Substitution
  15. def apply(f: Formula): Formula

    Permalink
    Definition Classes
    Substitution
  16. final def apply(t: TerFor): TerFor

    Permalink
    Definition Classes
    Substitution → Function1
  17. def applyToConstant(c: ConstantTerm): Term

    Permalink
    Attributes
    protected[ap.terfor.substitutions]
    Definition Classes
    VariableShiftSubstSimpleSubstitution
  18. def applyToVariable(v: VariableTerm): Term

    Permalink
    Attributes
    protected[ap.terfor.substitutions]
    Definition Classes
    VariableShiftSubstSimpleSubstitution
  19. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  20. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. def compose(that: VariableShiftSubst): VariableShiftSubst

    Permalink
  22. def compose[A](g: (A) ⇒ TerFor): (A) ⇒ TerFor

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  23. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  24. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  25. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  27. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  28. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  29. final def isSortedBy(otherOrder: TermOrder): Boolean

    Permalink

    Compare the order of this Substitution with a given order.

    Compare the order of this Substitution with a given order. We use equality here, because the behaviour would be quite confusing with the relation isSubOrderOf (remember that the substitution has to cope with arbitrary terms/formulas that are sorted by the order)

    Definition Classes
    SubstitutionSorted
  30. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  31. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  32. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  33. val order: TermOrder

    Permalink

    The term order that is used for the resulting terms or formulas.

    The term order that is used for the resulting terms or formulas. We require that a substitution is only applied to terms/formulas that are already sorted according to this order

    Attributes
    protected[ap.terfor.substitutions]
    Definition Classes
    VariableShiftSubstSubstitution
  34. def passQuantifiers(num: Int): Substitution

    Permalink

    Substitution that is to be used underneath num quantifiers.

    Substitution that is to be used underneath num quantifiers. Because we use De Bruijn indexes, passing quantifiers shifts the variables in a substitution

    Attributes
    protected[ap.terfor.substitutions]
    Definition Classes
    VariableShiftSubstSubstitution
  35. def pseudoApply(lc: LinearCombination): LinearCombination

    Permalink

    Some kinds of substitutions can only be applied when pseudo-reduction is allowed to be performed.

    Some kinds of substitutions can only be applied when pseudo-reduction is allowed to be performed. Implementations of the following method are allowed to multiply lc with arbitrary positive integers to achieve this.

    Attributes
    protected[ap.terfor.substitutions]
    Definition Classes
    SimpleSubstitutionSubstitution
  36. def sortBy(newOrder: TermOrder): VariableShiftSubst

    Permalink

    Re-sort an object with a new TermOrder.

    Re-sort an object with a new TermOrder. It is guaranteed that the result isSortedBy(order)

    Definition Classes
    VariableShiftSubstSorted
  37. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  38. def toString(): String

    Permalink
    Definition Classes
    Function1 → AnyRef → Any
  39. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from SimpleSubstitution

Inherited from Substitution

Inherited from Sorted[Substitution]

Inherited from (TerFor) ⇒ TerFor

Inherited from AnyRef

Inherited from Any

Ungrouped