| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.Connection.Interval
Synopsis
- data Interval a
- imap :: Preorder b => (a -> b) -> Interval a -> Interval b
- (...) :: Preorder a => a -> a -> Interval a
- empty :: Interval a
- singleton :: a -> Interval a
- contains :: Preorder a => Interval a -> a -> Bool
- endpts :: Interval a -> Maybe (a, a)
- upper :: UpperBounded a => a -> Interval a
- lower :: LowerBounded a => a -> Interval a
- interval :: Bounded a => Trip (Interval a) a
Documentation
An interval in a poset P.
An interval in a poset P is a subset I of P with the following property:
\( \forall x, y \in I, z \in P: x \leq z \leq y \Rightarrow z \in I \)
Instances
| Eq a => Eq (Interval a) Source # | |
| Show a => Show (Interval a) Source # | |
| Preorder a => Preorder (Interval a) Source # | Containment order |
Defined in Data.Connection.Interval Methods (<~) :: Interval a -> Interval a -> Bool Source # (>~) :: Interval a -> Interval a -> Bool Source # (<) :: Interval a -> Interval a -> Bool Source # (>) :: Interval a -> Interval a -> Bool Source # (?~) :: Interval a -> Interval a -> Bool Source # (~~) :: Interval a -> Interval a -> Bool Source # (/~) :: Interval a -> Interval a -> Bool Source # pmax :: Interval a -> Interval a -> Maybe (Interval a) Source # pmin :: Interval a -> Interval a -> Maybe (Interval a) Source # similar :: Interval a -> Interval a -> Bool Source # pcompare :: Interval a -> Interval a -> Maybe Ordering Source # | |
| Bounded a => Triple (Interval a) a Source # | |
imap :: Preorder b => (a -> b) -> Interval a -> Interval b Source #
Map over an interval.
Note this is not a functor, as a non-monotonic map may cause the interval to collapse to the empty interval.
(...) :: Preorder a => a -> a -> Interval a infix 3 Source #
Construct an interval from a pair of points.
singleton :: a -> Interval a Source #
Construct an interval containing a single point.
>>>singleton 11 ... 1
upper :: UpperBounded a => a -> Interval a Source #
\( X_\geq(x) = \{ y \in X | y \geq x \} \)
Construct the upper set of an element x.
This function is monotone:
x <~ y <=> upper x <~ upper y
by the Yoneda lemma for preorders.
lower :: LowerBounded a => a -> Interval a Source #
\( X_\leq(x) = \{ y \in X | y \leq x \} \)
Construct the lower set of an element x.
This function is antitone:
x <~ y <=> lower x >~ lower y