protocol

interval_relation_set_protocol

Allen interval relation-set protocol using canonical ordered duplicate-free lists of base relation atoms.

Availability:
logtalk_load(intervals(loader))
Author: Paulo Moura
Version: 1:0:0
Date: 2026-05-13
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

Public predicates

relation_set/1

True if RelationSet is a canonical ordered duplicate-free list of Allen base relation atoms.

Compilation flags:
static
Template:
relation_set(RelationSet)
Mode and number of proofs:
relation_set(?list(atom)) - zero_or_more

empty/1

Returns the empty Allen relation set.

Compilation flags:
static
Template:
empty(RelationSet)
Mode and number of proofs:
empty(?list(atom)) - one

universal/1

Returns the universal Allen relation set containing all 13 base relation atoms.

Compilation flags:
static
Template:
universal(RelationSet)
Mode and number of proofs:
universal(?list(atom)) - one

singleton/2

Relates an Allen base relation atom with its singleton relation set.

Compilation flags:
static
Template:
singleton(Relation,RelationSet)
Mode and number of proofs:
singleton(?atom,?list(atom)) - zero_or_more

normalize/2

Normalizes a list of Allen base relation atoms into canonical ordered duplicate-free form.

Compilation flags:
static
Template:
normalize(Relations,RelationSet)
Mode and number of proofs:
normalize(+list(atom),-list(atom)) - zero_or_one

member/2

True if Relation is a member of RelationSet.

Compilation flags:
static
Template:
member(Relation,RelationSet)
Mode and number of proofs:
member(?atom,+list(atom)) - zero_or_more

subset/2

True if RelationSet1 is a subset of RelationSet2.

Compilation flags:
static
Template:
subset(RelationSet1,RelationSet2)
Mode and number of proofs:
subset(+list(atom),+list(atom)) - zero_or_one

intersection/3

Computes the intersection of two relation sets.

Compilation flags:
static
Template:
intersection(RelationSet1,RelationSet2,Intersection)
Mode and number of proofs:
intersection(+list(atom),+list(atom),-list(atom)) - zero_or_one

union/3

Computes the union of two relation sets.

Compilation flags:
static
Template:
union(RelationSet1,RelationSet2,Union)
Mode and number of proofs:
union(+list(atom),+list(atom),-list(atom)) - zero_or_one

converse/2

Maps a relation set to the canonical ordered set of converse relations.

Compilation flags:
static
Template:
converse(RelationSet,ConverseSet)
Mode and number of proofs:
converse(+list(atom),-list(atom)) - zero_or_one

compose/3

Computes the canonical ordered relation set resulting from composing two relation sets.

Compilation flags:
static
Template:
compose(RelationSet1,RelationSet2,Composition)
Mode and number of proofs:
compose(+list(atom),+list(atom),-list(atom)) - zero_or_one

Protected predicates

(none)

Private predicates

(none)

Operators

(none)