src/HOL/Nitpick_Examples/Mono_Nits.thy
changeset 33573 e61ad1690c11
parent 33232 f93390060bbe
child 33698 b5f36fa5a7b4
equal deleted inserted replaced
33572:d78f347515e0 33573:e61ad1690c11
    26    psimp_table = Symtab.empty, intro_table = Symtab.empty,
    26    psimp_table = Symtab.empty, intro_table = Symtab.empty,
    27    ground_thm_table = Inttab.empty, ersatz_table = [],
    27    ground_thm_table = Inttab.empty, ersatz_table = [],
    28    skolems = Unsynchronized.ref [], special_funs = Unsynchronized.ref [],
    28    skolems = Unsynchronized.ref [], special_funs = Unsynchronized.ref [],
    29    unrolled_preds = Unsynchronized.ref [], wf_cache = Unsynchronized.ref []}
    29    unrolled_preds = Unsynchronized.ref [], wf_cache = Unsynchronized.ref []}
    30 (* term -> bool *)
    30 (* term -> bool *)
    31 val is_mono = NitpickMono.formulas_monotonic ext_ctxt @{typ 'a} [] []
    31 val is_mono = Nitpick_Mono.formulas_monotonic ext_ctxt @{typ 'a} [] []
    32 fun is_const t =
    32 fun is_const t =
    33   let val T = fastype_of t in
    33   let val T = fastype_of t in
    34     is_mono (Logic.mk_implies (Logic.mk_equals (Free ("dummyP", T), t),
    34     is_mono (Logic.mk_implies (Logic.mk_equals (Free ("dummyP", T), t),
    35                                @{const False}))
    35                                @{const False}))
    36   end
    36   end