Class/Object

ap.terfor.substitutions

PseudoDivSubstitution

Related Docs: object PseudoDivSubstitution | package substitutions

Permalink

abstract class PseudoDivSubstitution extends Substitution

Trait for substitutions that can also replace constants or variables with coefficient, like n * c. This is done through pseudo-division if necessary (and possible)

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PseudoDivSubstitution
  2. Substitution
  3. Sorted
  4. Function1
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PseudoDivSubstitution()

    Permalink

Abstract Value Members

  1. abstract def applyToConstant(c: ConstantTerm): (IdealInt, Term)

    Permalink
    Attributes
    protected[ap.terfor.substitutions]
  2. abstract def applyToVariable(v: VariableTerm): (IdealInt, Term)

    Permalink

    The subclasses can specify both the coefficient of the variable or constant that is supposed to be replaced and the actual replacement.

    The subclasses can specify both the coefficient of the variable or constant that is supposed to be replaced and the actual replacement. I.e., for applyToVariable(v)==(n, t) the described substitution is n * v |-> t

    Attributes
    protected[ap.terfor.substitutions]
  3. abstract def 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
    Substitution
  4. abstract 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
    Substitution
  5. abstract def sortBy(order: TermOrder): Substitution

    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
    Sorted

Concrete 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. def apply(lc: LinearCombination): LinearCombination

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

    Permalink

    Application to terms is not supported, because it would not be possible to do pseudo-division

    Application to terms is not supported, because it would not be possible to do pseudo-division

    Definition Classes
    PseudoDivSubstitutionSubstitution
  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. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  19. def compose[A](g: (A) ⇒ TerFor): (A) ⇒ TerFor

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  23. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  24. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  25. 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
  26. final def ne(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  28. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  29. 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
    PseudoDivSubstitutionSubstitution
  30. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    Function1 → AnyRef → Any
  32. final def wait(arg0: Long, arg1: Int): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(): Unit

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

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from Substitution

Inherited from Sorted[Substitution]

Inherited from (TerFor) ⇒ TerFor

Inherited from AnyRef

Inherited from Any

Ungrouped