let fresh sigma x =
let base = Var.basename x in
let tau = Var.var_type x in
let k = try Smap.find base sigma.cpt with Not_found -> 0 in
let y = Var.ident_named_var base k tau in
y , { cpt = Smap.add base (succ k) sigma.cpt ;
var = Vmap.add x (e_var y) sigma.var }