Module Ac.Make

Parameters

module X : Sig.X

Signature

type r = X.r
type t = r Sig.ac
val make : Expr.t -> r * Expr.t list
val is_mine_symb : Symbols.t -> bool

Tells whether the given symbol is AC.

val compare : t -> t -> int
val equal : t -> t -> bool
val hash : t -> int
val type_info : t -> Ty.t
val print : Stdlib.Format.formatter -> t -> unit
val leaves : t -> r list
val subst : r -> r -> t -> r
val add : Symbols.t -> (r * int) -> (r * int) list -> (r * int) list
val fully_interpreted : Symbols.t -> bool
val abstract_selectors : t -> (r * r) list -> r * (r * r) list
val compact : (r * int) list -> (r * int) list
val assign_value : r -> r list -> (Expr.t * r) list -> (Expr.t * bool) option