sig
  val copy : Lang.F.sigma -> Lang.F.sigma
  val find : Lang.F.sigma -> Lang.F.term -> Lang.F.term
  val add : Lang.F.sigma -> Lang.F.term -> Lang.F.term -> unit
  val add_fun : Lang.F.sigma -> (Lang.F.term -> Lang.F.term) -> unit
  val add_filter : Lang.F.sigma -> (Lang.F.term -> bool) -> unit
end