Library for Zipperposition

A priority queue of clauses, purely functional

module C : Clause_intf.S
module WeightFun : sig ... end
module PriorityFun : sig ... end
type t

A priority queue.

val add : t -> C.t -> unit

Add a clause to the Queue

val add_seq : t -> C.t Iter.t -> unit

Add clauses to the queue

val length : t -> int

Number of elements

val is_empty : t -> bool

check whether the queue is empty

val take_first : t -> C.t

Take first element of the queue, or raise Not_found

val name : t -> string

Name of the implementation/role of the queue

Available Queues
val add_to_mixed_eval : ratio:int -> weight_fun:( C.t -> int * int ) -> t
val bfs : unit -> t


val almost_bfs : unit -> t

Half FIFO, half default

val explore : unit -> t

Use heuristics for selecting "small" clauses

val ground : unit -> t

Favor positive unit clauses and ground clauses

val goal_oriented : unit -> t

custom weight function that favors clauses that are "close" to initial conjectures. It is fair.

val default : unit -> t

Obtain the default queue

val of_profile : profile -> t

Select the queue corresponding to the given profile

val to_string : t -> string