TY - GEN
T1 - Efficient computation of program equivalence for confluent concurrent constraint programming
AU - Pino, Luis F.
AU - Bonchi, Filippo
AU - Valencia, Frank D.
PY - 2013
Y1 - 2013
N2 - Concurrent Constraint Programming (ccp) is a well-established declarative framework from concurrency theory. Its foundations and principles e.g., semantics, proof systems, axiomatizations, have been thoroughly studied for over the last two decades. In contrast, the development of algorithms and automatic verification procedures for ccp have hitherto been far too little considered. To the best of our knowledge there is only one existing verification algorithm for the standard notion of ccp program (observational) equivalence. In this paper we first show that this verification algorithm has an exponential-time complexity even for programs from a representative sub-language of ccp; the summation-free fragment (ccp\+). We then significantly improve on the complexity of this algorithm by providing two alternative polynomial-time decision procedures for ccp\+ program equivalence. Each of these two procedures has an advantage over the other. One has a better time complexity. The other can be easily adapted for the full language of ccp to produce significant state space reductions. The relevance of both procedures derives from the importance of ccp\+. This fragment, which has been the subject of many theoretical studies, has strong ties to first-order logic and an elegant denotational semantics, and it can be used to model real-world situations. Its most distinctive feature is that of confluence, a property we exploit to obtain our polynomial procedures.
AB - Concurrent Constraint Programming (ccp) is a well-established declarative framework from concurrency theory. Its foundations and principles e.g., semantics, proof systems, axiomatizations, have been thoroughly studied for over the last two decades. In contrast, the development of algorithms and automatic verification procedures for ccp have hitherto been far too little considered. To the best of our knowledge there is only one existing verification algorithm for the standard notion of ccp program (observational) equivalence. In this paper we first show that this verification algorithm has an exponential-time complexity even for programs from a representative sub-language of ccp; the summation-free fragment (ccp\+). We then significantly improve on the complexity of this algorithm by providing two alternative polynomial-time decision procedures for ccp\+ program equivalence. Each of these two procedures has an advantage over the other. One has a better time complexity. The other can be easily adapted for the full language of ccp to produce significant state space reductions. The relevance of both procedures derives from the importance of ccp\+. This fragment, which has been the subject of many theoretical studies, has strong ties to first-order logic and an elegant denotational semantics, and it can be used to model real-world situations. Its most distinctive feature is that of confluence, a property we exploit to obtain our polynomial procedures.
KW - bisimulation
KW - concurrent constraint programming
KW - observational equivalence
KW - partition refinement
UR - http://www.scopus.com/inward/record.url?scp=84885200411&partnerID=8YFLogxK
U2 - 10.1145/2505879.2505902
DO - 10.1145/2505879.2505902
M3 - Conference contribution
AN - SCOPUS:84885200411
SN - 9781450321549
T3 - Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming, PPDP 2013
SP - 263
EP - 274
BT - Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming, PPDP 2013
T2 - 15th Symposium on Principles and Practice of Declarative Programming, PPDP 2013
Y2 - 16 September 2013 through 18 September 2013
ER -