src/HOL/Tools/Metis/metis_generate.ML
changeset 46365 547d1a1dcaf6
parent 46340 cac402c486b0
child 46409 d4754183ccce
equal deleted inserted replaced
46364:abab10d1f4a3 46365:547d1a1dcaf6
   228            (0 upto length fact_clauses - 1) fact_clauses
   228            (0 upto length fact_clauses - 1) fact_clauses
   229     val (old_skolems, props) =
   229     val (old_skolems, props) =
   230       fold_rev (fn (name, th) => fn (old_skolems, props) =>
   230       fold_rev (fn (name, th) => fn (old_skolems, props) =>
   231                    th |> prop_of |> Logic.strip_imp_concl
   231                    th |> prop_of |> Logic.strip_imp_concl
   232                       |> conceal_old_skolem_terms (length clauses) old_skolems
   232                       |> conceal_old_skolem_terms (length clauses) old_skolems
   233                       ||> lam_trans = lam_liftingN ? eliminate_lam_wrappers
   233                       ||> (lam_trans = liftingN orelse lam_trans = lam_liftingN)
       
   234                           ? eliminate_lam_wrappers
   234                       ||> (fn prop => (name, prop) :: props))
   235                       ||> (fn prop => (name, prop) :: props))
   235                clauses ([], [])
   236                clauses ([], [])
   236     (*
   237     (*
   237     val _ =
   238     val _ =
   238       tracing ("PROPS:\n" ^
   239       tracing ("PROPS:\n" ^
   239                cat_lines (map (Syntax.string_of_term ctxt o snd) props))
   240                cat_lines (map (Syntax.string_of_term ctxt o snd) props))
   240     *)
   241     *)
   241     val lam_trans = if lam_trans = combinatorsN then no_lamsN else lam_trans
   242     val lam_trans = if lam_trans = combsN then no_lamsN else lam_trans
   242     val (atp_problem, _, _, lifted, sym_tab) =
   243     val (atp_problem, _, _, lifted, sym_tab) =
   243       prepare_atp_problem ctxt CNF Hypothesis Axiom type_enc false lam_trans
   244       prepare_atp_problem ctxt CNF Hypothesis Axiom type_enc false lam_trans
   244                           false false [] @{prop False} props
   245                           false false [] @{prop False} props
   245     (*
   246     (*
   246     val _ = tracing ("ATP PROBLEM: " ^
   247     val _ = tracing ("ATP PROBLEM: " ^