src/HOL/Tools/BNF/bnf_fp_def_sugar.ML
changeset 58935 dcad9bad43e7
parent 58912 22928e3ba185
parent 58928 23d0ffd48006
child 58963 26bf09b95dda
equal deleted inserted replaced
58917:a3be9a47e2d7 58935:dcad9bad43e7
  2014           Type (bad_tc, _) =>
  2014           Type (bad_tc, _) =>
  2015           let
  2015           let
  2016             val fake_T = qsoty (unfreeze_fp X);
  2016             val fake_T = qsoty (unfreeze_fp X);
  2017             val fake_T_backdrop = qsoty (unfreeze_fp X_backdrop);
  2017             val fake_T_backdrop = qsoty (unfreeze_fp X_backdrop);
  2018             fun register_hint () =
  2018             fun register_hint () =
  2019               "\nUse the " ^ quote (fst (fst @{command_spec "bnf"})) ^ " command to register " ^
  2019               "\nUse the " ^ quote (#1 @{command_spec "bnf"}) ^ " command to register " ^
  2020               quote bad_tc ^ " as a bounded natural functor to allow nested (co)recursion through \
  2020               quote bad_tc ^ " as a bounded natural functor to allow nested (co)recursion through \
  2021               \it";
  2021               \it";
  2022           in
  2022           in
  2023             if is_some (bnf_of no_defs_lthy bad_tc) orelse
  2023             if is_some (bnf_of no_defs_lthy bad_tc) orelse
  2024                is_some (fp_sugar_of no_defs_lthy bad_tc) then
  2024                is_some (fp_sugar_of no_defs_lthy bad_tc) then