Class

ap.theories.nia

NIASplitter

Related Doc: package nia

Permalink

class NIASplitter extends TheoryProcedure

Splitter handles the splitting when no new information can be deduced

Linear Supertypes
TheoryProcedure, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NIASplitter
  2. TheoryProcedure
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new NIASplitter(gbCache: GBCache)

    Permalink

Type Members

  1. class RichActionSeq extends AnyRef

    Permalink
    Definition Classes
    TheoryProcedure

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

    Permalink
    Definition Classes
    Any
  5. def binarySplit(intervalSet: IntervalSet, targetSet: Seq[ConstantTerm])(implicit order: TermOrder): Iterator[(Seq[ArithConj], String, BitSet, Seq[Action], Boolean)]

    Permalink

    Splitting of intervals in the middle

  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  7. def discreteSplit(intervalSet: IntervalSet, targetSet: Seq[ConstantTerm])(implicit order: TermOrder): Iterator[(Seq[ArithConj], String, BitSet, Seq[Action], Boolean)]

    Permalink

    Finds a possible split of x in [a, b] into the individual cases x = a, x = a + 1, ..., x = b

  8. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  10. def gapSplit(intervalSet: IntervalSet, targetSet: Set[ConstantTerm])(implicit order: TermOrder): Iterator[(Seq[ArithConj], String, BitSet, Seq[Action], Boolean)]

    Permalink

    Utilizes any gaps in an interval (i.e.

    Utilizes any gaps in an interval (i.e. x = [lb, -a] U [a, ub]) and branches into two (i.e. x <= -a V x >= a)

  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  12. def goalState(goal: Goal): proof.theoryPlugins.Plugin.GoalState.Value

    Permalink

    From a theory procedure, determine in which state a given goal is.

    From a theory procedure, determine in which state a given goal is.

    Definition Classes
    TheoryProcedure
  13. def handleGoal(goal: Goal): Seq[Action]

    Permalink

    Apply this procedure to the given goal.

    Apply this procedure to the given goal.

    Definition Classes
    NIASplitterTheoryProcedure
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  15. def infinitySplit(intervalSet: IntervalSet, targetSet: Set[ConstantTerm])(implicit order: TermOrder): Iterator[(Seq[ArithConj], String, BitSet, Seq[Action], Boolean)]

    Permalink

    Splits intervals that ranges from -Inf to +Inf on zero

  16. def interfaceConstants(goal: Goal, consideredPredicates: Set[Predicate], theoryPredicates: Set[Predicate]): Set[ConstantTerm]

    Permalink

    Find constants that occur both in atoms constructed using predicates from consideredPredicates and in atoms constructed using predicates not in theoryPredicates.

    Find constants that occur both in atoms constructed using predicates from consideredPredicates and in atoms constructed using predicates not in theoryPredicates. Arithmetic facts (equations, disequations, inequalities) in a goal are not considered, but arithmetic clauses are included.

    Definition Classes
    TheoryProcedure
  17. def interfaceConstants(goal: Goal, theoryPredicates: Set[Predicate]): Set[ConstantTerm]

    Permalink

    Find constants that occur both in atoms constructed using theory predicates and in atoms constructed using non-theory predicates.

    Find constants that occur both in atoms constructed using theory predicates and in atoms constructed using non-theory predicates. Arithmetic facts (equations, disequations, inequalities) in a goal are not considered, but arithmetic clauses are included.

    Definition Classes
    TheoryProcedure
  18. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  19. def linearizers(predicates: List[Atom], intervalSet: IntervalSet)(implicit order: TermOrder): Set[ConstantTerm]

    Permalink

    Here follow the different splitting strategies.

  20. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  21. def negeqSplit(intervalSet: IntervalSet, negeqs: NegEquationConj, targetSet: Set[ConstantTerm])(implicit order: TermOrder): Iterator[(Seq[ArithConj], String, BitSet, Seq[Action], Boolean)]

    Permalink

    Takes negative equations (i.e.

    Takes negative equations (i.e. x+y+... != 0) and splits them around zero

  22. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  24. implicit def richActionSeq(acts: Seq[Action]): RichActionSeq

    Permalink

    An implicit function to simplify cascading of possible actions.

    An implicit function to simplify cascading of possible actions.

    Attributes
    protected
    Definition Classes
    TheoryProcedure
  25. def splitTermAt(x: ConstantTerm, mid: IdealInt, swap: Boolean = false)(implicit order: TermOrder): Seq[Action]

    Permalink
  26. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    NIASplitter → AnyRef → Any
  28. def updateProcedure(goal: Goal, factCollector: (Conjunction) ⇒ Unit): Option[Seq[(TheoryProcedure, Int)]]

    Permalink

    Optionally update the task with possibly new information from the goal.

    Optionally update the task with possibly new information from the goal.

    Definition Classes
    TheoryProcedure
  29. final def wait(arg0: Long, arg1: Int): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. 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 TheoryProcedure

Inherited from AnyRef

Inherited from Any

Ungrouped