A partial monoid $P$ is a set with a partial multiplication $\times$ (and total identity $1_P$) which satisfies some associativity axiom. The partial monoid $P$ may be embedded in a free monoid $P^*$ and the product $\star$ is simulated by a string rewriting system on $P^*$ that consists in evaluating the concatenation of two letters as a product in $P$, when it is defined, and a letter $1_P$ as the empty word $\epsilon$. In this paper we study the profound relations between confluence for such a system and associativity of the multiplication. Moreover we develop a reduction strategy to ensure confluence and which allows us to define a multiplication on normal forms associative up to a given congruence of $P^*$. Finally we show that this operation is associative if, and only if, the rewriting system under consideration is confluent.
Deep Dive into Partial monoids: associativity and confluence.
A partial monoid $P$ is a set with a partial multiplication $\times$ (and total identity $1_P$) which satisfies some associativity axiom. The partial monoid $P$ may be embedded in a free monoid $P^*$ and the product $\star$ is simulated by a string rewriting system on $P^*$ that consists in evaluating the concatenation of two letters as a product in $P$, when it is defined, and a letter $1_P$ as the empty word $\epsilon$. In this paper we study the profound relations between confluence for such a system and associativity of the multiplication. Moreover we develop a reduction strategy to ensure confluence and which allows us to define a multiplication on normal forms associative up to a given congruence of $P^*$. Finally we show that this operation is associative if, and only if, the rewriting system under consideration is confluent.
A partial monoid is a set equipped with a partially-defined multiplication, say ×, which is associative in the sense that (x × y) × z = x × (y × z) means that the left-hand side is defined if, and only if, the right-hand side is defined, and in this situation they are equal. A partial monoid is also assumed to have an identity element. Our original interest on such structures is due to the fact that they provide an algebraic framework for an abstract notion of connected components and the treatment of the exponential formula [10].
However another interesting feature of partial monoids motivates our work: their interpretation as a model of computation with errors. Programs can be interpreted as partial functions and their composition, when defined, simulate a sequential process. Abstracting this situation by considering programs as elements of a partial monoid, the notion of error occurs naturally: an error is nothing but the evaluation of a not defined product. In order to locate the fault, we can set undefined products to be equal to some new symbol (an error flag), for instance 0, i.e., x × y = 0 when x × y is undefined. Now, if we interpret an n-fold product x 1 × x 2 × • • • × x n as some sequential program, then if the evaluation of one of the factors is an error, the program itself is erroneous, in other terms, 0 × x = 0 = x × 0 for every x. This situation is not fully satisfactory for the reason that the factor whose evaluation causes the error is lost by this crunch to zero. To fix this weakness, let us consider that the machine, which performs the execution x 1 × x 2 × • • • × x n , evaluates a factor x i × x i+1 only when it is defined. In other terms, the machine only deals with error-free factors. The result of such an execution is a " word " u 1 × • • • × u k which may be seen as an exception handling: each factor u i marks faultless computations, while a product u j × u j+1 labels an error. Obviously a word reduced to a single element represents the result of a program with no error at all.
Mathematically speaking, the previous situation is perfectly described first by embedding the partial monoid P into the free monoid P * of words over the alphabet P , and second, by mimicking the execution of a program w ∈ P * as applications of the rewriting rules: if w = uxyv and x × y is defined in P , then w ⇒ u(x×y)v, and if w = u1 P v (1 P is the identity of P ), then w ⇒ uv. Actually an execution as described above is represented by reductions of the word as far as it is possible. In other words, an execution computes -when it exists -the normal form of the program w. This string rewriting system -called a semi-Thue system -is easily seen to be terminating, i.e. without infinite executions, property which guarantees existence, but not uniqueness, of normal forms. Seen as the result of an execution, a normal form should be unique. This is possible when the semi-Thue system is confluent.
The main objective of this work is to highlight the profound links between associativity and confluence for such rewriting systems, that is, to give characterizations of confluence in terms of associativity, and vice versa. In this paper, we exhibit the exact property the partial monoids must satisfy to ensure confluence of the system. Since this particular property does not hold in every partial monoid, we develop a strategy of reduction, called the left standard reduction, which provides a unique normal form which is also a normal form for the initial system. Finally, using the left standard reduction, we equip the set of all normal forms with a total binary operation which is shown to be associative up to some monoidal congruence. In order to prove this result, we use another rewriting system on nonassociative words -which allows us to move pairs of brackets to perform associativity -in a way similar to the treatment of the coherence theorem for monoidal category [23]. Finally we show that the operation on normal forms is associative if, and only if, the semi-Thue system under consideration is confluent.
Note 1. Most of the proofs of lemmas will be omitted, since they are free of technical difficulties.
A partial monoid (see [10,25,30]) -also sometimes called premonoid [3,4] -is a nonvoid set P together with a partially-defined function × : P × P → P , with domain of definition dom(×) ⊆ P × P , and a distinguished element, 1 P ∈ P , called the identity, such that 1. for every x ∈ P , (x, 1 P ) and (1 P , x) belong to dom(×), and, x × 1 P = x = 1 P × x;
- for every x, y, z ∈ P , (x, y) ∈ dom(×), (x × y, z) ∈ dom(×) if, and only if, (y, z) ∈ dom(×), (x, y × z) ∈ dom(×), and, in both cases, (x × y) × z = x × (y × z).
Let us consider the set P 0 = P ∪ {0} obtained from P by the adjunction of a new element 0. The operation × is extended to the whole Cartesian product P 0 × P 0 as an operation × 0 by setting x × 0 y = x × y for every (x, y) ∈ dom(×) and x × 0 y = 0 for remaining pairs of elements of P 0 . This new
…(Full text truncated)…
This content is AI-processed based on ArXiv data.