add_finals: prep_consts, i.e. varify type;
--- a/src/Pure/theory.ML	Tue Jan 24 00:43:23 2006 +0100
+++ b/src/Pure/theory.ML	Tue Jan 24 00:43:24 2006 +0100
@@ -342,7 +342,8 @@
     fun const_of (Const const) = const
       | const_of (Free _) = error "Attempt to finalize variable (or undeclared constant)"
       | const_of _ = error "Attempt to finalize non-constant term";
-    fun specify (c, T) = Defs.define (Sign.the_const_type thy) (c ^ " axiom") (c, T) [];
+    fun specify (c, T) =
+      Defs.define (Sign.the_const_type thy) (c ^ " axiom") (prep_const thy (c, T)) [];
     val finalize = specify o check_overloading thy overloaded o
       const_of o no_vars (Sign.pp thy) o prep_term thy;
   in thy |> map_defs (fold finalize args) end;