Structure mlibSupport


Source File Identifier index Theory binding index

(* ========================================================================= *)
(* THE SET OF SUPPORT                                                        *)
(* Copyright (c) 2002-2004 Joe Hurd.                                         *)
(* ========================================================================= *)

signature mlibSupport =
sig

type 'a pp   = 'a mlibUseful.pp
type formula = mlibTerm.formula
type clause  = mlibClause.clause

type parameters =
  {size_power    : real,
   literal_power : real,
   model_power   : real,
   model_perts   : int,
   model_checks  : int,
   model_parms   : mlibModel.parameters list}

type 'a parmupdate = ('a -> 'a) -> parameters -> parameters
val defaults             : parameters
val update_size_power    : real parmupdate
val update_literal_power : real parmupdate
val update_model_power   : real parmupdate
val update_model_perts   : int parmupdate
val update_model_checks  : int parmupdate
val update_model_parms   : mlibModel.parameters list parmupdate

(* The set of support type *)
type sos
type distance

(* Basic operations *)
val new     : parameters -> formula list -> clause list -> sos
val size    : sos -> int
val to_list : sos -> clause list
val pp_sos  : sos pp

(* Adding new clauses *)
val add : distance * clause list -> sos -> sos

(* Removing the lightest clause *)
val remove : sos -> ((distance * clause) * sos) option

end


Source File Identifier index Theory binding index

HOL 4, Kananaskis-13