Structure mlibMetis


Source File Identifier index Theory binding index

(* ========================================================================= *)
(* THE METIS COMBINATION OF PROOF PROCEDURES FOR FIRST-ORDER LOGIC           *)
(* Copyright (c) 2001-2004 Joe Hurd.                                         *)
(* ========================================================================= *)

signature mlibMetis =
sig

(* mlibMetis trace levels:
   0: No output
   1: Status information during proof search
   2: More status information
   3: More detailed prover information: slice by slice
   4: High-level proof search information
   5: Log of every inference during proof search
   6: mlibSupport infrastructure such as mlibTermorder *)

type formula     = mlibTerm.formula
type thm         = mlibThm.thm
type limit       = mlibMeter.limit
type solver      = mlibSolver.solver
type solver_node = mlibSolver.solver_node

(* Tuning parameters *)
datatype prover =
  mlibResolution of mlibResolution.parameters
| mlibMeson of mlibMeson.parameters
| Delta of mlibMeson.parameters
type prover_parameters = prover * mlibSolver.sos_filter option * mlibSolver.cost_fn
type parameters = prover_parameters list

val default_resolution   : prover_parameters
val ordered_resolution   : prover_parameters
val default_meson        : prover_parameters
val default_delta        : prover_parameters
val defaults             : parameters
val parameters_to_string : parameters -> string

(* The metis combination of solvers *)
val metis' : parameters -> solver_node
val metis  : solver_node                (* Uses defaults *)

(* A user-friendly interface *)
val settings : parameters ref           (* Initially defaults *)
val limit    : limit ref                (* Initially unlimited *)
val prove    : formula -> thm option    (* Axiomatizes, then runs metis *)
val query    : formula -> solver        (* Axiomatizes, then runs prolog *)

end


Source File Identifier index Theory binding index

HOL 4, Kananaskis-10