--- a/src/HOL/Tools/ATP/atp_reconstruct.ML Thu Sep 22 10:02:16 2011 -0400
+++ b/src/HOL/Tools/ATP/atp_reconstruct.ML Thu Sep 22 16:30:47 2011 +0200
@@ -430,8 +430,12 @@
end
| NONE => (* a free or schematic variable *)
let
- val ts = map (do_term [] NONE) us @ extra_ts
- val T = map slack_fastype_of ts ---> HOLogic.typeT
+ val term_ts = map (do_term [] NONE) us
+ val ts = term_ts @ extra_ts
+ val T =
+ case opt_T of
+ SOME T => map slack_fastype_of term_ts ---> T
+ | NONE => map slack_fastype_of ts ---> HOLogic.typeT
val t =
case strip_prefix_and_unascii fixed_var_prefix s of
SOME s =>
--- a/src/HOL/Tools/Metis/metis_tactic.ML Thu Sep 22 10:02:16 2011 -0400
+++ b/src/HOL/Tools/Metis/metis_tactic.ML Thu Sep 22 16:30:47 2011 +0200
@@ -119,8 +119,6 @@
val dischargers = map (fst o snd) th_cls_pairs
val _ = trace_msg ctxt (fn () => "FOL_SOLVE: CONJECTURE CLAUSES")
val _ = app (fn th => trace_msg ctxt (fn () => Display.string_of_thm ctxt th)) cls
- val _ = trace_msg ctxt (fn () => "THEOREM CLAUSES")
- val _ = app (fn th => trace_msg ctxt (fn () => Display.string_of_thm ctxt th)) ths
val _ = trace_msg ctxt (fn () => "type_enc = " ^ type_enc)
val type_enc = type_enc_from_string Sound type_enc
val (sym_tab, axioms, old_skolems) =
@@ -129,6 +127,8 @@
reflexive_or_trivial_from_metis ctxt type_enc sym_tab old_skolems mth
| get_isa_thm _ (Isa_Raw ith) = ith
val axioms = axioms |> map (fn (mth, ith) => (mth, get_isa_thm mth ith))
+ val _ = trace_msg ctxt (fn () => "THEOREM CLAUSES")
+ val _ = app (fn (_, th) => trace_msg ctxt (fn () => Display.string_of_thm ctxt th)) axioms
val _ = trace_msg ctxt (fn () => "CLAUSES GIVEN TO METIS")
val thms = axioms |> map fst
val _ = app (fn th => trace_msg ctxt (fn () => Metis_Thm.toString th)) thms
--- a/src/HOL/Tools/Metis/metis_translate.ML Thu Sep 22 10:02:16 2011 -0400
+++ b/src/HOL/Tools/Metis/metis_translate.ML Thu Sep 22 16:30:47 2011 +0200
@@ -202,7 +202,8 @@
clauses ([], [])
(*
val _ =
- tracing ("PROPS:\n" ^ cat_lines (map (Syntax.string_of_term ctxt) props))
+ tracing ("PROPS:\n" ^
+ cat_lines (map (Syntax.string_of_term ctxt o snd) props))
*)
val (atp_problem, _, _, _, _, _, sym_tab) =
prepare_atp_problem ctxt CNF Hypothesis Axiom type_enc false no_lambdasN