The Replacement Operation for CCP Programs


Marco Bertolino, Sandro Etalle and Catuscia Palamidessi


The replacement is a very powerful transformation operation which -- both within the functional paradigm as well as within the logic programming one -- can mimic the most common transformation operations such as unfold, fold, switching, distribution. Because of this flexibility, it can be incorrect if used without specific applicability conditions. In this paper we present applicability conditions which ensure the correctness of the replacement operation in the context of Concurrent Constraint Programs. Furthermore we show that, under these conditions, the replacement generalizes both the unfolding operation as well as a restricted form of folding operation.