Module AbstractDomain.StackDomain

Domain whose members are stacks of elements (lists, last pushed is head of the list), partially ordered by the prefix relation (c;b;a <= b;a), and whose join computes the longest common prefix (so c;b;a join f;g;b;c;a = a), so the top element is the empty stack.

Parameters

Signature

include WithTop with type t = Element.t list
include S
include NoJoin
val (<=) : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val top : t
val is_top : t -> bool
val push : Element.t -> t -> t
val pop : t -> t

throws exception on empty/top