src/HOL/Tools/record.ML
changeset 40315 11846d9800de
parent 39557 fe5722fce758
child 40722 441260986b63
equal deleted inserted replaced
40314:b5ec88d9ac03 40315:11846d9800de
  1576       cterm_instantiate
  1576       cterm_instantiate
  1577         (map (pairself cert)
  1577         (map (pairself cert)
  1578           (case rev params of
  1578           (case rev params of
  1579             [] =>
  1579             [] =>
  1580               (case AList.lookup (op =) (Term.add_frees g []) s of
  1580               (case AList.lookup (op =) (Term.add_frees g []) s of
  1581                 NONE => sys_error "try_param_tac: no such variable"
  1581                 NONE => error "try_param_tac: no such variable"
  1582               | SOME T => [(P, if ca then concl else lambda (Free (s, T)) concl), (x, Free (s, T))])
  1582               | SOME T => [(P, if ca then concl else lambda (Free (s, T)) concl), (x, Free (s, T))])
  1583           | (_, T) :: _ =>
  1583           | (_, T) :: _ =>
  1584               [(P, list_abs (params, if ca then concl else incr_boundvars 1 (Abs (s, T, concl)))),
  1584               [(P, list_abs (params, if ca then concl else incr_boundvars 1 (Abs (s, T, concl)))),
  1585                 (x, list_abs (params, Bound 0))])) rule';
  1585                 (x, list_abs (params, Bound 0))])) rule';
  1586   in compose_tac (false, rule'', nprems_of rule) i end);
  1586   in compose_tac (false, rule'', nprems_of rule) i end);