Dependency relation
Binary relation in computer science
title: "Dependency relation" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["properties-of-binary-relations"] description: "Binary relation in computer science" topic_path: "general/properties-of-binary-relations" source: "https://en.wikipedia.org/wiki/Dependency_relation" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::summary Binary relation in computer science ::
In computer science, in particular in concurrency theory, a dependency relation is a symmetric and reflexive binary relation on a finite domain \Sigma; i.e. a finite tolerance relation. That is, it is a finite set of ordered pairs D, such that
- If (a,b)\in D then (b,a) \in D (symmetric)
- If a \in \Sigma, then (a,a) \in D (reflexive)
In general, dependency relations are not transitive; thus, they generalize the notion of an equivalence relation by discarding transitivity.
\Sigma is also called the alphabet on which D is defined. The independency induced by D is the binary relation I
:I = (\Sigma \times \Sigma) \setminus D
That is, the independency is the set of all ordered pairs that are not in D. The independency relation is symmetric and irreflexive. Conversely, given any symmetric and irreflexive relation I on a finite alphabet, the relation
:D = (\Sigma \times \Sigma) \setminus I
is a dependency relation.
The pair (\Sigma, D) is called the concurrent alphabet. The pair (\Sigma, I) is called the independency alphabet or reliance alphabet, but this term may also refer to the triple (\Sigma, D, I) (with I induced by D). Elements x,y \in \Sigma are called dependent if xDy holds, and independent, else (i.e. if xIy holds).
Given a reliance alphabet (\Sigma, D, I), a symmetric and irreflexive relation \doteq can be defined on the free monoid \Sigma^* of all possible strings of finite length by: x a b y \doteq x b a y for all strings x, y \in \Sigma^* and all independent symbols a, b \in I. The equivalence closure of \doteq is denoted \equiv or \equiv_{(\Sigma, D, I)} and called (\Sigma, D, I)-equivalence. Informally, p \equiv q holds if the string p can be transformed into q by a finite sequence of swaps of adjacent independent symbols. The equivalence classes of \equiv are called traces, and are studied in trace theory.
Examples
right Given the alphabet \Sigma={a,b,c}, a possible dependency relation is D = { (a,b),, (b,a),, (a,c),, (c,a),, (a,a),, (b,b),, (c,c) }, see picture.
The corresponding independency is I={(b,c),,(c,b)}. Then e.g. the symbols b,c are independent of one another, and e.g. a,b are dependent. The string a c b b a is equivalent to a b c b a and to a b b c a, but to no other string.
References
References
- IJsbrand Jan Aalbersberg and Grzegorz Rozenberg. (Mar 1988). "Theory of traces". Theoretical Computer Science.
- Vasconcelos, Vasco Thudichum. (1992). "Trace semantics for concurrent objects". Keio University.
- (1995). "The Book of Traces". World Scientific.
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::