proper substitution of types within term;
authorwenzelm
Wed, 06 Dec 2023 15:15:14 +0100
changeset 79147 bfe5c20074e4
parent 79146 feb94ac5df41
child 79148 99201e7b1d94
proper substitution of types within term;
src/Pure/zterm.ML
--- a/src/Pure/zterm.ML	Wed Dec 06 13:16:34 2023 +0100
+++ b/src/Pure/zterm.ML	Wed Dec 06 15:15:14 2023 +0100
@@ -523,10 +523,9 @@
           if i = ~1 andalso Names.defined tfrees a then ZTVar ((a, idx), S)
           else raise Same.SAME);
     val term =
-      if Names.is_empty frees then Same.same else
-        subst_term_same typ (fn ((x, i), T) =>
-          if i = ~1 andalso Names.defined frees x then ZVar ((x, idx), T)
-          else raise Same.SAME);
+      subst_term_same typ (fn ((x, i), T) =>
+        if i = ~1 andalso Names.defined frees x then ZVar ((x, idx), T)
+        else raise Same.SAME);
   in Same.commit (map_proof_same typ term) prf end;
 
 fun varifyT_proof names prf =