English
Related papers

Related papers: Semi-continuous Sized Types and Termination

200 papers

In sequential functional languages, sized types enable termination checking of programs with complex patterns of recursion in the presence of mixed inductive-coinductive types. In this paper, we adapt sized types and their metatheory to the…

Programming Languages · Computer Science 2024-04-16 Siva Somayyajula , Frank Pfenning

In a previous work, the first author extended to higher-order rewriting and dependent types the use of size annotations in types, a termination proof technique called type or size based termination and initially developed for ML-like…

Logic in Computer Science · Computer Science 2016-08-16 Frédéric Blanqui , Colin Riba

To ensure decidability and consistency of its type theory, a proof assistant should only accept terminating recursive functions and productive corecursive functions. Most proof assistants enforce this through syntactic conditions, which can…

Logic in Computer Science · Computer Science 2026-05-01 Bastiaan Laarakker , Daniël Otten , Benno van den Berg

Sized types are a modular and theoretically well-understood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track structural descent and guardedness in the type system to make…

Programming Languages · Computer Science 2010-12-23 Andreas Abel

We provide a general and modular criterion for the termination of simply-typed $\lambda$ -calculus extended with function symbols defined by user-defined rewrite rules. Following a work of Hughes, Pareto and Sabry for functions defined with…

Logic in Computer Science · Computer Science 2018-02-21 Frédéric Blanqui

We investigate the relationship between two independently developed termination techniques. On the one hand, sized-types based termination (SBT) uses types annotated with size expressions and Girard's reducibility candidates, and applies on…

Logic in Computer Science · Computer Science 2009-06-24 Frédéric Blanqui , Cody Roux

Termination is an important but undecidable program property, which has led to a large body of work on static methods for conservatively predicting or enforcing termination. One such method is the size-change termination approach of Lee,…

Programming Languages · Computer Science 2019-04-29 Phuc C. Nguyen , Thomas Gilray , Sam Tobin-Hochstadt , David Van Horn

Size-Change Termination is an increasingly-popular technique for verifying program termination. These termination proofs are deduced from an abstract representation of the program in the form of "size-change graphs". We present algorithms…

Logic in Computer Science · Computer Science 2015-07-01 Amir M. Ben-Amram , Chin Soon Lee

This paper describes an automatic termination checker for a generic first-order call-by-value language in ML style. We use the fact that value are built from variants and tuples to keep some information about how arguments of recursive call…

Logic in Computer Science · Computer Science 2015-07-01 Hyvernat Pierre

We introduce a system of monadic affine sized types, which substantially generalise usual sized types, and allows this way to capture probabilistic higher-order programs which terminate almost surely. Going beyond plain, strong…

Programming Languages · Computer Science 2017-01-17 Ugo Dal Lago , Charles Grellois

We present a size-aware type system for first-order shapely function definitions. Here, a function definition is called shapely when the size of the result is determined exactly by a polynomial in the sizes of the arguments. Examples of…

Logic in Computer Science · Computer Science 2015-07-01 Olha Shkaravska , Marko van Eekelen , Ron van Kesteren

The Size-Change Termination principle was first introduced to study the termination of first-order functional programs. In this work, we show that it can also be used to study the termination of higher-order rewriting in a system of…

Logic in Computer Science · Computer Science 2018-12-06 Frédéric Blanqui , Guillaume Genestier

Contemporary proof assistants such as Coq require that recursive functions be terminating and corecursive functions be productive to maintain logical consistency of their type theories, and some ensure these properties using syntactic…

Programming Languages · Computer Science 2023-01-26 Jonathan Chan , Yufeng Li , William J. Bowman

Size-Change Termination (SCT) is a method of proving program termination based on the impossibility of infinite descent. To this end we may use a program abstraction in which transitions are described by monotonicity constraints over…

Logic in Computer Science · Computer Science 2015-07-01 Amir M. Ben-Amram

Recursive queries have been traditionally studied in the framework of datalog, a language that restricts recursion to monotone queries over sets, which is guaranteed to converge in polynomial time in the size of the input. But modern big…

Databases · Computer Science 2024-01-26 Mahmoud Abo Khamis , Hung Q. Ngo , Reinhard Pichler , Dan Suciu , Yisu Remy Wang

In a previous paper, the sup-interpretation method was proposed as a new tool to control memory resources of first order functional programs with pattern matching by static analysis. Basically, a sup-interpretation provides an upper bound…

Computational Complexity · Computer Science 2007-05-23 Jean-Yves Marion , Romain Pechoux

Randomized higher-order computation can be seen as being captured by a lambda calculus endowed with a single algebraic operation, namely a construct for binary probabilistic choice. What matters about such computations is the probability of…

Logic in Computer Science · Computer Science 2020-12-24 Ugo Dal Lago , Claudia Faggian , Simona Ronchi Della Rocca

Type systems certify program properties in a compositional way. From a bigger program one can abstract out a part and certify the properties of the resulting abstract program by just using the type of the part that was abstracted away.…

Logic in Computer Science · Computer Science 2012-02-17 Andreas Abel

A central method for analyzing the asymptotic complexity of a functional program is to extract and then solve a recurrence that expresses evaluation cost in terms of input size. The relevant notion of input size is often specific to a…

Programming Languages · Computer Science 2015-06-08 Norman Danner , Daniel R. Licata , Ramyaa Ramyaa

Since Val Tannen's pioneer work on the combination of simply-typed lambda-calculus and first-order rewriting (LICS'88), many authors have contributed to this subject by extending it to richer typed lambda-calculi and rewriting paradigms,…

Logic in Computer Science · Computer Science 2016-08-16 Frédéric Blanqui
‹ Prev 1 2 3 10 Next ›