equal
deleted
inserted
replaced
226 val _ = trace_msg ctxt (pretty "SMT result:") ls |
226 val _ = trace_msg ctxt (pretty "SMT result:") ls |
227 in ls end |
227 in ls end |
228 |
228 |
229 end |
229 end |
230 |
230 |
|
231 fun trace_assms ctxt = trace_msg ctxt (Pretty.string_of o |
|
232 Pretty.big_list "SMT assertions:" o map (Display.pretty_thm ctxt o snd)) |
|
233 |
231 fun trace_recon_data ctxt ({typs, terms, ...} : SMT_Translate.recon) = |
234 fun trace_recon_data ctxt ({typs, terms, ...} : SMT_Translate.recon) = |
232 let |
235 let |
233 fun pretty_eq n p = Pretty.block [Pretty.str n, Pretty.str " = ", p] |
236 fun pretty_eq n p = Pretty.block [Pretty.str n, Pretty.str " = ", p] |
234 fun pretty_typ (n, T) = pretty_eq n (Syntax.pretty_typ ctxt T) |
237 fun pretty_typ (n, T) = pretty_eq n (Syntax.pretty_typ ctxt T) |
235 fun pretty_term (n, t) = pretty_eq n (Syntax.pretty_term ctxt t) |
238 fun pretty_term (n, t) = pretty_eq n (Syntax.pretty_term ctxt t) |
245 val comments = ("solver: " ^ name) :: |
248 val comments = ("solver: " ^ name) :: |
246 ("timeout: " ^ string_of_int (Config.get ctxt timeout)) :: |
249 ("timeout: " ^ string_of_int (Config.get ctxt timeout)) :: |
247 "arguments:" :: args |
250 "arguments:" :: args |
248 in |
251 in |
249 irules |
252 irules |
|
253 |> tap (trace_assms ctxt) |
250 |> SMT_Translate.translate translate_config ctxt comments |
254 |> SMT_Translate.translate translate_config ctxt comments |
251 ||> tap (trace_recon_data ctxt) |
255 ||> tap (trace_recon_data ctxt) |
252 |>> run_solver ctxt cmd args |
256 |>> run_solver ctxt cmd args |
253 |> rpair ctxt |
257 |> rpair ctxt |
254 end |
258 end |