src/HOL/Tools/split_rule.ML
changeset 43333 2bdec7f430d3
parent 40388 cb9fd7dd641c
child 44121 44adaa6db327
equal deleted inserted replaced
43332:dca2c7c598f0 43333:2bdec7f430d3
    71           | mk_tuple _ x = x;
    71           | mk_tuple _ x = x;
    72         val newt = ap_split' Us U (Var (v, T'));
    72         val newt = ap_split' Us U (Var (v, T'));
    73         val cterm = Thm.cterm_of (Thm.theory_of_thm rl);
    73         val cterm = Thm.cterm_of (Thm.theory_of_thm rl);
    74         val (vs', insts) = fold mk_tuple ts (vs, []);
    74         val (vs', insts) = fold mk_tuple ts (vs, []);
    75       in
    75       in
    76         (instantiate ([], [(cterm t, cterm newt)] @ insts) rl, vs')
    76         (Drule.instantiate_normalize ([], [(cterm t, cterm newt)] @ insts) rl, vs')
    77       end
    77       end
    78   | complete_split_rule_var _ x = x;
    78   | complete_split_rule_var _ x = x;
    79 
    79 
    80 fun collect_vars (Abs (_, _, t)) = collect_vars t
    80 fun collect_vars (Abs (_, _, t)) = collect_vars t
    81   | collect_vars t =
    81   | collect_vars t =