src/HOL/Tools/Mirabelle/mirabelle_order.ML
author haftmann
Thu, 19 Jun 2025 17:15:40 +0200
changeset 82734 89347c0cc6a3
parent 79942 7793e3161d2b
permissions -rw-r--r--
treat map_filter similar to list_all, list_ex, list_ex1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
79942
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
     1
(*  Title:      HOL/Tools/Mirabelle/mirabelle_order.ML
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
     2
    Author:     Martin Desharnais, MPI-INF Saarbrücken
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
     3
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
     4
Mirabelle action: "order".
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
     5
*)
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
     6
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
     7
structure Mirabelle_Order: MIRABELLE_ACTION =
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
     8
struct
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
     9
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    10
fun make_action ({timeout, ...} : Mirabelle.action_context) =
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    11
  let
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    12
    val _ = HOL_Order_Tac.tac []
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    13
    fun run ({pre, ...} : Mirabelle.command) =
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    14
      (case Timing.timing (Mirabelle.can_apply timeout (HOL_Order_Tac.tac [])) pre of
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    15
        ({cpu, ...}, true) => "succeeded (" ^ Time.toString cpu ^ " s)"
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    16
      | (_, false) => "failed")
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    17
  in ("", {run = run, finalize = K ""}) end
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    18
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    19
val () = Mirabelle.register_action "order" make_action
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    20
7793e3161d2b try proof method "order" in Sledgehammer's proof reconstruction
desharna
parents:
diff changeset
    21
end