English
Related papers

Related papers: Toward Hole-Driven Development with Liquid Haskell

200 papers

For performance and verification in machine learning, new methods have recently been proposed that optimise learning systems to satisfy formally expressed logical properties. Among these methods, differentiable logics (DLs) are used to…

Logic in Computer Science · Computer Science 2024-07-08 Reynald Affeldt , Alessandro Bruni , Ekaterina Komendantskaya , Natalia Ślusarz , Kathrin Stark

We consider the application of Constraint Handling Rules (CHR) for the specification of type inference systems, such as that used by Haskell. Confluence of CHR guarantees that the answer provided by type inference is correct and consistent.…

Programming Languages · Computer Science 2020-02-19 Gregory J. Duck , Remy Haemmerle , Martin Sulzmann

Exact real computation is an alternative to floating-point arithmetic where operations on real numbers are performed exactly, without the introduction of rounding errors. When proving the correctness of an implementation, one can focus…

Logic in Computer Science · Computer Science 2024-10-22 Michal Konečný , Sewon Park , Holger Thies

The gradual guarantee is an important litmus test for gradually typed languages, that is, languages that enable a mixture of static and dynamic typing. The gradual guarantee states that changing the precision of a type annotation does not…

Programming Languages · Computer Science 2024-12-05 Jeremy G. Siek

As the development of formal proofs is a time-consuming task, it is important to devise ways of sharing the already written proofs to prevent wasting time redoing them. One of the challenges in this domain is to translate proofs written in…

Logic in Computer Science · Computer Science 2022-11-11 Thiago Felicissimo , Frédéric Blanqui , Ashish Kumar Barnawal

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

Graded Type Theory provides a mechanism to track and reason about resource usage in type systems. In this paper, we develop GraD, a novel version of such a graded dependent type system that includes functions, tensor products, additive…

Programming Languages · Computer Science 2021-01-07 Pritam Choudhury , Harley Eades , Richard A. Eisenberg , Stephanie C Weirich

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

This paper presents a language, Alda, that supports all of logic rules, sets, functions, updates, and objects as seamlessly integrated built-ins. The key idea is to support predicates in rules as set-valued variables that can be used and…

Programming Languages · Computer Science 2023-05-31 Yanhong A. Liu , Scott D. Stoller , Yi Tong , Bo Lin

In this work we develop a fully automatic verification procedure of safety properties of Scade programs. We transform each such program into an SMT instance (Satisfiability Modulo Theories) and feed this to a solver. The goal is to have a…

Logic in Computer Science · Computer Science 2014-03-13 Henning Basold

Higher inductive types are inductive types that include nontrivial higher-dimensional structure, represented as identifications that are not reflexivity. While work proceeds on type theories with a computational interpretation of univalence…

Programming Languages · Computer Science 2018-08-28 Paventhan Vivekanandan

While modern software development heavily uses versioned packages, programming languages rarely support the concept of versions in their semantics, which makes software updates more bulky and unsafe. This paper proposes a programming…

Programming Languages · Computer Science 2021-07-16 Yudai Tanabe , Luthfan Anshar Lubis , Tomoyuki Aotani , Hidehiko Masuhara

The reasoning abilities are one of the most enigmatic and captivating aspects of large language models (LLMs). Numerous studies are dedicated to exploring and expanding the boundaries of this reasoning capability. However, tasks that embody…

Artificial Intelligence · Computer Science 2025-02-27 Yuze Zhao , Tianyun Ji , Wenjun Feng , Zhenya Huang , Qi Liu , Zhiding Liu , Yixiao Ma , Kai Zhang , Enhong Chen

Large language models (LLMs) have reshaped the landscape of program synthesis. However, contemporary LLM-based code completion systems often hallucinate broken code because they lack appropriate context, particularly when working with…

Programming Languages · Computer Science 2024-10-14 Andrew Blinn , Xiang Li , June Hyung Kim , Cyrus Omar

Large Language Models (LLMs) have demonstrated remarkable potential in hardware front-end design using hardware description languages (HDLs). However, their inherent tendency toward hallucination often introduces functional errors into the…

Artificial Intelligence · Computer Science 2025-11-21 Kangwei Xu , Grace Li Zhang , Ulf Schlichtmann , Bing Li

Our scientific knowledge is increasingly built on software output. User code which defines data analysis pipelines and computational models is essential for research in the natural and social sciences, but little is known about how to…

Software Engineering · Computer Science 2020-03-16 Maxwell Shinn

Large Language Models (LLMs) have shown incredible potential in code generation tasks, and recent research in prompt engineering have enhanced LLMs' understanding of textual information. However, ensuring the accuracy of generated code…

Software Engineering · Computer Science 2024-10-04 Haolin Jin , Zechao Sun , Huaming Chen

Formal reasoning and automated theorem proving constitute a challenging subfield of machine learning, in which machines are tasked with proving mathematical theorems using formal languages like Lean. A formal verification system can check…

Artificial Intelligence · Computer Science 2025-11-05 Azim Ospanov , Farzan Farnia , Roozbeh Yousefzadeh

Lambda lifting is a well-known transformation, traditionally employed for compiling functional programs to supercombinators. However, more recent abstract machines for functional languages like OCaml and Haskell tend to do closure…

Programming Languages · Computer Science 2019-10-29 Sebastian Graf , Simon Peyton Jones

We introduce Flux, which shows how logical refinements can work hand in glove with Rust's ownership mechanisms to yield ergonomic type-based verification of low-level pointer manipulating programs. First, we design a novel refined type…

Programming Languages · Computer Science 2022-11-15 Nico Lehmann , Adam Geller , Niki Vazou , Ranjit Jhala
‹ Prev 1 8 9 10 Next ›