twee-lib-2.1.1: An equational theorem prover

Safe HaskellNone
LanguageHaskell2010

Twee.PassiveQueue

Description

A queue of passive critical pairs, using a memory-efficient representation.

Synopsis

Documentation

class (Eq (Id params), Integral (Id params), Ord (Score params), Unbox (PackedScore params), Unbox (PackedId params)) => Params params where Source #

A datatype representing all the type parameters of the queue.

Minimal complete definition

packScore, unpackScore, packId, unpackId

Associated Types

type Score params Source #

The score assigned to critical pairs. Smaller scores are better.

type Id params Source #

The type of ID numbers used to name rules.

type PackedScore params Source #

A Score packed for storage into a Vector. Must be an instance of Unbox.

type PackedId params Source #

An Id packed for storage into a Vector. Must be an instance of Unbox.

Methods

packScore :: proxy params -> Score params -> PackedScore params Source #

Pack a Score.

unpackScore :: proxy params -> PackedScore params -> Score params Source #

Unpack a PackedScore.

packId :: proxy params -> Id params -> PackedId params Source #

Pack an Id.

unpackId :: proxy params -> PackedId params -> Id params Source #

Unpack a PackedId.

data Queue params Source #

A critical pair queue.

data Passive params Source #

A queued critical pair.

Constructors

Passive 

Fields

Instances

Params params => Eq (Passive params) Source # 

Methods

(==) :: Passive params -> Passive params -> Bool #

(/=) :: Passive params -> Passive params -> Bool #

Params params => Ord (Passive params) Source # 

Methods

compare :: Passive params -> Passive params -> Ordering #

(<) :: Passive params -> Passive params -> Bool #

(<=) :: Passive params -> Passive params -> Bool #

(>) :: Passive params -> Passive params -> Bool #

(>=) :: Passive params -> Passive params -> Bool #

max :: Passive params -> Passive params -> Passive params #

min :: Passive params -> Passive params -> Passive params #

empty :: Queue params Source #

The empty queue.

insert :: Params params => Id params -> [Passive params] -> Queue params -> Queue params Source #

Add a set of Passives to the queue.

removeMin :: Params params => Queue params -> Maybe (Passive params, Queue params) Source #

Remove the minimum Passive from the queue.

mapMaybe :: Params params => (Passive params -> Maybe (Passive params)) -> Queue params -> Queue params Source #

Map a function over all Passives.