src/HOL/Tools/Sledgehammer/sledgehammer_filter_mash.ML
author blanchet
Wed, 11 Jul 2012 21:43:19 +0200
changeset 48249 2bd242c56c90
parent 48248 b6eb45a52c28
child 48251 6cdcfbddc077
permissions -rw-r--r--
dummy implementation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48248
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
     1
(*  Title:      HOL/Tools/Sledgehammer/sledgehammer_filter_mash.ML
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
     2
    Author:     Jasmin Blanchette, TU Muenchen
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
     3
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
     4
Sledgehammer's machine-learning-based relevance filter (MaSh).
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
     5
*)
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
     6
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
     7
signature SLEDGEHAMMER_FILTER_MASH =
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
     8
sig
48249
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
     9
  val reset : unit -> unit
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    10
  val can_suggest : unit -> bool
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    11
  val can_learn_thy : theory -> bool
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    12
  val learn_thy : theory -> real -> unit
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    13
  val learn_proof : theory -> term -> thm list -> unit
48248
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
    14
end;
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
    15
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
    16
structure Sledgehammer_Filter_MaSh : SLEDGEHAMMER_FILTER_MASH =
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
    17
struct
48249
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    18
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    19
fun mash_reset () =
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    20
  tracing "MaSh RESET"
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    21
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    22
fun mash_add fact (access, feats, deps) =
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    23
  tracing ("MaSh ADD " ^ fact ^ ": " ^ space_implode " " access ^ "; " ^
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    24
           space_implode " " feats ^ "; " ^ space_implode " " deps)
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    25
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    26
fun mash_del fact =
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    27
  tracing ("MaSh DEL " ^ fact)
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    28
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    29
fun mash_suggest fact (access, feats) =
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    30
  tracing ("MaSh SUGGEST " ^ fact ^ ": " ^ space_implode " " access ^ "; " ^
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    31
           space_implode " " feats)
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    32
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    33
fun reset () =
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    34
  ()
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    35
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    36
fun can_suggest () =
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    37
  true
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    38
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    39
fun can_learn_thy thy =
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    40
  true
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    41
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    42
fun learn_thy thy timeout =
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    43
  ()
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    44
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    45
fun learn_proof theory t thms =
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    46
  ()
2bd242c56c90 dummy implementation
blanchet
parents: 48248
diff changeset
    47
48248
b6eb45a52c28 split relevance filter code into three files
blanchet
parents:
diff changeset
    48
end;