interval-algebra-2.2.0: An implementation of Allen's interval algebra for temporal logic
Copyright(c) NoviSci Inc 2020-2022
TargetRWE 2023
LicenseBSD3
Maintainerbsaul@novisci.com 2020-2022, bbrown@targetrwe.com 2023
Safe HaskellSafe-Inferred
LanguageHaskell2010

IntervalAlgebra.RelationProperties

Description

This module exports property-based tests for the axioms in section 1 of Allen and Hayes (1987). The notation below is that of the original paper.

This module is useful if creating a new instance of interval types that you want to test.

Synopsis

Documentation

prop_exclusiveRelations :: (SizedIv (Interval a), Ord a) => Interval a -> Interval a -> Property Source #

For any two pair of intervals exactly one IntervalRelation should hold

prop_predicate_unions :: (SizedIv (Interval a), Ord a) => Set IntervalRelation -> ComparativePredicateOf2 (Interval a) (Interval a) -> Interval a -> Interval a -> Property Source #

Given a set of interval relations and predicate function, test that the predicate between two interval is equivalent to the relation of two intervals being in the set of relations.

prop_IAbefore :: forall a. (SizedIv (Interval a), Ord a, Ord (Moment (Interval a))) => Interval a -> Interval a -> Property Source #

prop_IAduring :: forall a. (SizedIv (Interval a), Ord a, Ord (Moment (Interval a))) => Interval a -> Interval a -> Property Source #