sig
val d_interp : Term.t -> Sym.arrays * Term.t list
val d_update : Term.t -> Term.t * Term.t * Term.t
val d_select : Term.t -> Term.t * Term.t
val d_create : Term.t -> Term.t
val d_select_update : Term.t -> Term.t * Term.t * Term.t * Term.t
type equalRel = Term.t -> Term.t -> Three.t
val is_interp : Term.t -> bool
val mk_create : Term.t -> Term.t
val mk_select : Funarr.equalRel -> Term.t -> Term.t -> Term.t
val mk_update : Funarr.equalRel -> Term.t -> Term.t -> Term.t -> Term.t
val sigma : Funarr.equalRel -> Sym.arrays -> Term.t list -> Term.t
val map : Funarr.equalRel -> (Term.t -> Term.t) -> Term.t -> Term.t
module Flat :
sig
val is : Term.t -> bool
val mk_create : Term.t -> Term.t
val mk_update : Term.t -> Term.t -> Term.t -> Term.t
val mk_select : Term.t -> Term.t -> Term.t
val apply : Term.Equal.t -> Term.t -> Term.t
end
end