diff -r 33d7bcfd5603 -r da982cded326 QuotMain.thy --- a/QuotMain.thy Tue Oct 06 01:50:13 2009 +0200 +++ b/QuotMain.thy Tue Oct 06 02:02:51 2009 +0200 @@ -737,17 +737,20 @@ val (lhs, rhs) = Thm.dest_equals (cprop_of def) val xs = strip_abs_vars (term_of rhs) val (_, ctxt') = Variable.add_fixes (map fst xs) ctxt - - fun get_lhs [] = lhs - | get_lhs (x::xs) = - let val cx = cterm_of (ProofContext.theory_of ctxt') (Free x) - in Thm.capply (get_lhs xs) cx end + + val thy = ProofContext.theory_of ctxt' + fun get_lhs xs = + let + val cxs = map (cterm_of thy o Free) xs + in + Drule.list_comb (lhs, cxs) + end fun get_conv [] = Conv.rewr_conv def | get_conv (x::xs) = Conv.fun_conv (get_conv xs) in - get_conv xs (get_lhs (rev xs)) |> + get_conv xs (get_lhs xs) |> singleton (ProofContext.export ctxt' ctxt) end *}