1signature Subst =
2sig
3  eqtype 'a subs
4
5  val id      : 'a subs
6  val cons    : 'a subs * 'a -> 'a subs
7  val shift   : int * 'a subs -> 'a subs
8  val lift    : int * 'a subs -> 'a subs
9  val is_id   : 'a subs -> bool
10  val exp_rel : 'a subs * int -> int * 'a option
11  val comp    : ('a subs * 'a -> 'a) -> 'a subs * 'a subs -> 'a subs
12
13end
14