English
Related papers

Related papers: Refinement Types as Higher Order Dependency Pairs

200 papers

Higher-order rewriting is a framework in which one can write higher-order programs and study their properties. One such property is termination: the situation that for all inputs, the program eventually halts its execution and produces an…

Logic in Computer Science · Computer Science 2023-08-08 Niels van der Weide , Deivid Vale , Cynthia Kop

Toman et al. have proposed a type system for automatic verification of low-level programs, which combines ownership types and refinement types to enable strong updates of refinement types in the presence of pointer aliases. We extend their…

Programming Languages · Computer Science 2023-12-12 Izumi Tanaka , Ken Sakayori , Naoki Kobayashi

When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of explicit type annotations in typical scripting languages forces programmers to must (re)discover critical pieces of design information…

Programming Languages · Computer Science 2011-06-15 Sam Tobin-Hochstadt , Matthias Felleisen

To derive a program for a given specification R means to find an artifact P that satisfies two conditions: P is executable in some programming language; and P is correct with respect to R. Refinement-based program derivation achieves this…

Software Engineering · Computer Science 2018-10-24 Marwa Benabdelali , Lamia Labed Jilani , Wided Ghardallou , Ali Mili

A long-standing shortcoming of statically typed functional languages is that type checking does not rule out pattern-matching failures (run-time match exceptions). Refinement types distinguish different values of datatypes; if a program…

Programming Languages · Computer Science 2020-09-22 Khurram A. Jafery , Jana Dunfield

We investigate the value of extending the completeness of a decision model along different dimensions of refinement. Specifically, we analyze the expected value of quantitative, conceptual, and structural refinement of decision models. We…

Artificial Intelligence · Computer Science 2013-03-08 Kim-Leng Poh , Eric J. Horvitz

We present a type theory combining both linearity and dependency by stratifying typing rules into a level for logics and a level for programs. The distinction between logics and programs decouples their semantics, allowing the type system…

Programming Languages · Computer Science 2025-10-08 Qiancheng Fu , Hongwei Xi

Dependency pairs are one of the most powerful techniques to analyze termination of term rewrite systems (TRSs) automatically. We adapt the dependency pair framework to the probabilistic setting in order to prove almost-sure innermost…

Logic in Computer Science · Computer Science 2023-07-20 Jan-Christoph Kassing , Jürgen Giesl

We study the properties, in particular termination, of dependent types systems for lambda calculus and rewriting.

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

Higher-order rewrite systems (HRSs) and simply-typed term rewriting systems (STRSs) are computational models of functional programs. We recently proposed an extremely powerful method, the static dependency pair method, which is based on the…

Logic in Computer Science · Computer Science 2011-09-27 Keiichirou Kusakari , Yasuo Isogai , Masahiko Sakai , Frédéric Blanqui

Software and hardware architectures are prone to modifications. We demonstrate how a mathematically founded powerful refinement calculus for a class of architectures, namely pipe and filter architectures, can be used to modify a system in a…

Software Engineering · Computer Science 2014-11-11 Jan Philipps , Bernhard Rumpe

We show how the complexity of higher-order functional programs can be analysed automatically by applying program transformations to a defunctionalized versions of them, and feeding the result to existing tools for the complexity analysis of…

Logic in Computer Science · Computer Science 2015-06-17 Martin Avanzini , Ugo Dal Lago , Georg Moser

In the theory of programming languages, type inference is the process of inferring the type of an expression automatically, often making use of information from the context in which the expression appears. Such mechanisms turn out to be…

Logic in Computer Science · Computer Science 2012-05-10 Jeremy Avigad

Session types express and enforce safe communication in concurrent message-passing systems by statically capturing the interaction protocols between processes in the type. Recent works extend session types with arithmetic refinements, which…

Programming Languages · Computer Science 2026-02-09 Toby Ueno , Ankush Das

Our aim is to statically verify that in a given reactive program, the length of collection variables does not grow beyond a given bound. We propose a scalable type-based technique that checks that each collection variable has a given…

Programming Languages · Computer Science 2019-01-29 Tianhan Lu , Pavol Cerny , Bor-Yuh Evan Chang , Ashutosh Trivedi

Dependency pairs are one of the most powerful techniques to analyze termination of term rewrite systems automatically. We adapt dependency pairs to the probabilistic setting and develop an annotated dependency pair framework for…

Logic in Computer Science · Computer Science 2025-06-09 Jan-Christoph Kassing , Jürgen Giesl

Dependency pairs are one of the most powerful techniques to analyze termination of term rewrite systems (TRSs) automatically. We adapt the dependency pair framework to the probabilistic setting in order to prove almost-sure innermost…

Logic in Computer Science · Computer Science 2023-06-06 Jan-Christoph Kassing , Jürgen Giesl

The analysis of industrial processes, modelled as descriptor systems, is often computationally hard due to the presence of both algebraic couplings and difference equations of high order. In this paper, we introduce a control refinement…

Systems and Control · Computer Science 2017-04-07 Fei Chen , Sofie Haesaert , Alessandro Abate , Siep Weiland

Session types statically prescribe bidirectional communication protocols for message-passing processes and are in a Curry-Howard correspondence with linear logic propositions. However, simple session types cannot specify properties beyond…

Programming Languages · Computer Science 2020-01-27 Ankush Das , Frank Pfenning

Refinement calculus is a powerful and expressive tool for reasoning about sequential programs in a compositional manner. In this paper we present an extension of refinement calculus for reactive systems. Refinement calculus is based on…

Software Engineering · Computer Science 2014-06-24 Viorel Preoteasa , Stavros Tripakis