# Action algebra

In algebraic logic, an action algebra is an algebraic structure which is both a residuated semilattice and a Kleene algebra. It adds the star or reflexive transitive closure operation of the latter to the former, while adding the left and right residuation or implication operations of the former to the latter. Unlike dynamic logic and other modal logics of programs, for which programs and propositions form two distinct sorts, action algebra combines the two into a single sort. It can be thought of as a variant of intuitionistic logic with star and with a noncommutative conjunction whose identity need not be the top element. Unlike Kleene algebras, action algebras form a variety, which furthermore is finitely axiomatizable, the crucial axiom being a•(aa)* ≤ a. Unlike models of the equational theory of Kleene algebras (the regular expression equations), the star operation of action algebras is reflexive transitive closure in every model of the equations.

## Definition

An action algebra (A, ∨, 0, •, 1, ←, →, *) is an algebraic structure such that (A, ∨, •, 1, ←, →) forms a residuated semilattice while (A, ∨, 0, •, 1, *) forms a Kleene algebra.[1] That is, it is any model of the joint theory of both classes of algebras. Now Kleene algebras are axiomatized with quasiequations, that is, implications between two or more equations, whence so are action algebras when axiomatized directly in this way. However, action algebras have the advantage that they also have an equivalent axiomatization that is purely equational.[2] The language of action algebras extends in a natural way to that of action lattices, namely by the inclusion of a meet operation.[3]

In the following we write the inequality ab as an abbreviation for the equation ab = b. This allows us to axiomatize the theory using inequalities yet still have a purely equational axiomatization when the inequalities are expanded to equalities.

The equations axiomatizing action algebra are those for a residuated semilattice, together with the following equations for star.

1 ∨ a*•a* ∨ a   ≤   a*
a* ≤ (ab)*
(aa)*   ≤   aa

The first equation can be broken out into three equations, 1 ≤ a*, a*•a* ≤ a*, and aa*. These force a* to be reflexive, transitive,[clarification needed] and greater or equal to a respectively. The second axiom asserts that star is monotone. The third axiom can be written equivalently as a•(aa)* ≤ a, a form which makes its role as induction more apparent. These two axioms in conjunction with the axioms for a residuated semilattice force a* to be the least reflexive transitive element of the semilattice greater or equal to a. Taking that as the definition of reflexive transitive closure of a, we then have that for every element a of any action algebra, a* is the reflexive transitive closure of a.

The equational theory of the implication-free fragment of action algebras, those equations not containing → or ←, can be shown to coincide with the equational theory of Kleene algebras, also known as the regular expression equations. In that sense the above axioms constitute a finite axiomatization of regular expressions. Redko showed in 1967 that these equations had no finite axiomatization, for which John Horton Conway gave a shorter proof in 1971. Salomaa gave an equation schema axiomatizing this theory which Kozen subsequently reformulated as a finite axiomatization using quasiequations, or implications between equations, the crucial quasiequations being those of induction: if xax then xa* ≤ x, and if axx then a*•xx. Kozen defined a Kleene algebra to be any model of this finite axiomatization.

Conway showed that the equational theory of regular expressions admit models in which a* was not the reflexive transitive closure of a, by giving a four-element model 0 ≤ 1 ≤ aa* in which aa = a. In Conway's model, a is reflexive and transitive, whence its reflexive transitive closure should be a. However the regular expressions do not enforce this, allowing a* to be strictly greater than a. Such anomalous behavior is not possible in an action algebra.

## Examples

Any Heyting algebra (and hence any Boolean algebra) is made an action algebra by taking • to be ∧ and a* = 1. This is necessary and sufficient for star because the top element 1 of a Heyting algebra is its only reflexive element, and is transitive as well as greater or equal to every element of the algebra.

The set 2Σ* of all formal languages (sets of finite strings) over an alphabet Σ forms an action algebra with 0 as the empty set, 1 = {ε}, ∨ as union, • as concatenation, LM as the set of all strings x such that xML (and dually for ML), and L* as the set of all strings of strings in L (Kleene closure).

The set 2X² of all binary relations on a set X forms an action algebra with 0 as the empty relation, 1 as the identity relation or equality, ∨ as union, • as relation composition, RS as the relation consisting of all pairs (x,y) such that for all z in X, ySz implies xRz (and dually for SR), and R* as the reflexive transitive closure of R, defined as the union over all relations Rn for integers n ≥ 0.

The two preceding examples are power sets, which are Boolean algebras under the usual set theoretic operations of union, intersection, and complement. This justifies calling them Boolean action algebras. The relational example constitutes a relation algebra equipped with an operation of reflexive transitive closure. Note that every Boolean algebra is a Heyting algebra and therefore an action algebra by virtue of being an instance of the first example.