Decreasing diagrams for confluence and commutation
Logical Methods in Computer Science , Volume 16 - Issue 1
Like termination, confluence is a central property of rewrite systems. Unlike for termination, however, there exists no known complexity hierarchy for confluence. In this paper we investigate whether the decreasing diagrams technique can be used to obtain such a hierarchy. The decreasing diagrams technique is one of the strongest and most versatile methods for proving confluence of abstract rewrite systems. It is complete for countable systems, and it has many well-known confluence criteria as corollaries. So what makes decreasing diagrams so powerful? In contrast to other confluence techniques, decreasing diagrams employ a labelling of the steps with labels from a wellfounded order in order to conclude confluence of the underlying unlabelled relation. Hence it is natural to ask how the size of the label set influences the strength of the technique. In particular, what class of abstract rewrite systems can be proven confluent using decreasing diagrams restricted to 1 label, 2 labels, 3 labels, and so on? Surprisingly, we find that two labels suffice for proving confluence for every abstract rewrite system having the cofinality property, thus in particular for every confluent, countable system. Secondly, we show that this result stands in sharp contrast to the situation for commutation of rewrite relations, where the hierarchy does not collapse. Thirdly, investigating the possibility of a confluence hierarchy, we determine the first-order (non-)definability of the notion of confluence and related properties, using techniques from finite model theory. We find that in particular Hanf ’s theorem is fruitful for elegant proofs of undefinability of properties of abstract rewrite systems.
|Logical Methods in Computer Science|
|Organisation||Centrum Wiskunde & Informatica, Amsterdam (CWI), The Netherlands|
Endrullis, J, Klop, J.W, & Overbeek, R. (2020). Decreasing diagrams for confluence and commutation. Logical Methods in Computer Science, 16(1). doi:10.23638/LMCS-16(1:23)2020