src/HOL/Tools/Nitpick/nitpick_preproc.ML
changeset 58634 9f10d82e8188
parent 56245 84fc7dfa3cd4
child 59058 a78612c67ec0
equal deleted inserted replaced
58633:8529745af3dc 58634:9f10d82e8188
   437                (not careful orelse not (is_Var t1) orelse
   437                (not careful orelse not (is_Var t1) orelse
   438                 String.isPrefix val_var_prefix (fst (fst (dest_Var t1)))) then
   438                 String.isPrefix val_var_prefix (fst (fst (dest_Var t1)))) then
   439                 s_let Ts "l" (n + 1) dataT bool_T
   439                 s_let Ts "l" (n + 1) dataT bool_T
   440                       (fn t1 =>
   440                       (fn t1 =>
   441                           discriminate_value hol_ctxt x t1 ::
   441                           discriminate_value hol_ctxt x t1 ::
   442                           map3 (sel_eq Ts x t1) (index_seq 0 n) arg_Ts args
   442                           @{map 3} (sel_eq Ts x t1) (index_seq 0 n) arg_Ts args
   443                           |> foldr1 s_conj) t1
   443                           |> foldr1 s_conj) t1
   444             else
   444             else
   445               raise SAME ()
   445               raise SAME ()
   446           end
   446           end
   447         | _ => raise SAME ())
   447         | _ => raise SAME ())