move eta-contraction to before translation to Metis, to ensure everything stays in sync
--- a/src/HOL/Tools/ATP/atp_translate.ML Fri Nov 18 11:47:12 2011 +0100
+++ b/src/HOL/Tools/ATP/atp_translate.ML Fri Nov 18 11:47:12 2011 +0100
@@ -692,7 +692,7 @@
| open_form t = t
fun lift_lams_part_1 ctxt type_enc =
- map (Envir.eta_contract #> close_form) #> rpair ctxt
+ map close_form #> rpair ctxt
#-> Lambda_Lifting.lift_lambdas
(SOME ((if polymorphism_of_type_enc type_enc = Polymorphic then
lam_lifted_poly_prefix
--- a/src/HOL/Tools/Metis/metis_tactic.ML Fri Nov 18 11:47:12 2011 +0100
+++ b/src/HOL/Tools/Metis/metis_tactic.ML Fri Nov 18 11:47:12 2011 +0100
@@ -72,7 +72,6 @@
th
else
let
- val th = th |> Drule.eta_contraction_rule
fun conv wrap ctxt ct =
if Meson_Clausify.is_quasi_lambda_free (term_of ct) then
Thm.reflexive ct
@@ -105,6 +104,8 @@
let val thy = Proof_Context.theory_of ctxt
val new_skolemizer =
Config.get ctxt new_skolemizer orelse null (Meson.choice_theorems thy)
+ val cls = cls |> map Drule.eta_contraction_rule
+ val ths0 = ths0 |> map Drule.eta_contraction_rule
val th_cls_pairs =
map2 (fn j => fn th =>
(Thm.get_name_hint th,