equal
deleted
inserted
replaced
135 |> map (fn (s, T) => (Binding.name s, SOME T, NoSyn)) |
135 |> map (fn (s, T) => (Binding.name s, SOME T, NoSyn)) |
136 |> (fn fixes => ctxt |> Variable.set_body false |> Proof_Context.add_fixes fixes) |
136 |> (fn fixes => ctxt |> Variable.set_body false |> Proof_Context.add_fixes fixes) |
137 |
137 |
138 val do_preplay = preplay_timeout <> Time.zeroTime |
138 val do_preplay = preplay_timeout <> Time.zeroTime |
139 val try0_isar = try0_isar andalso do_preplay |
139 val try0_isar = try0_isar andalso do_preplay |
|
140 val compress_isar = if isar_proofs = NONE andalso do_preplay then 1000.0 else compress_isar |
140 |
141 |
141 val is_fixed = Variable.is_declared ctxt orf can Name.dest_skolem |
142 val is_fixed = Variable.is_declared ctxt orf can Name.dest_skolem |
142 fun skolems_of t = Term.add_frees t [] |> filter_out (is_fixed o fst) |> rev |
143 fun skolems_of t = Term.add_frees t [] |> filter_out (is_fixed o fst) |> rev |
143 |
144 |
144 fun get_role keep_role ((num, _), role, t, rule, _) = |
145 fun get_role keep_role ((num, _), role, t, rule, _) = |
277 |> isar_proof true params assms lems |
278 |> isar_proof true params assms lems |
278 |> postprocess_isar_proof_remove_unreferenced_steps I |
279 |> postprocess_isar_proof_remove_unreferenced_steps I |
279 |> relabel_isar_proof_canonically |
280 |> relabel_isar_proof_canonically |
280 |
281 |
281 val preplay_data as {preplay_outcome, overall_preplay_outcome, ...} = |
282 val preplay_data as {preplay_outcome, overall_preplay_outcome, ...} = |
282 preplay_data_of_isar_proof debug ctxt metis_type_enc metis_lam_trans do_preplay |
283 preplay_data_of_isar_proof debug ctxt metis_type_enc metis_lam_trans preplay_timeout |
283 preplay_timeout isar_proof |
284 isar_proof |
284 |
285 |
285 fun str_of_preplay_outcome outcome = |
286 fun str_of_preplay_outcome outcome = |
286 if Lazy.is_finished outcome then string_of_play_outcome (Lazy.force outcome) else "?" |
287 if Lazy.is_finished outcome then string_of_play_outcome (Lazy.force outcome) else "?" |
287 |
288 |
288 fun str_of_meth l meth = |
289 fun str_of_meth l meth = |
297 () |
298 () |
298 |
299 |
299 val (play_outcome, isar_proof) = |
300 val (play_outcome, isar_proof) = |
300 isar_proof |
301 isar_proof |
301 |> tap (trace_isar_proof "Original") |
302 |> tap (trace_isar_proof "Original") |
302 |> compress_isar_proof (if isar_proofs = SOME true then compress_isar else 1000.0) |
303 |> compress_isar_proof compress_isar preplay_data |
303 preplay_data |
|
304 |> tap (trace_isar_proof "Compressed") |
304 |> tap (trace_isar_proof "Compressed") |
305 |> try0_isar ? try0_isar_proof preplay_timeout preplay_data |
305 |> try0_isar ? try0_isar_proof preplay_timeout preplay_data |
306 |> tap (trace_isar_proof "Tried0") |
306 |> tap (trace_isar_proof "Tried0") |
307 |> postprocess_isar_proof_remove_unreferenced_steps |
307 |> postprocess_isar_proof_remove_unreferenced_steps |
308 (try0_isar ? minimize_isar_step_dependencies preplay_data) |
308 (try0_isar ? minimize_isar_step_dependencies preplay_data) |