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 490057a642e5c272c
parent 49004 1e790c27162d
child 49006 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
     1.1 --- a/src/HOL/Tools/Nitpick/nitpick_hol.ML	Thu May 24 17:42:47 2012 +0200
     1.2 +++ b/src/HOL/Tools/Nitpick/nitpick_hol.ML	Thu May 24 17:46:35 2012 +0200
     1.3 @@ -1733,7 +1733,7 @@
     1.4        | NONE =>
     1.5          let
     1.6            fun def_inline_threshold () =
     1.7 -            if is_boolean_type (nth_range_type (length ts) T) andalso
     1.8 +            if is_boolean_type (body_type T) andalso
     1.9                 total_consts <> SOME true then
    1.10                def_inline_threshold_for_booleans
    1.11              else