Lably
Skip to content

Trace monoid

  • 5 min read
  • 6 chapters

Related on Lably

Through Computer science, Equivalence class and Commutative property

Traces were introduced by Pierre Cartier and Dominique Foata in 1969 to give a combinatorial proof of MacMahon's master theorem. Traces are used in theories of concurrent computation, where commuting letters stand for portions of a job that can execute independently of one another, while non-commuting letters stand for locks, synchronization points or thread joins.

The trace monoid is constructed from the free monoid (the set of all strings of finite length) as follows. First, sets of commuting letters are given by an independency relation. These induce an equivalence relation of equivalent strings; the elements of the equivalence classes are the traces. The equivalence relation then partitions the elements of the free monoid into a set of equivalence classes; the result is still a monoid; it is a quotient monoid now called the trace monoid. The trace monoid is universal, in that all dependency-homomorphic (see below) monoids are in fact isomorphic.

Trace monoids are commonly used to model concurrent computation, forming the foundation for process calculi. They are the object of study in trace theory. The utility of trace monoids comes from the fact that they are isomorphic to the monoid of dependency graphs; thus allowing algebraic techniques to be applied to graphs, and vice versa. They are also isomorphic to history monoids, which model the history of computation of individual processes in the context of all scheduled processes on one or more computers.

Trace

Let Σ∗ denote the free monoid on a set of generators Σ, that is, the set of all strings written in the alphabet Σ. The asterisk is a standard notation for the Kleene star. An independency relation I on the alphabet Σ then induces a symmetric binary relation ∼ on the set of strings Σ∗: two strings u,v are related, u∼v, if and only if there exist x,y∈Σ∗, and a pair (a,b)∈I such that u=xaby and v=xbay. Here, u,v,x and y are understood to be strings (elements of Σ∗), while a and b are letters (elements of Σ).

The trace is defined as the reflexive transitive closure of ∼. The trace is thus an equivalence relation on Σ∗ and is denoted by ≡D, where D is the dependency relation corresponding to I. D=(Σ×Σ)∖I and I=(Σ×Σ)∖D. Different independencies or dependencies will give different equivalence relations.

The transitive closure implies that u≡Dv if and only if there exists a sequence of strings (w0,w1,⋯,wn) such that u∼w0, v∼wn, and wi∼wi+1 for all 0≤i<n. The trace is stable under the monoid operation on Σ∗, i.e., concatenation, and ≡D is therefore a congruence relation on Σ∗.

The trace monoid, commonly denoted as M(D), is defined as the quotient monoid

M(D)=Σ∗/≡D.

The homomorphism

ϕD:Σ∗→M(D)

is commonly referred to as the natural homomorphism or canonical homomorphism. That the terms natural or canonical are deserved follows from the fact that this morphism embodies a universal property, as discussed in a later section.

One will also find the trace monoid denoted as M(Σ,I) where I is the independency relation. One can also find the commutation relation used instead of the independency relation; it differs from the independency relation by also including all the diagonal elements of Σ×Σ since letters "commute with themselves" in a free monoid of strings of those letters.

Sign in to keep reading

5 more chapters are free with a Lably account.

More in Algebra