src/HOL/Tools/Quickcheck/quickcheck_common.ML
changeset 42287 d98eb048a2e4
parent 42229 1491b7209e76
child 42361 23f352990944
equal deleted inserted replaced
42286:24075ad39ca2 42287:d98eb048a2e4
    45   if define_foundationally andalso is_some termination_tac then
    45   if define_foundationally andalso is_some termination_tac then
    46     let
    46     let
    47       val eqs_t = mk_equations (map2 (fn name => fn T => Free (name, T)) names Ts)
    47       val eqs_t = mk_equations (map2 (fn name => fn T => Free (name, T)) names Ts)
    48     in
    48     in
    49       Function.add_function
    49       Function.add_function
    50         (map (fn (name, T) =>
    50         (map (fn (name, T) => (Binding.conceal (Binding.name name), SOME T, NoSyn))
    51             Syntax.no_syn (Binding.conceal (Binding.name name), SOME T))
    51           (names ~~ Ts))
    52               (names ~~ Ts))
    52         (map (pair (apfst Binding.conceal Attrib.empty_binding)) eqs_t)
    53           (map (pair (apfst Binding.conceal Attrib.empty_binding)) eqs_t)
       
    54         Function_Common.default_config pat_completeness_auto
    53         Function_Common.default_config pat_completeness_auto
    55       #> snd
    54       #> snd
    56       #> Local_Theory.restore
    55       #> Local_Theory.restore
    57       #> (fn lthy => Function.prove_termination NONE (the termination_tac lthy) lthy)
    56       #> (fn lthy => Function.prove_termination NONE (the termination_tac lthy) lthy)
    58       #> snd
    57       #> snd