equal
deleted
inserted
replaced
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 |