merged
authorwenzelm
Wed, 22 Jun 2011 16:35:31 +0200
changeset 43508 bbbd6cad7df1
parent 43507 d566714a9ce1 (diff)
parent 43506 bf7400573617 (current diff)
child 43509 4414c8b02bf9
child 43524 d75e285fcf3e
merged
--- a/src/HOL/Tools/SMT/smt_translate.ML	Wed Jun 22 16:32:36 2011 +0200
+++ b/src/HOL/Tools/SMT/smt_translate.ML	Wed Jun 22 16:35:31 2011 +0200
@@ -38,6 +38,8 @@
   (*translation*)
   val add_config: SMT_Utils.class * (Proof.context -> config) ->
     Context.generic -> Context.generic 
+  val lift_lambdas: Proof.context -> term list ->
+    Proof.context * (term list * term list)
   val translate: Proof.context -> string list -> (int * thm) list ->
     string * recon
 end
@@ -308,7 +310,7 @@
   (Termtab.empty, ctxt)
   |> fold_map (traverse []) ts
   |> (fn (us, (defs, ctxt')) =>
-       (ctxt', Termtab.fold (cons o snd o snd) defs us))
+       (ctxt', (Termtab.fold (cons o snd o snd) defs [], us)))
 
 end
 
@@ -588,6 +590,7 @@
       ts2
       |> eta_expand ctxt1 is_fol funcs
       |> lift_lambdas ctxt1
+      ||> (op @)
       |-> (fn ctxt1' => pair ctxt1' o intro_explicit_application ctxt1 funcs)
 
     val ((rewrite_rules, extra_thms, builtin), ts4) =