lattices-1.1: Fine-grained library for constructing and manipulating lattices

Algebra.PartialOrd

Contents

Synopsis

Partial orderings

class Eq a => PartialOrd a whereSource

A partial ordering on sets: http://en.wikipedia.org/wiki/Partially_ordered_set

This can be defined using either |joinLeq| or |meetLeq|, or a more efficient definition can be derived directly.

Reflexive: a leq a Antisymmetric: a leq b && b leq a ==> a == b Transitive: a leq b && b leq c ==> a leq c

The superclass equality (which can be defined using |partialOrdEq|) must obey these laws:

Reflexive: a == a Transitive: a == b && b == c ==> a == b

Methods

leq :: a -> a -> BoolSource

Instances

Ord a => PartialOrd (Set a) 
(PartialOrd v, Enumerable k) => PartialOrd (k -> v) 
(PartialOrd a, PartialOrd b) => PartialOrd (a, b) 
(Ord k, PartialOrd v) => PartialOrd (Map k v) 

partialOrdEq :: PartialOrd a => a -> a -> BoolSource

The equality relation induced by the partial-order structure

Fixed points of chains in partial orders

lfpFrom :: PartialOrd a => a -> (a -> a) -> aSource

Least point of a partially ordered monotone function. Checks that the function is monotone.

unsafeLfpFrom :: Eq a => a -> (a -> a) -> aSource

Least point of a partially ordered monotone function. Does not checks that the function is monotone.

gfpFrom :: PartialOrd a => a -> (a -> a) -> aSource

Greatest fixed point of a partially ordered antinone function. Checks that the function is antinone.

unsafeGfpFrom :: Eq a => a -> (a -> a) -> aSource

Greatest fixed point of a partially ordered antinone function. Does not check that the function is antinone.