English
Related papers

Related papers: Modular Automatic Complexity Analysis of Recursive…

200 papers

This paper introduces a new methodology for the complexity analysis of higher-order functional programs, which is based on three ingredients: a powerful type system for size analysis and a sound type inference procedure for it, a ticking…

Logic in Computer Science · Computer Science 2017-06-29 Martin Avanzini , Ugo Dal Lago

We describe an ACL2 package for defining partial recursive functions that also supports efficient execution. While packages for defining partial recursive functions already exist for other theorem provers, they often require inductive…

Logic in Computer Science · Computer Science 2013-05-01 David Greve , Konrad Slind

Primitive recursion is a mature, well-understood topic in the theory and practice of programming. Yet its dual, primitive corecursion, is underappreciated and still seen as exotic. We aim to put them both on equal footing by giving a…

Programming Languages · Computer Science 2021-03-16 Paul Downen , Zena M. Ariola

<Q>_e is the effective list of all finite predicate logic programs. <T_e> is the list of recursive trees. We modify constructions of Marek, Nerode, and Remmel [25] to construct recursive functions f and g such that for all indices e, (i)…

Logic in Computer Science · Computer Science 2013-03-27 D. Cenzer , V. W. Marek , J. B. Remmel

We introduce a novel approach to the automated termination analysis of computer programs: we use neural networks to represent ranking functions. Ranking functions map program states to values that are bounded from below and decrease as a…

Machine Learning · Computer Science 2022-09-07 Mirco Giacobbe , Daniel Kroening , Julian Parsert

The main way of analyzing the complexity of a program is that of extracting and solving a recurrence that expresses its running time in terms of the size of its input. We develop a method that automatically extracts such recurrences from…

Programming Languages · Computer Science 2019-11-13 G. A. Kavvos , Edward Morehouse , Daniel R. Licata , Norman Danner

Recursive coalgebras provide an elegant categorical tool for modelling recursive algorithms and analysing their termination and correctness. By considering coalgebras over categories of suitably indexed families, the correctness of the…

Programming Languages · Computer Science 2026-04-20 Cass Alexandru , Henning Urbat , Thorsten Wißmann

Motivated by algorithmic information theory, the problem of program discovery can help find candidates of underlying generative mechanisms of natural and artificial phenomena. The uncomputability of such inverse problem, however,…

Information Theory · Computer Science 2021-12-29 Vladimir Lemusa , Eduardo Acuña , Víctor Zamora , Francisco Hernandez-Quiroz , Hector Zenil

We explore recursive programming with extensible data types. Row types make the structure of data types first class, and can express a variety of type system features including record subtyping and combination of case branches. Our goal is…

Programming Languages · Computer Science 2025-07-23 Alex Hubers , Apoorv Ingle , Andrew Marmaduke , J. Garrett Morris

This paper presents a refined complexity calculus model: r-Complexity, a new asymptotic notation that offers better complexity feedback for similar programs than the traditional Bachmann-Landau notation, providing subtle insights even for…

Computational Complexity · Computer Science 2025-11-04 Rares Folea , Emil-Ioan Slusanschi

Answer set programming is a leading declarative constraint programming paradigm with wide use for complex knowledge-intensive applications. Modern answer set programming languages support many equivalent ways to model constraints and…

Artificial Intelligence · Computer Science 2020-09-23 Michael Dingess , Miroslaw Truszczynski

Fully automatic worst-case complexity analysis has a number of applications in computer-assisted program manipulation. A classical and powerful approach to complexity analysis consists in formally deriving, from the program syntax, a set of…

Mathematical Software · Computer Science 2007-05-23 Roberto Bagnara , Andrea Pescetti , Alessandro Zaccagnini , Enea Zaffanella

Reducing the cognitive complexity of a piece of code to a given threshold is not trivial. Recently, we modeled software cognitive complexity reduction as an optimization problem and we proposed an approach to assist developers on this task.…

Software Engineering · Computer Science 2024-02-09 Rubén Saborido , Javier Ferrer , Francisco Chicano

Recursive calls over recursive data are useful for generating probability distributions, and probabilistic programming allows computations over these distributions to be expressed in a modular and intuitive way. Exact inference is also…

Programming Languages · Computer Science 2023-03-28 David Chiang , Colin McDonald , Chung-chieh Shan

Model counting ($\#\text{SAT}$) is a fundamental yet $\#\text{P}$-complete problem central to probabilistic reasoning. In this work, we address \textit{incremental model counting}, where sequences of structurally similar formulas must be…

Logic in Computer Science · Computer Science 2026-05-04 Uriya Bartal , Dror Fried , Jean-Marie Lagniez

We study the complexity of reasoning tasks for logics in team semantics. Our main focus is on the data complexity of model checking but we also derive new results for logically defined counting and enumeration problems. Our approach is…

Logic in Computer Science · Computer Science 2022-04-04 Arnaud Durand , Juha Kontinen , Jouko Väänänen

We present a new approach to termination analysis of numerical computations in logic programs. Traditional approaches fail to analyse them due to non well-foundedness of the integers. We present a technique that allows to overcome these…

Programming Languages · Computer Science 2007-05-23 Alexander Serebrenik , Danny De Schreye

The authors' ATR programming formalism is a version of call-by-value PCF under a complexity-theoretically motivated type system. ATR programs run in type-2 polynomial-time and all standard type-2 basic feasible functionals are ATR-definable…

Logic in Computer Science · Computer Science 2008-04-18 Norman Danner , James S. Royer

The authors' ATR programming formalism is a version of call-by-value PCF under a complexity-theoretically motivated type system. ATR programs run in type-2 polynomial-time and all standard type-2 basic feasible functionals are ATR-definable…

Logic in Computer Science · Computer Science 2007-05-23 Norman Danner , James S. Royer

In this paper we establish an automated amortised resource analysis for term rewrite systems. The method is presented in an annotated type system and gives rise to polynomial bounds on the innermost runtime complexity of the analysed term…

Logic in Computer Science · Computer Science 2018-11-26 Georg Moser , Manuel Schneckenreither