Module ProofState.CQueue
Priority queues on clauses
module WeightFun : sig ... end
val length : t -> int
Number of elements
val is_empty : t -> bool
check whether the queue is empty
val name : t -> string
Name of the implementation/role of the queue
Available Queues
val make : ratio:int -> weight:(C.t -> int) -> string -> t
Bring your own implementation of queue.
- parameter ratio
pick-given ratio. One in
ratio
calls totake_first
, the returned clause comes from a FIFO; the other times it comes from a priority queue that usesweight
to sort clauses
- parameter name
the name of this clause queue
val bfs : unit -> t
FIFO
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 : Libzipperposition.ClauseQueue_intf.profile -> t
Select the queue corresponding to the given profile