48 lines
1.0 KiB
Scala
48 lines
1.0 KiB
Scala
package domain
|
|
|
|
import com.microsoft.z3._
|
|
|
|
/**
|
|
* Domain that maps everything to top.
|
|
*/
|
|
class TopDomain(ctx: Context) extends PrimitiveDomain {
|
|
|
|
override type Element = BoolExpr
|
|
|
|
override def sort: Sort = ctx.mkBoolSort()
|
|
|
|
override def top: Element = ctx.mkTrue()
|
|
|
|
override def bottom: Element = ctx.mkTrue()
|
|
|
|
override def meet(e1: Element, e2: Element): Element =
|
|
ctx.mkTrue()
|
|
|
|
override def join(e1: Element, e2: Element): Element =
|
|
ctx.mkTrue()
|
|
|
|
override def approx(e1: Element, e2: Element): BoolExpr =
|
|
ctx.mkTrue()
|
|
|
|
override def toElement(n: Long): Element =
|
|
ctx.mkTrue()
|
|
|
|
override def toElement(n: Double): Element =
|
|
ctx.mkTrue
|
|
|
|
override def sum(e1: Element, e2: Element): Element =
|
|
ctx.mkTrue()
|
|
|
|
override def neg(e: Element): Element =
|
|
ctx.mkTrue()
|
|
|
|
override def div(e1: Element, e2: Element): Element =
|
|
ctx.mkTrue()
|
|
|
|
override def mult(e1: Element, e2: Element): Element =
|
|
ctx.mkTrue()
|
|
|
|
override def rem(e1: Element, e2: Element): Element =
|
|
ctx.mkTrue()
|
|
}
|