sig
module type Domain =
sig
type t
val fprint : Format.formatter -> NonRelational.Domain.t -> unit
val order : NonRelational.Domain.t -> NonRelational.Domain.t -> bool
val top : NonRelational.Domain.t
val bottom : NonRelational.Domain.t
val join :
NonRelational.Domain.t ->
NonRelational.Domain.t -> NonRelational.Domain.t
val meet :
NonRelational.Domain.t ->
NonRelational.Domain.t -> NonRelational.Domain.t
val widening :
NonRelational.Domain.t ->
NonRelational.Domain.t -> NonRelational.Domain.t
val sem_itv : int -> int -> NonRelational.Domain.t
val sem_plus :
NonRelational.Domain.t ->
NonRelational.Domain.t -> NonRelational.Domain.t
val sem_minus :
NonRelational.Domain.t ->
NonRelational.Domain.t -> NonRelational.Domain.t
val sem_times :
NonRelational.Domain.t ->
NonRelational.Domain.t -> NonRelational.Domain.t
val sem_div :
NonRelational.Domain.t ->
NonRelational.Domain.t -> NonRelational.Domain.t
val sem_guard : NonRelational.Domain.t -> NonRelational.Domain.t
val backsem_plus :
NonRelational.Domain.t ->
NonRelational.Domain.t ->
NonRelational.Domain.t ->
NonRelational.Domain.t * NonRelational.Domain.t
val backsem_minus :
NonRelational.Domain.t ->
NonRelational.Domain.t ->
NonRelational.Domain.t ->
NonRelational.Domain.t * NonRelational.Domain.t
val backsem_times :
NonRelational.Domain.t ->
NonRelational.Domain.t ->
NonRelational.Domain.t ->
NonRelational.Domain.t * NonRelational.Domain.t
val backsem_div :
NonRelational.Domain.t ->
NonRelational.Domain.t ->
NonRelational.Domain.t ->
NonRelational.Domain.t * NonRelational.Domain.t
end
module MakeRelational : functor (D : Domain) -> Relational.Domain
end