English
Related papers

Related papers: Imperative Functional Programs that Explain their …

200 papers

Given a program, a quotient can be obtained from it by deleting zero or more statements. The field of program slicing is concerned with computing a quotient of a program which preserves part of the behaviour of the original program. All…

Programming Languages · Computer Science 2017-05-23 Sebastian Danicic , Robert M. Hierons , Michael R. Laurence

We introduce a framework that represents a dynamic program as a family of operators acting on a partially ordered set. We provide an optimality theory based only on order-theoretic assumptions and show how applications across almost all…

Optimization and Control · Mathematics 2025-01-07 Thomas J. Sargent , John Stachurski

We provide here a computational interpretation of first-order logic based on a constructive interpretation of satisfiability w.r.t. a fixed but arbitrary interpretation. In this approach the formulas themselves are programs. This contrasts…

Logic in Computer Science · Computer Science 2007-05-23 Krzysztof R. Apt , Marc Bezem

Implicit computational complexity, which aims at characterizing complexity classes by machine-independent means, has traditionally been based, on the one hand, on programs and deductive formalisms for free algebras, and on the other hand on…

Logic in Computer Science · Computer Science 2018-02-12 Daniel Leivant , Jean-Yves Marion

Program specialization is a program transformation methodology which improves program efficiency by exploiting the information about the input data which are available at compile time. We show that current techniques for program…

Programming Languages · Computer Science 2007-05-23 Alberto Pettorossi , Maurizio Proietti , Sophie Renault

This work continues the development of an intensional approach to computability initiated in previous work, in which programs and computations, rather than functions, constitute the primary objects of study. In this setting, models of…

Logic in Computer Science · Computer Science 2026-05-19 Thomas Seiller

Clausal Language (CL) is a declarative programming and verifying system used in our teaching of computer science. CL is an implementation of, what we call, $\mathit{PR}{+}I\Sigma_1$ paradigm (primitive recursive functions with…

Logic in Computer Science · Computer Science 2019-10-03 Ján Komara , Paul J. Voda

A program schema defines a class of programs, all of which have identical statement structure, but whose functions and predicates may differ. A schema thus defines an entire class of programs according to how its symbols are interpreted. A…

Logic in Computer Science · Computer Science 2017-05-29 Sebastian Danicic , Robert M Hierons , Michael R Laurence

An attempt at unifying logic and functional programming is reported. As a starting point, we take the view that "logic programs" are not about logic but constitute inductive definitions of sets and relations. A skeletal language design…

Logic in Computer Science · Computer Science 2016-08-31 Lawrence C. Paulson , Andrew W. Smith

Static program slicing is a fundamental software engineering technique for isolating code relevant to specific variables. While recent learning-based approaches using language models (LMs) show promise in automating slice prediction, they…

Software Engineering · Computer Science 2026-05-12 Pengfei He , Shaowei Wang , Tse-Hsun Chen , Muhammad Asaduzzaman

In this paper, we describe an IDE called CAPS (Calculational Assistant for Programming from Specifications) for the interactive, calculational derivation of imperative programs. In building CAPS, our aim has been to make the IDE accessible…

Programming Languages · Computer Science 2015-08-20 Dipak L. Chaudhari , Om Damani

Learning complex programs through inductive logic programming (ILP) remains a formidable challenge. Existing higher-order enabled ILP systems show improved accuracy and learning performance, though remain hampered by the limitations of the…

Artificial Intelligence · Computer Science 2022-08-02 Stanisław J. Purgał , David M. Cerna , Cezary Kaliszyk

Linear Logic refines Intuitionnistic Logic by taking into account the resources used during the proof and program computation. In the past decades, it has been extended to various frameworks. The most famous are indexed linear logics which…

Logic in Computer Science · Computer Science 2026-01-14 Flavien Breuvart , Marie Kerjean , Simon Mirwasser

Choreographic programming is a paradigm where a concurrent or distributed system is developed in a top-down fashion. Programs, called choreographies, detail the desired interactions between processes, and can be compiled to distributed…

Programming Languages · Computer Science 2023-05-01 Luís Cruz-Filipe , Eva Graversen , Fabrizio Montesi , Marco Peressotti

In this paper, we identify a fragment of second-order logic with restricted quantification that is expressive enough to capture numerous static analysis problems (e.g. safety proving, bug finding, termination and non-termination proving,…

Logic in Computer Science · Computer Science 2015-09-01 Cristina David , Daniel Kroening , Matt Lewis

We present a novel algorithm that synthesizes imperative programs for introductory programming courses. Given a set of input-output examples and a partial program, our algorithm generates a complete program that is consistent with every…

Programming Languages · Computer Science 2017-06-14 Sunbeom So , Hakjoo Oh

Pull-tabbing is an evaluation approach for functional logic computations, based on a graph transformation recently proposed, which avoids making irrevocable non-deterministic choices that would jeopardize the completeness of computations.…

Programming Languages · Computer Science 2011-08-02 Sergio Antoy

We unify functional and logic programming by treating predicatesas functions equipped with their support: the set of inputs whose output is nonzero. Datalog, for instance, is a language of finitely supported boolean functions. Finite…

Programming Languages · Computer Science 2026-04-30 Michael Arntzenius , Max Willsey

Call graphs depict the static, caller-callee relation between "functions" in a program. With most source/target languages supporting functions as the primitive unit of composition, call graphs naturally form the fundamental control flow…

Software Engineering · Computer Science 2016-11-17 Ganesh M. Narayan , K. Gopinath , V. Sridhar

We introduce a first proofs-as-parallel-programs correspondence for classical logic. We define a parallel and more powerful extension of the simply typed lambda calculus corresponding to an analytic natural deduction based on the excluded…

Logic in Computer Science · Computer Science 2018-09-24 Federico Aschieri , Agata Ciabattoni , Francesco Antonio Genco