avoiding misleading name duplicate
authorhaftmann
Fri, 23 Jan 2009 19:51:49 +0100
changeset 29623 1219985d24b5
parent 29622 2eeb09477ed3
child 29624 e61ba06cddcd
avoiding misleading name duplicate
src/HOL/Tools/datatype_case.ML
--- a/src/HOL/Tools/datatype_case.ML	Fri Jan 23 19:51:48 2009 +0100
+++ b/src/HOL/Tools/datatype_case.ML	Fri Jan 23 19:51:49 2009 +0100
@@ -419,21 +419,21 @@
 
 (* destruct nested patterns *)
 
-fun strip_case' dest (pat, rhs) =
+fun strip_case'' dest (pat, rhs) =
   case dest (Term.add_free_names pat []) rhs of
     SOME (exp as Free _, clauses) =>
       if member op aconv (OldTerm.term_frees pat) exp andalso
         not (exists (fn (_, rhs') =>
           member op aconv (OldTerm.term_frees rhs') exp) clauses)
       then
-        maps (strip_case' dest) (map (fn (pat', rhs') =>
+        maps (strip_case'' dest) (map (fn (pat', rhs') =>
           (subst_free [(exp, pat')] pat, rhs')) clauses)
       else [(pat, rhs)]
   | _ => [(pat, rhs)];
 
 fun gen_strip_case dest t = case dest [] t of
     SOME (x, clauses) =>
-      SOME (x, maps (strip_case' dest) clauses)
+      SOME (x, maps (strip_case'' dest) clauses)
   | NONE => NONE;
 
 val strip_case = gen_strip_case oo dest_case;