functor (I : Identifiable->
  sig
    type t = I.t
    val define : t -> unit
    val get_definition : t -> Fol.decl
    val on_definition : (t -> Fol.decl -> unit) -> unit
    val get_ind : t -> integer
    val has_ind : t -> Fol.pred -> bool
  end