Packages

trait Theory extends AnyRef

trait for representing signature and axioms of theories, e.g., the theory of arrays. This is used to make sure that theory symbols are unique.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Theory
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract val axioms: Formula

    Axioms defining the theory; such axioms are simply added as formulae to the problem to be proven, and thus handled using the standard reasoning techniques (including e-matching).

  2. abstract val functionPredicateMapping: Seq[(IFunction, Predicate)]

    Mapping of interpreted functions to interpreted predicates, used translating input ASTs to internal ASTs (the latter only containing predicates).

  3. abstract val functionalPredicates: Set[Predicate]

    Information which of the predicates satisfy the functionality axiom; at some internal points, such predicates can be handled more efficiently

  4. abstract val functions: Seq[IFunction]

    Interpreted functions of the theory

  5. abstract def plugin: Option[Plugin]

    Optionally, a plug-in implementing reasoning in this theory

  6. abstract val predicateMatchConfig: PredicateMatchConfig

    Information how interpreted predicates should be handled for e-matching.

  7. abstract val predicates: Seq[Predicate]

    Interpreted predicates of the theory

  8. abstract val totalityAxioms: Formula

    Additional axioms that are included if the option +genTotalityAxioms is given to Princess.

  9. abstract val triggerRelevantFunctions: Set[IFunction]

    A list of functions that should be considered in automatic trigger generation

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  6. val dependencies: Iterable[Theory]

    Optionally, other theories that this theory depends on.

    Optionally, other theories that this theory depends on. Specified dependencies will be loaded before this theory, but the preprocessors of the dependencies will be called after the preprocessor of this theory.

  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def evalFun(f: IFunApp): Option[ITerm]

    Optionally, a function evaluating theory functions applied to concrete arguments, represented as constructor terms.

  10. def evalPred(p: IAtom): Option[Boolean]

    Optionally, a function evaluating theory predicates applied to concrete arguments, represented as constructor terms.

  11. def evaluatingSimplifier(t: IExpression): IExpression

    A simplification function that applies the methods evalFun and evalPred to some given expression (but not recursively).

    A simplification function that applies the methods evalFun and evalPred to some given expression (but not recursively). This is used in the Theory.postSimplifiers methods.

  12. def extend(order: TermOrder): TermOrder

    Add the symbols defined by this theory to the order

  13. def generateDecoderData(model: Conjunction): Option[TheoryDecoderData]

    If this theory defines any Theory.Decoder, which can translate model data into some theory-specific representation, this function can be overridden to pre-compute required data from a model.

  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  16. def iPostprocess(f: IFormula, signature: Signature): IFormula

    Optionally, a post-processor that is applied to formulas output by the prover, for instance to interpolants or the result of quantifier elimination.

    Optionally, a post-processor that is applied to formulas output by the prover, for instance to interpolants or the result of quantifier elimination. This method will be applied to the formula after calling Internal2Inputabsy.

  17. def iPreprocess(f: IFormula, signature: Signature): (IFormula, Signature)

    Optionally, a pre-processor that is applied to formulas over this theory, prior to sending the formula to a prover.

    Optionally, a pre-processor that is applied to formulas over this theory, prior to sending the formula to a prover. This method will be applied very early in the translation process.

  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. def isSoundForSat(theories: Seq[Theory], config: Theory.SatSoundnessConfig.Value): Boolean

    Check whether we can tell that the given combination of theories is sound for checking satisfiability of a problem, i.e., if proof construction ends up in a dead end, can it be concluded that a problem is satisfiable.

  20. val modelGenPredicates: Set[Predicate]

    Optionally, a set of predicates used by the theory to tell the PresburgerModelFinder about terms that will be handled exclusively by this theory.

    Optionally, a set of predicates used by the theory to tell the PresburgerModelFinder about terms that will be handled exclusively by this theory. If a proof goal in model generation mode contains an atom p(x), for p in this set, then the PresburgerModelFinder will ignore x when assigning concrete values to symbols.

  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  24. def postSimplifiers: Seq[(IExpression) => IExpression]

    Optionally, simplifiers that are applied to formulas output by the prover, for instance to interpolants or the result of quantifier.

    Optionally, simplifiers that are applied to formulas output by the prover, for instance to interpolants or the result of quantifier. Such simplifiers are invoked by ap.parser.Simplifier. By default, this list will only include the evaluatingSimplifier.

  25. def postprocess(f: Conjunction, order: TermOrder): Conjunction

    Optionally, a post-processor that is applied to formulas output by the prover, for instance to interpolants or the result of quantifier elimination.

    Optionally, a post-processor that is applied to formulas output by the prover, for instance to interpolants or the result of quantifier elimination. This method will be applied to the raw formulas, before calling Internal2Inputabsy.

  26. def preprocess(f: Conjunction, order: TermOrder): Conjunction

    Optionally, a pre-processor that is applied to formulas over this theory, prior to sending the formula to a prover.

  27. val reducerPlugin: ReducerPluginFactory

    Optionally, a plugin for the reducer applied to formulas both before and during proving.

  28. val singleInstantiationPredicates: Set[Predicate]

    When instantiating existentially quantifier formulas, EX phi, at most one instantiation is necessary provided that all predicates in phi are contained in this set.

  29. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  30. def toString(): String
    Definition Classes
    AnyRef → Any
  31. lazy val transitiveDependencies: Iterable[Theory]

    Dependencies closed under transitivity, i.e., also including the dependencies of dependencies.

  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  34. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped