@article{eprints1362, author = {Alberto Pettorossi and Maurizio Proietti and Valerio Senni}, publisher = {Cambridge University Press}, journal = {Theory and Practice of Logic Programming}, note = {Special Issue on the 26th International Conference on Logic Programming, Edinburgh, Scotland, UK, July 16-19, 2010}, year = {2010}, title = {Transformations of logic programs on infinite lists}, number = {4-6}, pages = {383--399}, volume = {10}, abstract = {We consider an extension of logic programs, called {\ensuremath{\omega}}-programs, that can be used to define predicates over infinite lists. {\ensuremath{\omega}}-programs allow us to specify properties of the infinite behavior of reactive systems and, in general, properties of infinite sequences of events. The semantics of {\ensuremath{\omega}}-programs is an extension of the perfect model semantics. We present variants of the familiar unfold/fold rules which can be used for transforming {\ensuremath{\omega}}-programs. We show that these new rules are correct, that is, their application preserves the perfect model semantics. Then we outline a general methodology based on program transformation for verifying properties of {\ensuremath{\omega}}-programs. We demonstrate the power of our transformation-based verification methodology by proving some properties of B{\"u}chi automata and {\ensuremath{\omega}}-regular languages.}, url = {http://eprints.imtlucca.it/1362/}, keywords = {Program transformation; Program verification; Infinite lists} }