Dependency relation

{{Short description|Binary relation in computer science}}

{{other uses|Dependency (disambiguation)}}

{{hatnote|Not to be confused with Dependence relation, which is a generalization of the concept of linear dependence among members of a vector space.}}

In computer science, in particular in concurrency theory, a dependency relation is a binary relation on a finite domain \Sigma,{{cite journal | doi=10.1016/0304-3975(88)90051-5 | author=IJsbrand Jan Aalbersberg and Grzegorz Rozenberg | title=Theory of traces | journal=Theoretical Computer Science | volume=60 | number=1 | pages=1–82 | date=Mar 1988 | doi-access=free }}{{rp|4}} symmetric, and reflexive;{{rp|6}} 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.{{cite thesis |last=Vasconcelos |first=Vasco Thudichum |date=1992 |title=Trace semantics for concurrent objects |degree=MsC |publisher=Keio University|citeseerx=10.1.1.47.7099}}{{rp|6}} 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).{{cite book |last1=Mazurkiewicz |first1=Antoni |editor1-last=Rozenberg |editor1-first=G. |editor2-last=Diekert |editor2-first=V. |title=The Book of Traces |date=1995 |publisher=World Scientific |location=Singapore |isbn=981-02-2058-8 |chapter-url=http://www.cas.mcmaster.ca/~cas724/2007/paper2.pdf |access-date=18 April 2021 |chapter=Introduction to Trace Theory}}{{rp|6}} Elements x,y \in \Sigma are called dependent if xDy holds, and independent, else (i.e. if xIy holds).{{rp|6}}

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,{{rp|7–8}} and are studied in trace theory.

Examples

file:Relación de dependencia.svg

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