fixed soundness bug in Nitpick related to unfolding -- the unfolding criterion must at least as strict when looking at a definitional axiom as elsewhere, otherwise we end up unfolding a constant's definition in its own definition, yielding a trivial equality
authorblanchet
Thu, 24 May 2012 17:46:35 +0200
changeset 47990 7a642e5c272c
parent 47989 1e790c27162d
child 47991 3eb598b044ad
fixed soundness bug in Nitpick related to unfolding -- the unfolding criterion must at least as strict when looking at a definitional axiom as elsewhere, otherwise we end up unfolding a constant's definition in its own definition, yielding a trivial equality
src/HOL/Tools/Nitpick/nitpick_hol.ML
--- a/src/HOL/Tools/Nitpick/nitpick_hol.ML	Thu May 24 17:42:47 2012 +0200
+++ b/src/HOL/Tools/Nitpick/nitpick_hol.ML	Thu May 24 17:46:35 2012 +0200
@@ -1733,7 +1733,7 @@
       | NONE =>
         let
           fun def_inline_threshold () =
-            if is_boolean_type (nth_range_type (length ts) T) andalso
+            if is_boolean_type (body_type T) andalso
                total_consts <> SOME true then
               def_inline_threshold_for_booleans
             else