Papers by Alberto Pettorossi

Elements of computability, decidability, and complexity. Fifth Edition
These lecture notes are intended to introduce the reader to the basic notions of computability th... more These lecture notes are intended to introduce the reader to the basic notions of computability theory, decidability, and complexity. More information on these subjects can be found in classical books such as [Cut80,Dav58,Her69,HoU79,Rog67]. The results reported in these notes are taken from those books and in various parts we closely follow their style of presentation. The reader is encouraged to look at those books for improving his/her knowledge on these topics. Some parts of the chapter on complexity are taken from the lecture notes of a beautiful course given by Prof. Leslie Valiant at Edinburgh University, Scotland, in 1979. It was, indeed, a very stimulating and enjoyable course. For the notions of Predicate Calculus we have used in this book the reader may refer to [Men87]. I would like to thank Dr. Maurizio Proietti at IASI-CNR (Roma, Italy), my colleagues, and my students at the University of Roma Tor Vergata and, in particular, Michele Martone. They have been for me a sour...
Selected papers from the 11th International Workshop on Logic Based Program Synthesis and Transformation

Meta-Programming in Logic: Third International Workshop, Meta-92, Uppsala, Sweden, June 10-12, 1992: Proceedings
Belief revision: A vade-mecum.- Metaprogramming through intensional deduction: Some examples.- An... more Belief revision: A vade-mecum.- Metaprogramming through intensional deduction: Some examples.- An autoepistemic analysis of metalevel reasoning in logic programming.- An introduction to partial deduction.- Tutorial on termination of logic programs.- Definable naming relations in meta-level systems.- Meta for modularising logic programming.- Compiler optimizations for low-level redundancy elimination: An application of meta-level prolog primitives.- Reflective agents in metalogic programming.- Logic meta-programming facilities in 'LOG.- The Pandora deadlock handler meta-level relation.- Object-oriented programming in Godel: An experiment.- A sensible least Herbrand semantics for untyped vanilla meta-programming and its extension to a limited form of amalgamation.- A complete resolution method for logical meta-programming languages.- Model theoretic semantics for Demo.- Hierarchical meta-logics: Intuitions, proof theory and semantics.- Negation and control in automatically generat...
Meta-Programming in Logic
Lecture Notes in Computer Science, 1992
Supplementary Topics
Springer eBooks, 2021

We present a comparative evaluation of some generalization strategies which are applied by a meth... more We present a comparative evaluation of some generalization strategies which are applied by a method for the automated verification of infinite state reactive systems. The verification method is based on (1) the specialization of the constraint logic program which encodes the system with respect to the initial state and the property to be verified, and (2) a bottom-up evaluation of the specialized program. The generalization strategies are used during the program specialization phase for controlling when and how to perform generalization. Selecting a good generalization strategy is not a trivial task because it must guarantee the termination of the specialization phase itself, and it should be a good balance between precision and performance. Indeed, a coarse generalization strategy may prevent one to prove the properties of interest, while an unnecessarily precise strategy may lead to high verification times. We perform an experimental evaluation of various generalization strategies on several infinite state systems and properties to be verified.
Proceedings of the Third International Workshop on Verification and Program Transformation
Electronic proceedings in theoretical computer science, Dec 7, 2015
Finite Automata and Regular Grammars
Undergraduate topics in computer science, 2022
Decidability and Undecidability in Context-Free Languages
Undergraduate topics in computer science, 2022
Linear Bounded Automata and Context-Sensitive Grammars
Undergraduate topics in computer science, 2022
Chop-and-Expand Parsers for Context-Free Languages
Techniques for Searching, Parsing, and Matching
Path Problems in Directed Graphs
Techniques for Searching, Parsing, and Matching
Tree Rewriting Systems, Combinatory Weak Reduction Systems and Type Free Languages1
Fundamenta Informaticae, Jul 1, 1982
<jats:p>In this paper we consider combinators as tree transducers: this approach is based o... more <jats:p>In this paper we consider combinators as tree transducers: this approach is based on the one-to-one correspondence between terms of Combinatory Logic and trees, and on the fact that combinators may be considered as transformers of terms. Since combinators are terms themselves, we will deal with trees as objects to be transformed and tree transformers as well. Methods for defining and studying tree rewriting systems inside Combinatory Weak Reduction Systems and Weak Combinatory Logic are also analyzed and particular attention is devoted to the problem of finiteness and infinity of the generated tree languages (here defined). This implies the study of the termination of the rewriting process (i.e. reduction) for combinators.</jats:p>
String Matching
Techniques for Searching, Parsing, and Matching, 2021
Banach Center Publications, 1988
Elements of concurrent programming (Second edition)
This book introduces the reader to the basic ideas of first order predicate calculus and logic pr... more This book introduces the reader to the basic ideas of first order predicate calculus and logic programming.
ArXiv, 2017
It is well-known that: (i) every context-free language over a singleton terminal alphabet is regu... more It is well-known that: (i) every context-free language over a singleton terminal alphabet is regular [4], and (ii) the class of languages that satisfy the Pumping Lemma is a proper super-class of the context-free languages. We show that any language in this super-class over a singleton terminal alphabet is regular. Our proof is based on a transformational approach and does not rely on Parikh’s Theorem [6]. Our result extends previously known results because there are languages that are not context-free, do satisfy the Pumping Lemma, and do not satisfy the hypotheses of Parikh’s Theorem [7].
Automata theory and formal languages (Second edition)
These lecture notes present some basic notions and results on Automata Theory, Formal Languages T... more These lecture notes present some basic notions and results on Automata Theory, Formal Languages Theory, Computability Theory, and Parsing Theory. I prepared these notes for a course on Automata, Languages, and Translators which I am teaching at the University of Roma Tor Vergata. More material on these topics and on parsing techniques for context-free languages can be found in standard textbooks such as~\cite{Ah&86,Har78,HoU79}. The reader is encouraged to look at those books.

Definition 8. [Language Accepted by a Turing Machine. Equivalence Between Turing Machines] Let us... more Definition 8. [Language Accepted by a Turing Machine. Equivalence Between Turing Machines] Let us consider a Turing Machine M with initial state q 0 , and an input word w ∈ Σ * for M. (i) We say that M answers 'yes' for w (or M accepts w) iff (1.1) q 0 w → * M α 1 q α 2 for some q ∈ F , α 1 ∈ Γ * , and α 2 ∈ Γ + , and (1.2) M stops in the configuration α 1 q α 2 . (ii) We say that M answers 'no' for w (or M rejects w) iff (2.1) for all configurations γ such that q 0 w → * M γ, the state in γ is not a final state, and (2.2) there exists a configuration γ such that q 0 w → * M γ and M stops in γ. (iii) The set {w | w ∈ Σ * and q 0 w → * M α 1 q α 2 for some q ∈ F , α 1 ∈ Γ * , and α 2 ∈ Γ + } which is a subset of Σ * , is said to be the language accepted by M and it denoted by L(M). Every word in L(M) is said to be a word accepted by M. A language accepted by a Turing Machine is said to be Turing computable. (iv) Two Turing Machines M 1 and M 2 are said to be equivalent iff L(M 1 ) and L(M 2 ). When the input word w is understood from the context, we will simply say: M answers 'yes' (or 'no'), instead of saying: M answers 'yes' (or 'no') for the word w. Note that in other textbooks, when introducing the concepts of Definition 8 above, the authors use the expressions 'recognizes', 'recognized', and 'does not recognize', instead of 'accepts', 'accepted', and 'rejects', respectively. Remark 1. [Halting Hypothesis] Unless otherwise specified, we will assume the following hypothesis, called the Halting Hypothesis: for all Turing Machines M, for all initial configuration q 0 w, and for all configurations γ, if q 0 w → * M γ and the state in γ is final then no configuration γ ′ exists such that γ → M γ ′ . Thus, by assuming the Halting Hypothesis, we will consider only Turing Machines which stop whenever they are in a final state.

Journal of Logic and Computation, Feb 4, 2022
We address the problem of checking the satisfiability of Constrained Horn Clauses (CHCs) defined ... more We address the problem of checking the satisfiability of Constrained Horn Clauses (CHCs) defined on Algebraic Data Types (ADTs), such as lists and trees. We propose a new technique for transforming CHCs defined on ADTs into CHCs where the arguments of the predicates have only basic types, such as integers and booleans. Thus, our technique avoids, during satisfiability checking, the explicit use of proof rules based on induction over the ADTs. The main extension over previous techniques for ADT removal is a new transformation rule, called differential replacement, which allows us to introduce auxiliary predicates, whose definitions correspond to lemmas that are used when making inductive proofs. We present an algorithm that performs the automatic removal of ADTs by applying the new rule, together with the traditional folding/unfolding rules. We prove that, under suitable hypotheses, the set of the transformed clauses is satisfiable if and only if so is the set of the original clauses. By an experimental evaluation, we show that the use of the new rule significantly improves the effectiveness of ADT removal. We also show that our approach is competitive with respect to tools that extend CHC solvers with the use of inductive rules.
Uploads
Papers by Alberto Pettorossi