let add_newvalue (ls, FreeVar fv, ctr : t_subst) (t : term) : term * t_subst = let n = create_number fv 0 in (Var n, ((n,t)::ls, FreeVar (fv+1), ctr))