English
Related papers

Related papers: How to Safely Use Extensionality in Liquid Haskell

200 papers

This paper concerns the development of metatheory for extensible languages. It uses as its starting point a view that programming languages tailored to specific application domains are to be constructed by composing components from an open…

Programming Languages · Computer Science 2023-12-25 Dawn Michaelson , Gopalan Nadathur , Eric Van Wyk

A promising approach to unifying functional and imperative programming paradigms is to localize mutation using linear or affine types. Haskell, a purely functional language, was recently extended with linear types by Bernardy et al., in the…

Programming Languages · Computer Science 2026-04-28 Yusuke Matsushita , Hiromi Ishii

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 show that time complexity analysis of higher-order functional programs can be effectively reduced to an arguably simpler (although computationally equivalent) verification problem, namely checking first-order inequalities for validity.…

Logic in Computer Science · Computer Science 2012-10-26 Ugo Dal Lago , Barbara Petit

Deep inference is a proof theoretic methodology that generalizes the standard notion of inference of the sequent calculus, whereby inference rules become applicable at any depth inside logical expressions. Deep inference provides more…

Logic in Computer Science · Computer Science 2015-07-01 Ozan Kahramanogullari

The problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual…

Programming Languages · Computer Science 2017-05-29 James Cheney , Alberto Momigliano

The large language models (LLMs) might produce a persuasive argument within mathematical and logical fields, although such argument often includes some minor missteps, including the entire omission of side conditions, invalid inference…

Artificial Intelligence · Computer Science 2026-04-09 Kranthi Kommuru , Kunal Khanvilkar , Gaurav Parekh

Testing has become an indispensable activity of software development, yet writing good and relevant tests remains a quite challenging task. One well-known problem is that it often is impossible or unrealistic to test for every outcome, as…

Programming Languages · Computer Science 2017-08-18 Dimitri Racordon , Didier Buchs

Q-learning methods represent a commonly used class of algorithms in reinforcement learning: they are generally efficient and simple, and can be combined readily with function approximators for deep reinforcement learning (RL). However, the…

Machine Learning · Computer Science 2019-02-28 Justin Fu , Aviral Kumar , Matthew Soh , Sergey Levine

Large language models (LLMs) have demonstrated significant potential in formal theorem proving, yet state-of-the-art performance often necessitates prohibitive test-time compute via massive roll-outs or extended context windows. In this…

Machine Learning · Computer Science 2026-04-22 Guchan Li , Rui Tian , Hongning Wang

The R programming language is widely used in large-scale data analyses. It contains especially rich built-in support for dealing with vectors, arrays, and matrices. These operations feature prominently in the applications that form R's…

Programming Languages · Computer Science 2023-04-11 John Wrenn , Anjali Pal , Alexa VanHattum , Shriram Krishnamurthi

Several practical tools for automatically verifying functional programs (e.g., Liquid Haskell and Leon for Scala programs) rely on a heuristic based on unrolling recursive function definitions followed by quantifier-free reasoning using SMT…

Logic in Computer Science · Computer Science 2026-05-25 Adithya Murali , Lucas Peña , Ranjit Jhala , P. Madhusudan

Haskell provides type-class-bounded and parametric polymorphism as opposed to subtype polymorphism of object-oriented languages such as Java and OCaml. It is a contentious question whether Haskell 98 without extensions, or with common…

Programming Languages · Computer Science 2007-05-23 Oleg Kiselyov , Ralf Laemmel

Quantitative separation logic (QSL) is an extension of separation logic (SL) for the verification of probabilistic pointer programs. In QSL, formulae evaluate to real numbers instead of truth values, e.g., the probability of memory-safe…

Logic in Computer Science · Computer Science 2022-01-28 Kevin Batz , Ira Fesefeldt , Marvin Jansen , Joost-Pieter Katoen , Florian Keßler , Christoph Matheja , Thomas Noll

Normal-form bisimilarity is a simple, easy-to-use behavioral equivalence that relates terms in $\lambda$-calculi by decomposing their normal forms into bisimilar subterms. Moreover, it typically allows for powerful up-to techniques, such as…

Logic in Computer Science · Computer Science 2023-06-22 Dariusz Biernacki , Serguei Lenglet , Piotr Polesiuk

That the Haskell Compiler GHC is capable of proving non-trivial equalities between Haskell code, by virtue of its aggressive optimizer, in particular the term rewriting engine in the simplifier. We demonstrate this with a surprising little…

Programming Languages · Computer Science 2018-05-22 Joachim Breitner

There are multiple ways to formalise the metatheory of type theory. For some purposes, it is enough to consider specific models of a type theory, but sometimes it is necessary to refer to the syntax, for example in proofs of canonicity and…

Logic in Computer Science · Computer Science 2019-07-18 Ambrus Kaposi , András Kovács , Nicolai Kraus

Expert-level scientific reasoning remains challenging for large language models, particularly on benchmarks such as Humanity's Last Exam (HLE), where rigid tool pipelines, brittle multi-agent coordination, and inefficient test-time scaling…

Artificial Intelligence · Computer Science 2026-02-05 Zhentao Tang , Yuqi Cui , Shixiong Kai , Wenqian Zhao , Ke Ye , Xing Li , Anxin Tian , Zehua Pei , Hui-Ling Zhen , Shoubo Hu , Xiaoguang Li , Yunhe Wang , Mingxuan Yuan

Proof assistants are getting more widespread use in research and industry to provide certified and independently checkable guarantees about theories, designs, systems and implementations. However, proof assistant implementations themselves…

Programming Languages · Computer Science 2021-07-19 Matthieu Sozeau

We consider type inference in the Hindley/Milner system extended with type annotations and constraints with a particular focus on Haskell-style type classes. We observe that standard inference algorithms are incomplete in the presence of…

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