References

  1. K. R. Apt & M. Bezem (1991): Acyclic Programs. New Generation Computing 9, pp. 335–363, doi:10.1007/BF03037168.
  2. H. P. Barendregt (1984): The Lambda Calculus, its Syntax and Semantics. North-Holland, Amsterdam, doi:10.2307/2274112.
  3. C. Batini & A. Pettorossi (1975): On Subrecursiveness in Weak Combinatory Logic. In: Proceedings of the Symposium λ-Calculus and Computer Science Theory, Lecture Notes in Computer Science 37. Springer-Verlag, pp. 297–311, doi:10.1007/BFb0029533.
  4. F. L. Bauer & H. Wössner (1982): Algorithmic Language and Program Development. Springer-Verlag, doi:10.1007/978-3-642-61807-9.
  5. R. S. Bird (1984): The Promotion and Accumulation Strategies in Transformational Programming. ACM Toplas 6(4), pp. 487–504, doi:10.1145/1780.1781.
  6. R. S. Bird (1984): Using Circular Programs to Eliminate Multiple Traversal of Data. Acta Informatica 21, pp. 239–250, doi:10.1007/BF00264249.
  7. R. S. Boyer & J. S. Moore (1975): Proving Theorems About Lisp Functions. Journal of the ACM 22(1), pp. 129–144, doi:10.1145/321864.321875.
  8. R. Burstall (1972): An Algebraic Description of Programs with Assertions, Verification and Simulation. In: Proc. ACM Conference on Proving Assertions about Programs. ACM, New York, NY, USA, pp. 7–14, doi:10.1145/800235.807068.
  9. R. M. Burstall (1977): Design Considerations for a Functional Programming Language. In: Proc. Infotech State of the Art Conference ``The Software Revolution'', Copenhagen, Denmark, pp. 47–57.
  10. R. M. Burstall & J. Darlington (1977): A Transformation System for Developing Recursive Programs. Journal of the ACM 24(1), pp. 44–67, doi:10.1145/321992.321996.
  11. R. M. Burstall, D.B. MacQueen & G. H. Sannella (1980): Hope: An Experimental Applicative Language. In: Conference Record of the 1980 LISP Conference, Stanford University, Stanford, Ca, USA, pp. 136–143, doi:10.1145/800087.802799.
  12. K. L. Clark (1978): Negation as Failure. In: H. Gallaire & J. Minker: Logic and Data Bases. Plenum Press, New York, pp. 293–322, doi:10.1007/978-1-4684-3384-5_11.
  13. W. F. Clocksin & C. S. Mellish (1984): Programming in Prolog, Second edition. Springer-Verlag, New York, doi:10.1007/978-3-642-96873-0.
  14. H. B. Curry & R. Feys (1974): Combinatory Logic. North-Holland.
  15. J. Darlington (1978): A Synthesis of Several Sorting Algorithms. Acta Informatica 11, pp. 1–30, doi:10.1007/BF00264597.
  16. J. Darlington (1981): An Experimental Program Transformation System. Artificial Intelligence 16, pp. 1–46, doi:10.1016/0004-3702(81)90014-X.
  17. E. De Angelis, F. Fioravanti, M. C. Meo, A. Pettorossi & M. Proietti (2017): Verification of Time-Aware Business Processes using Constrained Horn Clauses. In: Proceedings of the 26th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2016\/), Lecture Notes in Computer Science 10184. Springer, pp. 38–55, doi:10.1007/978-3-319-63139-4_3.
  18. E. De Angelis, F. Fioravanti, A. Pettorossi & M. Proietti (2014): VeriMAP+.1667em: A Tool for Verifying Programs through Transformations. In: Proc. 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS '14, Lecture Notes in Computer Science 8413. Springer, pp. 568–574, doi:10.1007/978-3-642-54862-8_47. Available at: http://www.map.uniroma2.it/VeriMAP.
  19. E. De Angelis, F. Fioravanti, A. Pettorossi & M. Proietti (2017): Semantics-based generation of verification conditions via program specialization. Science of Computer Programming 147, pp. 78–108, doi:10.1016/j.scico.2016.11.002. Selected and Extended papers from the Int. Symp. on Principles and Practice of Declarative Programming 2015.
  20. N. Dershowitz (1987): Termination of rewriting. Journal of Symbolic Computation 3(1-2), pp. 69–116, doi:10.1016/S0747-7171(87)80022-6.
  21. E. W. Dijkstra (1971): A Short Introduction to the Art of Programming. Technical Report. EWD 316.
  22. E. W. Dijkstra (1982): Selected Writing on Computing: A Personal Perspective. Springer-Verlag, New York, Heidelberg, Berlin, doi:10.1007/978-1-4612-5695-3.
  23. M. C. Er (1983): An iterative solution to the generalized Towers of Hanoi problems. BIT 23, pp. 295–302, doi:10.1007/BF01934458.
  24. P. Flajolet & J.-M. Steyaert (1974): On Sets Having Only Hard Subsets. In: J. Loeckx: 2nd ICALP, Automata, Languages and Programming, Lecture Notes in Computer Science 14. Springer, pp. 446–457, doi:10.1007/978-3-662-21545-6_34.
  25. D. Gelernter & N. Carriero (1992): Coordination Languages and their Significance. Communications of the ACM 35(2), pp. 97–107, doi:10.1145/129630.129635.
  26. P. J. Hayes (1977): A note on the Towers of Hanoi problem. The Computer Journal 20(3), pp. 282–285, doi:10.1093/comjnl/20.3.282.
  27. J. R. Hindley, B. Lercher & J. P. Seldin (1975): Introduzione alla Logica Combinatoria. Serie di Logica Matematica. Boringhieri. (In Italian).
  28. J. R. Hindley & J. P. Seldin (1986): Introduction to Combinators and λ-Calculus. London Mathematical Society. Cambridge University Press, doi:10.1007/BF00047236.
  29. C.A.R. Hoare (1978): Communicating Sequential Processes. CACM 21(8), pp. 666–677, doi:10.1145/359576.359585.
  30. J. E. Hopcroft & J. D. Ullman (1979): Introduction to Automata Theory, Languages and Computation. Addison-Wesley, doi:10.1145/568438.568455.
  31. R. J. M. Hughes (1986): A novel representation of lists and its application to the function ``reverse''. Info. Proc. Lett. 22, pp. 141–144, doi:10.1016/0020-0190(86)90059-1.
  32. V. E. Itkin & Z. Zwienogrodsky (1971): On equivalence of program schemata. Journ. Comp. Syst. Sci. 5.
  33. S. Kasangian, A. Labella & A. Pettorossi (1990): Observers, experiments, and agents: A comprehensive approach to parallelism. In: I. Guessarian: Semantics of Systems of Concurrent Processes. LITP Spring School, Lecture Notes in Computer Science 469. Springer-Verlag, pp. 375–406, doi:10.1007/3-540-53479-2_16.
  34. G. M. Kelly (1982): Basic Concepts of Enriched Category Theory. Cambridge University Press, Cambridge.
  35. R. A. Kowalski (1979): Logic for Problem Solving. North Holland. Available at: www.doc.ic.ac.uk/ ~ rak/papers/LogicForProblemSolving.pdf.
  36. A. Labella & A. Pettorossi (1985): Categorical Models for Handshaking Communications. Fundamenta Informaticae. Series IV. VIII(3-4), pp. 322–357.
  37. S. S. Lavrov (1961): Economy of memory in closed operator schemes. U.S.S.R. Computat. Math. and Math. Physics, pp. 810–828.
  38. J. W. Lloyd (1987): Foundations of Logic Programming. Springer-Verlag, Berlin, doi:10.1007/978-3-642-83189-8. Second Edition.
  39. V. V. Martynuk (1965): On the analysis of control-flow graphs for a program scheme. Journ. Comp. Math. and Math. Phys. 5,2.
  40. E. Mendelson (1987): Introduction to Mathematical Logic. Wadsworth & Brooks/Cole Advanced Books & Software, Monterey, California, USA, doi:10.2307/2274877. Third Edition.
  41. J. Miller & S. Brown (1966): An algorithm for evaluation of remote terms in a linear recurrence sequence. The Computer Journal 9, pp. 188–190, doi:10.1093/comjnl/9.2.188.
  42. R. Milner (1989): Communication and Concurrency. Prentice Hall, doi:10.5555/534666.
  43. J. H. Newman (2001): Apologia Pro Vita Sua. Maisie Ward (ed.), Sheed and Ward, London.
  44. M. S. Paterson & C. E. Hewitt (1970): Comparative Schematology. In: Conference on Concurrent Systems and Parallel Computation Project MAC, Woods Hole, Mass., USA, pp. 119–127. Available at: https://dl.acm.org/doi/pdf/10.1145/1344551.1344563.
  45. A. Pettorossi (1971): Ottimizzazione di un Collegamento per Trasmissione di Dati Mediante Simulazione Numerica. Laurea Thesis (in Italian). University of Rome, Italy. Available on request to the author..
  46. A. Pettorossi (1972): Automatic Derivation of Control Flow Graphs of Fortran Programs. Master Thesis (in Italian). Original title: Generazione Automatica del Grafo di Flusso del Controllo per un Programma di Calcolo Scritto in Fortran. University of Rome, Italy. Available on request to the author..
  47. A. Pettorossi (1978): Improving memory utilization in transforming programs. In: Proc. Mathematical Foundations of Computer Science 1978, Zakopane (-.1667emPoland\/), Lecture Notes in Computer Science 64. Springer-Verlag, pp. 416–425, doi:10.1007/3-540-08921-7_89.
  48. A. Pettorossi (1979): On the Definition of Hierarchies of Infinite Sequential Computations. In: Lothar Budach: Fundamentals of Computation Theory, FCT'79. Akademic-Verlag, Berlin, pp. 335–341. Available on request to the author..
  49. A. Pettorossi (1980): Synthesis of Subtree Rewriting Systems Behaviour by Solving Equations. In: Proc. 5ème Colloque de Lille (-.1667emFrance) on ``Les Arbres en Algèbre et en Programmation''. U.E.R. I.E.E.A. BP 36, Université de Lille I, 59655 Villeneuve d'Ascq Cedex, France, pp. 63–74. Available on request to the author..
  50. A. Pettorossi (1981): Comparing and Putting Together Recursive Path Orderings, Simplification Orderings, and Non-Ascending Property for Termination Proofs of Term Rewriting Systems. In: Proc. ICALP 1981, Haifa (-.1667emIsrael\/), Lecture Notes in Computer Science 115. Springer-Verlag, pp. 432–447, doi:10.1007/3-540-10843-2_35.
  51. A. Pettorossi (1984): Methodologies for Transformations and Memoing in Applicative Languages. Edinburgh University, Edinburgh, Scotland. Available at: https://era.ed.ac.uk/handle/1842/15643.
  52. A. Pettorossi (1984): A Powerful Strategy for Deriving Efficient Programs by Transformation. In: ACM Symposium on Lisp and Functional Programming. ACM Press, pp. 273–281, doi:10.1145/800055.802044.
  53. A. Pettorossi (1985): Towers of Hanoi Problems: Deriving Iterative Solutions by Program Transformation. BIT 25, pp. 327–334, doi:10.1007/BF01934378.
  54. A. Pettorossi (1987): Derivation of Efficient Programs For Computing Sequences of Actions. Theoretical Computer Science 53, pp. 151–167, doi:10.1016/0304-3975(87)90030-2.
  55. A. Pettorossi & R. M. Burstall (1982): Deriving Very Efficient Algorithms for Evaluating Linear Recurrence Relations Using the Program Transformation Technique. Acta Informatica 18, pp. 181–206, doi:10.1007/BF00264438.
  56. A. Pettorossi & M. Proietti (2000): Transformation Rules for Logic Programs with Goals as Arguments. In: A. Bossi: Proceedings of the 9th International Workshop on Logic-based Program Synthesis and Transformation (LOPSTR '99\/), Venezia, Italy, Lecture Notes in Computer Science 1817. Springer-Verlag, Berlin, pp. 177–196, doi:10.1007/10720327_11.
  57. A. Pettorossi & M. Proietti (2002): The List Introduction Strategy for the Derivation of Logic Programs. Formal Aspects of Computing 13(3-5), pp. 233–251, doi:10.1007/s001650200011.
  58. A. Pettorossi & M. Proietti (2002): Program Derivation = Rules + Strategies. In: A. Kakas & F. Sadri: Computational Logic: Logic Programming and Beyond (Essays in honour of Bob Kowalski, Part I), Lecture Notes in Computer Science 2407. Springer-Verlag, pp. 273–309, doi:10.1007/3-540-45628-7_12.
  59. A. Pettorossi & A. Skowron (1983): Complete Modal Theories for Verifying Communicating Agents Behaviour in Recursive Equations Programs. Internal Report CSR-128-83. University of Edinburgh, Edinburgh, Scotland. Available on request to the authors..
  60. A. Pettorossi & A. Skowron (1985): A methodology for improving parallel programs by adding communications. In: Computation Theory, SCT 1984, Lecture Notes in Computer Science 280. Springer-Verlag, Berlin, pp. 228–250, doi:10.1007/3-540-16066-3_20.
  61. A. Pettorossi & A. Skowron (1985): A System for Developing Distributed Communicating Programs. In: M. Feilmeier, G. Joubert & U. Schendel: International Conference `Parallel Computing 85'. North-Holland, pp. 241–246. Available on request to the authors..
  62. A. Pettorossi & A. Skowron (1989): The Lambda Abstraction Strategy for Program Derivation. Fundamenta Informaticae XII(4), pp. 541–561. Available on request to the authors..
  63. Alberto Pettorossi & Maurizio Proietti (2004): Transformations of Logic Programs with Goals as Arguments. Theory Pract. Log. Program. 4(4), pp. 495–537, doi:10.1017/S147106840400198X.
  64. M. Proietti & A. Pettorossi (1990): Synthesis of Eureka Predicates for Developing Logic Programs. In: N. D. Jones: Third European Symposium on Programming, ESOP '90, Lecture Notes in Computer Science 432. Springer-Verlag, pp. 306–325, doi:10.1007/3-540-52592-0_71.
  65. M. Proietti & A. Pettorossi (1991): Unfolding-Definition-Folding, in this Order, for Avoiding Unnecessary Variables in Logic Programs. In: J. Małuszyński & M. Wirsing: Third International Symposium on Programming Language Implementation and Logic Programming, PLILP '91, Lecture Notes in Computer Science 528. Springer-Verlag, pp. 347–358, doi:10.1007/3-540-54444-5_111.
  66. H. Rogers (1967): Theory of Recursive Functions and Effective Computability. McGraw-Hill.
  67. L. S. Sterling & E. Shapiro (1994): The Art of Prolog. The MIT Press, Cambridge, Massachusetts. Second Edition.
  68. H. Tamaki & T. Sato (1984): Unfold/Fold Transformation of Logic Programs. In: S.-Å. Tärnlund: Proceedings of the Second International Conference on Logic Programming, ICLP '84. Uppsala University, Uppsala, Sweden, pp. 127–138.
  69. S. A. Walker & H. R. Strong (1973): Characterization of Flowchartable Recursions. Journal of Computer and System Sciences 7(4), pp. 404–447, doi:10.1016/S0022-0000(73)80032-7.
  70. D. H. D. Warren (1977): Implementing Prolog – Compiling Predicate Logic Programs. Research Report 39 & 40. Department of Artificial Intelligence, University of Edinburgh, Scotland.
  71. D. H. D. Warren (1983): An Abstract Prolog Instruction Set. Technical Report 309. SRI International.
  72. D. H. D. Warren, L. M. Pereira & F. Pereira (1977): Prolog - the language and its implementation compared with Lisp. SIGART Newsl. 64, pp. 109–115, doi:10.1145/872736.806939.
  73. G. Winskel (1984): Synchronization Trees. Theoretical Computer Science 34(1-2), pp. 33–82, doi:10.1016/0304-3975(84)90112-9.
  74. Y. I. Yanov (1960): The Logical Schemes of Algorithms. Problems of Cybernetics 1, pp. 82–140. English translation.

Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org