| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Interval.Borel
Synopsis
- data Borel x
- borel :: Ord x => [Interval x] -> Borel x
- intervalSet :: Ord x => Borel x -> Set (Interval x)
- empty :: Ord x => Borel x
- singleton :: Ord x => Interval x -> Borel x
- null :: Borel x -> Bool
- insert :: Ord x => Interval x -> Borel x -> Borel x
- whole :: Ord x => Borel x
- cutout :: Ord x => Interval x -> Borel x -> Borel x
- clip :: Ord x => Interval x -> Borel x -> Borel x
- member :: Ord x => x -> Borel x -> Bool
- notMember :: Ord x => x -> Borel x -> Bool
- union :: Ord x => Borel x -> Borel x -> Borel x
- unions :: Ord x => [Borel x] -> Borel x
- difference :: Ord x => Borel x -> Borel x -> Borel x
- symmetricDifference :: Ord x => Borel x -> Borel x -> Borel x
- complement :: Ord x => Borel x -> Borel x
- intersection :: Ord x => Borel x -> Borel x -> Borel x
- intersections :: Ord x => [Borel x] -> Borel x
- hull :: Ord x => Borel x -> Maybe (Interval x)
- isSubsetOf :: Ord x => Borel x -> Borel x -> Bool
Documentation
The Borel sets on a type are the sets generated by its open intervals.
It forms a Heyting algebra with union as join and intersection as meet,
and a Ring with symmetricDifference as addition and intersection as
multiplication (and complement as negation). In fact the algebra is Boolean
as the operation x .==> y = complement x \/ y
It is a monoid that is convenient for agglomerating
groups of intervals, such as for calculating the overall timespan
of a group of events. However, it is agnostic of
how many times each given point has been covered.
To keep track of this data, use Layers.
Instances
| Ord x => Eq (Borel x) Source # | |
| Ord x => Ord (Borel x) Source # | |
| (Ord x, Show x) => Show (Borel x) Source # | |
| Generic (Borel x) Source # | |
| Ord x => Semigroup (Borel x) Source # | |
| Ord x => Monoid (Borel x) Source # | |
| (Ord x, Lattice x) => Heyting (Borel x) Source # | |
| (Ord x, Lattice x) => Lattice (Borel x) Source # | |
| (Ord x, Lattice x) => BoundedJoinSemiLattice (Borel x) Source # | |
Defined in Data.Interval.Borel | |
| (Ord x, Lattice x) => BoundedMeetSemiLattice (Borel x) Source # | |
Defined in Data.Interval.Borel | |
| Ord x => One (Borel x) Source # | |
| (Ord x, Lattice x) => Semiring (Borel x) Source # | |
| (Ord x, Lattice x) => Ring (Borel x) Source # | |
Defined in Data.Interval.Borel | |
| type Rep (Borel x) Source # | |
Defined in Data.Interval.Borel | |
| type OneItem (Borel x) Source # | |
Defined in Data.Interval.Borel | |
difference :: Ord x => Borel x -> Borel x -> Borel x Source #
Remove all intervals of the second set from the first.
symmetricDifference :: Ord x => Borel x -> Borel x -> Borel x Source #
Take the symmetric difference of two Borel sets.
complement :: Ord x => Borel x -> Borel x Source #
Take the Borel set consisting of each point not in the given one.
intersection :: Ord x => Borel x -> Borel x -> Borel x Source #
Take the intersection of two Borel sets.
intersections :: Ord x => [Borel x] -> Borel x Source #
Take the intersection of a list of Borel sets.