English
Related papers

Related papers: Refinement Types as Higher Order Dependency Pairs

200 papers

Interpretation methods and their restrictions to polynomials have been deeply used to control the termination and complexity of first-order term rewrite systems. This paper extends interpretation methods to a pure higher order functional…

Logic in Computer Science · Computer Science 2023-06-22 Emmanuel Hainry , Romain Péchoux

This paper discusses highly general mechanisms for specifying the refinement of a real-time system as a collection of lower level parallel components that preserve the timing and functional requirements of the upper level specification.…

Logic in Computer Science · Computer Science 2010-02-10 Paul Z. Kolano , Carlo A. Furia , Richard A. Kemmerer , Dino Mandrioli

Designing and implementing typed programming languages is hard. Every new type system feature requires extending the metatheory and implementation, which are often complicated and fragile. To ease this process, we would like to provide…

Programming Languages · Computer Science 2020-08-18 Jana Dunfield

We describe three case studies illustrating the use of ACL2s to prove the correctness of optimized reactive systems using skipping refinement. Reasoning about reactive systems using refinement involves defining an abstract, high-level…

Logic in Computer Science · Computer Science 2015-09-22 Mitesh Jain , Panagiotis Manolios

Almost-sure termination is an important correctness property for probabilistic programs, and a number of program logics have been developed for establishing it. However, these logics have mostly been developed for first-order programs…

Logic in Computer Science · Computer Science 2024-11-12 Simon Oddershede Gregersen , Alejandro Aguirre , Philipp G. Haselwarter , Joseph Tassarotti , Lars Birkedal

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

Deep neural networks are revolutionizing the way complex systems are developed. However, these automatically-generated networks are opaque to humans, making it difficult to reason about them and guarantee their correctness. Here, we propose…

Artificial Intelligence · Computer Science 2020-08-11 Yuval Jacoby , Clark Barrett , Guy Katz

We introduce skipping refinement, a new notion of correctness for reasoning about optimized reactive systems. Reasoning about reactive systems using refinement involves defining an abstract, high-level specification system and a concrete,…

Logic in Computer Science · Computer Science 2015-02-11 Mitesh Jain , Panagiotis Manolios

Pre-trained language models have been successful on text classification tasks, but are prone to learning spurious correlations from biased datasets, and are thus vulnerable when making inferences in a new domain. Prior work reveals such…

Computation and Language · Computer Science 2022-01-03 Huihan Yao , Ying Chen , Qinyuan Ye , Xisen Jin , Xiang Ren

We consider type inference for guarded recursive data types (GRDTs) -- a recent generalization of algebraic data types. We reduce type inference for GRDTs to unification under a mixed prefix. Thus, we obtain efficient type inference.…

Programming Languages · Computer Science 2007-05-23 Peter J. Stuckey , Martin Sulzmann

Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wide-spectrum logic…

Software Engineering · Computer Science 2007-05-23 Ian Hayes , Robert Colvin , David Hemer , Paul Strooper , Ray Nickson

Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure. Not only researchers, but also practitioners, need to know about past…

Software Engineering · Computer Science 2018-08-08 Eunjong Choi , Kenji Fujiwara , Norihiro Yoshida , Shinpei Hayashi

Formal deductive systems are very common in computer science. They are used to represent logics, programming languages, and security systems. Moreover, writing programs that manipulate them and that reason about them is important and…

Programming Languages · Computer Science 2018-05-21 Francisco Ferreira Ruiz

Dependency pairs (DPs) are one of the most powerful techniques for automated termination analysis of term rewrite systems. Recently, we adapted the DP framework to the probabilistic setting to prove almost-sure termination (AST) via…

Logic in Computer Science · Computer Science 2025-01-23 Jan-Christoph Kassing , Jürgen Giesl

Formal verification via theorem proving enables the expressive specification and rigorous proof of software correctness, but it is difficult to scale due to the significant manual effort and expertise required. While Large Language Models…

Software Engineering · Computer Science 2025-10-30 Minghai Lu , Zhe Zhou , Danning Xie , Songlin Jia , Benjamin Delaware , Tianyi Zhang

Complex system design often proceeds in an iterative fashion, starting from a high-level model and adding detail as the design matures. This process can be assisted by metamodeling techniques that automate some model manipulations and check…

Systems and Control · Electrical Eng. & Systems 2019-10-10 Natasha Jarus , Sahra Sedigh Sarvestani , Ali R. Hurson

Contextual refinement (CR) is one of the standard notions of specifying open programs. CR has two main advantages: (i) (horizontal and vertical) compositionality that allows us to decompose a large contextual refinement into many smaller…

Programming Languages · Computer Science 2022-03-16 Youngju Song , Minki Cho , Dongjae Lee , Chung-Kil Hur

Current end-to-end semantic role labeling is mostly accomplished via graph-based neural models. However, these all are first-order models, where each decision for detecting any predicate-argument pair is made in isolation with local…

Computation and Language · Computer Science 2020-09-16 Hao Fei , Yafeng Ren , Donghong Ji

Tanaka et al. proposed a type system for verifying functional correctness properties of programs that use arrays and pointer arithmetic. Their system extends ConSORT -- a type system combining fractional ownership and refinement types for…

Programming Languages · Computer Science 2026-04-27 Yusuke Fujiwara , Yusuke Matsushita , Kohei Suenaga , Atsushi Igarashi

In software testing, the large size of the input domain makes exhaustively testing the inputs a daunting and often impossible task. Pair-wise testing is a popular approach to combinatorial testing problems. This paper reviews Pair-wise…

Software Engineering · Computer Science 2016-06-02 Jimi Sanchez