src/HOL/Tools/Mirabelle/mirabelle_presburger.ML
author Norbert Schirmer <nschirmer@apple.com>
Tue, 26 Oct 2021 17:14:16 +0200
changeset 74594 2f28a0a758ab
parent 74516 2c093a3167d1
child 74948 15ce207f69c8
permissions -rw-r--r--
fix latex

(*  Title:      HOL/Mirabelle/Tools/mirabelle_presburger.ML
    Author:     Martin Desharnais, MPI-INF Saarbrücken

Mirabelle action: "presburger".
*)

structure Mirabelle_Presburger: MIRABELLE_ACTION =
struct

fun make_action ({timeout, ...} : Mirabelle.action_context) =
  let
    val _ = Timing.timing
    fun run_action ({pre, ...} : Mirabelle.command) =
      (case Timing.timing (Mirabelle.can_apply timeout (Cooper.tac true [] [])) pre of
        ({cpu, ...}, true) => "succeeded (" ^ Time.toString cpu ^ " s)"
      | (_, false) => "failed")
  in {run_action = run_action, finalize = K ""} end

val () = Mirabelle.register_action "presburger" make_action

end