sig
  type t = Letify.Sigma.t
  val equal : t -> t -> bool
  val pretty : string -> Format.formatter -> t -> unit
  val e_apply : t -> Lang.F.term -> Lang.F.term
  val p_apply : t -> Lang.F.pred -> Lang.F.pred
  val empty : t
  val add : Lang.F.var -> Lang.F.term -> t -> t
  val assume : t -> Lang.F.pred -> t
  val find : Lang.F.var -> t -> Lang.F.term
  val iter : (Lang.F.var -> Lang.F.term -> unit) -> t -> unit
  val domain : t -> Lang.F.Vars.t
  val codomain : t -> Lang.F.Vars.t
end