History Monoid
In mathematics and computer science, a history monoid is a way of representing the histories of concurrently running computer processes as a collection of strings, each string representing the individual history of a process. The history monoid provides a set of synchronization primitives (such as locks, mutexes or thread joins) for providing rendezvous points between a set of independently executing processes or threads. History monoids occur in the theory of concurrent computation, and provide a low-level mathematical foundation for process calculi, such as CSP the language of communicating sequential processes, or CCS, the calculus of communicating systems. History monoids were first presented by M.W. Shields.M.W. Shields "Concurrent Machines", ''Computer Journal'', (1985) 28 pp. 449–465. History monoids are isomorphic to trace monoids (free partially commutative monoids) and to the monoid of dependency graphs. As such, they are free objects and are universal ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Mathematics
Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many areas of mathematics, which include number theory (the study of numbers), algebra (the study of formulas and related structures), geometry (the study of shapes and spaces that contain them), Mathematical analysis, analysis (the study of continuous changes), and set theory (presently used as a foundation for all mathematics). Mathematics involves the description and manipulation of mathematical object, abstract objects that consist of either abstraction (mathematics), abstractions from nature orin modern mathematicspurely abstract entities that are stipulated to have certain properties, called axioms. Mathematics uses pure reason to proof (mathematics), prove properties of objects, a ''proof'' consisting of a succession of applications of in ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Dependency Graph
In mathematics, computer science and digital electronics, a dependency graph is a directed graph representing dependencies of several objects towards each other. It is possible to derive an evaluation order or the absence of an evaluation order that respects the given dependencies from the dependency graph. Definition Given a set of objects S and a transitive relation R \subseteq S \times S with (a,b) \in R modeling a dependency "''a'' depends on ''b''" ("''a'' needs ''b'' evaluated first"), the dependency graph is a graph G = (S, T) with T \subseteq R the transitive reduction of ''R''. For example, assume a simple calculator. This calculator supports assignment of constant values to variables and assigning the sum of exactly two variables to a third variable. Given several equations like "''A'' = ''B''+''C''; ''B'' = 5+''D''; ''C''=4; ''D''=2;", then S=\ and R=\. You can derive this relation directly: ''A'' depends on ''B'' and ''C'', because you can add two variables if and o ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Empty String
In formal language theory, the empty string, or empty word, is the unique String (computer science), string of length zero. Formal theory Formally, a string is a finite, ordered sequence of character (symbol), characters such as letters, digits or spaces. The empty string is the special case where the sequence has length zero, so there are no symbols in the string. There is only one empty string, because two strings are only different if they have different lengths or a different sequence of symbols. In formal treatments, the empty string is denoted with ε or sometimes Λ or λ. The empty string should not be confused with the empty language ∅, which is a formal language (i.e. a set of strings) that contains no strings, not even the empty string. The empty string has several properties: * , ε, = 0. Its string (computer science)#Formal theory, string length is zero. * ε ⋅ s = s ⋅ ε = s. The empty string is the identity element of the concatenation operation. The set of ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Indicator Function
In mathematics, an indicator function or a characteristic function of a subset of a set is a function that maps elements of the subset to one, and all other elements to zero. That is, if is a subset of some set , then the indicator function of is the function \mathbf_A defined by \mathbf_\!(x) = 1 if x \in A, and \mathbf_\!(x) = 0 otherwise. Other common notations are and \chi_A. The indicator function of is the Iverson bracket of the property of belonging to ; that is, \mathbf_(x) = \left x\in A\ \right For example, the Dirichlet function is the indicator function of the rational numbers as a subset of the real numbers. Definition Given an arbitrary set , the indicator function of a subset of is the function \mathbf_A \colon X \mapsto \ defined by \operatorname\mathbf_A\!( x ) = \begin 1 & \text x \in A \\ 0 & \text x \notin A \,. \end The Iverson bracket provides the equivalent notation \left x\in A\ \right/math> or that can be used instead of \mathbf_\ ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
String Projection
In computer science, in the area of formal language theory, frequent use is made of a variety of string functions; however, the notation used is different from that used for computer programming, and some commonly used functions in the theoretical realm are rarely used when programming. This article defines some of these basic terms. Strings and languages A string is a finite sequence of characters. The empty string is denoted by \varepsilon. The concatenation of two string s and t is denoted by s \cdot t, or shorter by s t. Concatenating with the empty string makes no difference: s \cdot \varepsilon = s = \varepsilon \cdot s. Concatenation of strings is associative: s \cdot (t \cdot u) = (s \cdot t) \cdot u. For example, (\langle b \rangle \cdot \langle l \rangle) \cdot (\varepsilon \cdot \langle ah \rangle) = \langle bl \rangle \cdot \langle ah \rangle = \langle blah \rangle. A language is a finite or infinite set of strings. Besides the usual set operations like union, inters ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Disjoint Union
In mathematics, the disjoint union (or discriminated union) A \sqcup B of the sets and is the set formed from the elements of and labelled (indexed) with the name of the set from which they come. So, an element belonging to both and appears twice in the disjoint union, with two different labels. A disjoint union of an indexed family of sets (A_i : i\in I) is a set A, often denoted by \bigsqcup_ A_i, with an injective function, injection of each A_i into A, such that the image (mathematics), images of these injections form a Partition (set theory), partition of A (that is, each element of A belongs to exactly one of these images). A disjoint union of a family of pairwise disjoint sets is their Union (set theory), union. In category theory, the disjoint union is the coproduct of the category of sets, and thus defined up to a bijection. In this context, the notation \coprod_ A_i is often used. The disjoint union of two sets A and B is written with infix notation as A \sq ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Set Union
In set theory, the union (denoted by ∪) of a collection of sets is the set of all elements in the collection. It is one of the fundamental operations through which sets can be combined and related to each other. A refers to a union of zero () sets and it is by definition equal to the empty set. For explanation of the symbols used in this article, refer to the table of mathematical symbols. Binary union The union of two sets ''A'' and ''B'' is the set of elements which are in ''A'', in ''B'', or in both ''A'' and ''B''. In set-builder notation, : A \cup B = \. For example, if ''A'' = and ''B'' = then ''A'' ∪ ''B'' = . A more elaborate example (involving two infinite sets) is: : ''A'' = : ''B'' = : A \cup B = \ As another example, the number 9 is ''not'' contained in the union of the set of prime numbers and the set of even numbers , because 9 is neither prime nor even. Sets cannot have duplicate elements, so the union of the sets and is . Multiple occ ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Kleene Star
In mathematical logic and theoretical computer science, the Kleene star (or Kleene operator or Kleene closure) is a unary operation on a Set (mathematics), set to generate a set of all finite-length strings that are composed of zero or more repetitions of members from . It was named after American mathematician Stephen Cole Kleene, who first introduced and widely used it to characterize Automata theory, automata for regular expressions. In mathematics, it is more commonly known as the free monoid construction. Definition Given a set V, define :V^=\ (the set consists only of the empty string), :V^=V, and define recursively the set :V^=\ for each i>0. V^i is called the i-th power of V, it is a shorthand for the Concatenation#Concatenation of sets of strings, concatenation of V by itself i times. That is, ''V^i'' can be understood to be the set of all strings that can be represented as the concatenation of i members from V. The definition of Kleene star on V is : V^*=\bigcup_V^i ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Free Monoid
In abstract algebra, the free monoid on a set is the monoid whose elements are all the finite sequences (or strings) of zero or more elements from that set, with string concatenation as the monoid operation and with the unique sequence of zero elements, often called the empty string and denoted by ε or λ, as the identity element. The free monoid on a set ''A'' is usually denoted ''A''∗. The free semigroup on ''A'' is the sub semigroup of ''A''∗ containing all elements except the empty string. It is usually denoted ''A''+./ref> More generally, an abstract monoid (or semigroup) ''S'' is described as free if it is isomorphic to the free monoid (or semigroup) on some set. As the name implies, free monoids and semigroups are those objects which satisfy the usual universal property defining free objects, in the respective categories of monoids and semigroups. It follows that every monoid (or semigroup) arises as a homomorphic image of a free monoid (or semigroup). ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Cartesian Product
In mathematics, specifically set theory, the Cartesian product of two sets and , denoted , is the set of all ordered pairs where is an element of and is an element of . In terms of set-builder notation, that is A\times B = \. A table can be created by taking the Cartesian product of a set of rows and a set of columns. If the Cartesian product is taken, the cells of the table contain ordered pairs of the form . One can similarly define the Cartesian product of sets, also known as an -fold Cartesian product, which can be represented by an -dimensional array, where each element is an -tuple. An ordered pair is a 2-tuple or couple. More generally still, one can define the Cartesian product of an indexed family of sets. The Cartesian product is named after René Descartes, whose formulation of analytic geometry gave rise to the concept, which is further generalized in terms of direct product. Set-theoretic definition A rigorous definition of the Cartesian product re ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Alphabet (computer Science)
In formal language theory, an alphabet, sometimes called a vocabulary, is a non-empty set of indivisible symbols/ characters/glyphs, typically thought of as representing letters, characters, digits, phonemes, or even words. The definition is used in a diverse range of fields including logic, mathematics, computer science, and linguistics. An alphabet may have any cardinality ("size") and, depending on its purpose, may be finite (e.g., the alphabet of letters "a" through "z"), countable (e.g., \), or even uncountable (e.g., \). Strings, also known as "words" or "sentences", over an alphabet are defined as a sequence of the symbols from the alphabet set. For example, the alphabet of lowercase letters "a" through "z" can be used to form English words like "iceberg" while the alphabet of both upper and lower case letters can also be used to form proper names like "Wikipedia". A common alphabet is , the binary alphabet, and a "00101111" is an example of a binary string. Infinite se ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Category (mathematics)
In mathematics, a category (sometimes called an abstract category to distinguish it from a concrete category) is a collection of "objects" that are linked by "arrows". A category has two basic properties: the ability to compose the arrows associatively and the existence of an identity arrow for each object. A simple example is the category of sets, whose objects are sets and whose arrows are functions. ''Category theory'' is a branch of mathematics that seeks to generalize all of mathematics in terms of categories, independent of what their objects and arrows represent. Virtually every branch of modern mathematics can be described in terms of categories, and doing so often reveals deep insights and similarities between seemingly different areas of mathematics. As such, category theory provides an alternative foundation for mathematics to set theory and other proposed axiomatic foundations. In general, the objects and arrows may be abstract entities of any kind, and the n ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |