clarified Term.dest_abs (again, refining 71dfb835025d): only Free names are relevant for abstract terms, without syntax;
authorwenzelm
Sat, 02 Oct 2021 12:45:51 +0200
changeset 74410 254de9de2cd7
parent 74409 83d2208252d1
child 74411 20b0b27bc6c7
clarified Term.dest_abs (again, refining 71dfb835025d): only Free names are relevant for abstract terms, without syntax;
src/Pure/term.ML
--- a/src/Pure/term.ML	Sat Oct 02 12:15:37 2021 +0200
+++ b/src/Pure/term.ML	Sat Oct 02 12:45:51 2021 +0200
@@ -974,7 +974,7 @@
 
 fun dest_abs (x, T, b) =
   if used_free x b then
-    let val (x', _) = Name.variant x (declare_term_names b Name.context)
+    let val (x', _) = Name.variant x (declare_term_frees b Name.context);
     in (x', subst_bound (Free (x', T), b)) end
   else (x, subst_bound (Free (x, T), b));