package interpolants
- Alphabetic
- Public
- Protected
Type Members
- class ArraySimplifier extends Simplifier
Even more extended version of the InputAbsy simplifier that also rewrites certain array expression.
- class BitvectorSimplifier extends CollectingVisitor[Unit, (IExpression, Option[Interval])]
Class to simplify bit-vector expressions using information about the range of operands.
Class to simplify bit-vector expressions using information about the range of operands. In particular, bit-vector operations are replaced with simple Presburger operations if it is guaranteed that no overflows can occur
- abstract class ConcurrentProgram extends AnyRef
- class ExtArraySimplifier extends Simplifier
Even more extended version of the InputAbsy simplifier that also rewrites certain array expression.
- class FrameworkVocabulary extends AnyRef
- class InterpolantSimplifier extends Simplifier
Extended version of the InputAbsy simplifier that also rewrites certain array expressions: \exists int a; x = store(a, b, c) is replaced with select(x, b) = c
- class InterpolationContext extends AnyRef
- case class Interval(lower: IdealInt, upper: IdealInt) extends Product with Serializable
- class NonInterferenceChecker extends SoftwareInterpolationFramework
- class NonInterferenceChecker2 extends SoftwareInterpolationFramework
- class PartialInterpolant extends AnyRef
Class representing the different kinds of partial interpolants that are used to annotate arithmetic literals.
Class representing the different kinds of partial interpolants that are used to annotate arithmetic literals. A partial interpolant carries a "denominator", which represents a factor that the annotated arithmetic literal has to be multiplied with to make the partial interpolant valid. E.g.
x = 0 [y = 0, 2]
can be interpreted as equivalent to2*x = 0 [y = 0, 1]
. - class PredicateCollector extends CollectingVisitor[Unit, Unit]
- class PredicateReplace extends CollectingVisitor[Unit, IExpression]
- class SigTracker extends AnyRef
- abstract class SoftwareInterpolationFramework extends AnyRef
Abstract class providing some functionality commonly needed for interpolation-based software verification, e.g., axioms and prover for bitvector arithmetic, arrays, etc.
- class SymbolRangeEnvironment extends AnyRef
Class to store information about the value range of constants; this information is later used to simplify expressions
- class WolverineInterpolantLineariser extends CollectingVisitor[List[String], Unit]
Value Members
- object InterpolationContext
- object Interpolator
- object InterpolatorQE
- object Interval extends Serializable
- object NonInterferenceChecker
- object NonInterferenceChecker2
- object PartialInterpolant
- object PredicateCollector
- object PredicateReplace
- object ProofSimplifier
Module for simplifying a proof (certificate) by eliminating as many rounding steps as possible; this is currently done in a rather naive way
- object ResourceFiles
- object StructuredPrograms
- object WolverineInterfaceMain extends SoftwareInterpolationFramework