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