src/HOL/Tools/Sledgehammer/sledgehammer_reconstructor.ML
author blanchet
Thu, 30 Jan 2014 13:38:28 +0100
changeset 55177 b7ca9f98faca
parent 55170 cdb9435e3cae
child 55180 03ac74b01e49
permissions -rw-r--r--
made 'try0' (more) silent
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
52590
smolkas
parents: 52555
diff changeset
     1
(*  Title:      HOL/Tools/Sledgehammer/sledgehammer_reconstructor.ML
52555
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
     2
    Author:     Jasmin Blanchette, TU Muenchen
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
     3
    Author:     Steffen Juilf Smolka, TU Muenchen
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
     4
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
     5
Reconstructors.
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
     6
*)
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
     7
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
     8
signature SLEDGEHAMMER_RECONSTRUCTOR =
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
     9
sig
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    10
  type stature = ATP_Problem_Generate.stature
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    11
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    12
  datatype reconstructor =
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    13
    Metis of string * string |
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    14
    SMT
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    15
54824
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    16
  datatype play_outcome =
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    17
    Played of Time.time |
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    18
    Play_Timed_Out of Time.time |
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    19
    Play_Failed |
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    20
    Not_Played
52555
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    21
54828
b2271ad695db don't do 'isar_try0' if preplaying is off
blanchet
parents: 54824
diff changeset
    22
  val string_of_play_outcome: play_outcome -> string
b2271ad695db don't do 'isar_try0' if preplaying is off
blanchet
parents: 54824
diff changeset
    23
52555
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    24
  type minimize_command = string list -> string
54824
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    25
  type one_line_params =
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    26
    (reconstructor * play_outcome) * string * (string * stature) list * minimize_command * int * int
52555
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    27
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    28
  val smtN : string
55170
cdb9435e3cae silenced reconstructors in Sledgehammer
blanchet
parents: 54828
diff changeset
    29
cdb9435e3cae silenced reconstructors in Sledgehammer
blanchet
parents: 54828
diff changeset
    30
  val silence_reconstructors : bool -> Proof.context -> Proof.context
54495
237d5be57277 refactored
blanchet
parents: 52590
diff changeset
    31
end;
52555
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    32
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    33
structure Sledgehammer_Reconstructor : SLEDGEHAMMER_RECONSTRUCTOR =
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    34
struct
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    35
54828
b2271ad695db don't do 'isar_try0' if preplaying is off
blanchet
parents: 54824
diff changeset
    36
open ATP_Util
52555
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    37
open ATP_Problem_Generate
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    38
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    39
datatype reconstructor =
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    40
  Metis of string * string |
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    41
  SMT
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    42
54824
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    43
datatype play_outcome =
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    44
  Played of Time.time |
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    45
  Play_Timed_Out of Time.time |
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    46
  Play_Failed |
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    47
  Not_Played
52555
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    48
54828
b2271ad695db don't do 'isar_try0' if preplaying is off
blanchet
parents: 54824
diff changeset
    49
fun string_of_play_outcome (Played time) = string_of_ext_time (false, time)
b2271ad695db don't do 'isar_try0' if preplaying is off
blanchet
parents: 54824
diff changeset
    50
  | string_of_play_outcome (Play_Timed_Out time) = string_of_ext_time (true, time) ^ ", timed out"
b2271ad695db don't do 'isar_try0' if preplaying is off
blanchet
parents: 54824
diff changeset
    51
  | string_of_play_outcome Play_Failed = "failed"
b2271ad695db don't do 'isar_try0' if preplaying is off
blanchet
parents: 54824
diff changeset
    52
  | string_of_play_outcome _ = "unknown"
b2271ad695db don't do 'isar_try0' if preplaying is off
blanchet
parents: 54824
diff changeset
    53
52555
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    54
type minimize_command = string list -> string
54824
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    55
type one_line_params =
4e58a38b330b refactored preplaying outcome data structure
blanchet
parents: 54823
diff changeset
    56
  (reconstructor * play_outcome) * string * (string * stature) list * minimize_command * int * int
52555
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    57
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    58
val smtN = "smt"
6811291d1869 moved code -> easier debugging
smolkas
parents:
diff changeset
    59
55170
cdb9435e3cae silenced reconstructors in Sledgehammer
blanchet
parents: 54828
diff changeset
    60
(* Makes reconstructor tools as silent as possible. The "set_visible" calls suppresses "Unification
cdb9435e3cae silenced reconstructors in Sledgehammer
blanchet
parents: 54828
diff changeset
    61
   bound exceeded" warnings and the like. *)
cdb9435e3cae silenced reconstructors in Sledgehammer
blanchet
parents: 54828
diff changeset
    62
fun silence_reconstructors debug =
55177
b7ca9f98faca made 'try0' (more) silent
blanchet
parents: 55170
diff changeset
    63
  Try0.silence_method debug
55170
cdb9435e3cae silenced reconstructors in Sledgehammer
blanchet
parents: 54828
diff changeset
    64
  #> Config.put SMT_Config.verbose debug
cdb9435e3cae silenced reconstructors in Sledgehammer
blanchet
parents: 54828
diff changeset
    65
54495
237d5be57277 refactored
blanchet
parents: 52590
diff changeset
    66
end;