25 lines
341 B
Scala
25 lines
341 B
Scala
package domain
|
|
|
|
import com.microsoft.z3.{BoolExpr, Expr, Sort}
|
|
|
|
/**
|
|
* Lattice.
|
|
*/
|
|
trait AbstractDomain {
|
|
|
|
type Element <: Expr
|
|
|
|
def sort: Sort
|
|
|
|
def top: Element
|
|
|
|
def bottom: Element
|
|
|
|
def meet(e1: Element, e2: Element): Element
|
|
|
|
def join(e1: Element, e2: Element): Element
|
|
|
|
def approx(e1: Element, e2: Element): BoolExpr
|
|
|
|
}
|