English
Related papers

Related papers: First-Class Refinement Types for Scala

200 papers

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

Reasoning is a key component of language understanding in Large Language Models. While Chain-of-Thought prompting enhances performance via explicit intermediate steps, it suffers from sufficient token overhead and a fixed reasoning…

Computation and Language · Computer Science 2025-11-18 Xinyuan Wang , Dongjie Wang , Wangyang Ying , Haoyue Bai , Nanxu Gong , Sixun Dong , Kunpeng Liu , Yanjie Fu

In this paper we examine the limitations of Large Language Models (LLMs) for complex reasoning tasks. Although recent works have started to employ formal languages as an intermediate representation for reasoning tasks, they often face…

Logic in Computer Science · Computer Science 2024-08-07 Shashank Kirtania , Priyanshu Gupta , Arjun Radhakirshna

Text-to-SQL is a technology that converts natural language queries into the structured query language SQL. A novel research approach that has recently gained attention focuses on methods based on the complexity of SQL queries, achieving…

Computation and Language · Computer Science 2024-06-14 Jiawen Yi , Guo Chen , Zixiang Shen

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

This paper is a tutorial introducing the underlying technology and the use of the tool Liquid Haskell, a type-checker for the functional language Haskell that can help programmers to verify non-trivial properties of their programs with a…

Programming Languages · Computer Science 2017-01-13 Ricardo Peña

We formally verify an abstract machine for a call-by-value lambda-calculus with de Bruijn terms, simple substitution, and small-step semantics. We follow a stepwise refinement approach starting with a naive stack machine with substitution.…

Logic in Computer Science · Computer Science 2019-01-03 Fabian Kunze , Gert Smolka , Yannick Forster

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

The Refinement Calculus of Reactive Systems (RCRS) is a compositional formal framework for modeling and reasoning about reactive systems. RCRS provides a language which allows to describe atomic components as symbolic transition systems or…

Logic in Computer Science · Computer Science 2018-02-09 Viorel Preoteasa , Iulia Dragomir , Stavros Tripakis

Traits allow decomposing programs into smaller parts and mixins are a form of composition that resemble multiple inheritance. Unfortunately, in the presence of traits, programming languages like Scala give up on subtyping relation between…

Programming Languages · Computer Science 2014-07-16 Asankhaya Sharma

A wide-spectrum language integrates specification constructs into a programming language in a manner that treats a specification command just like any other command. This paper investigates a semantic model for a wide-spectrum language that…

Logic in Computer Science · Computer Science 2016-09-02 Robert J. Colvin , Ian J. Hayes , Larissa A. Meinicke

The capacity of large language models (LLMs) to generate honest, harmless, and helpful responses heavily relies on the quality of user prompts. However, these prompts often tend to be brief and vague, thereby significantly limiting the full…

Computation and Language · Computer Science 2025-07-01 Xiaohua Wang , Zisu Huang , Feiran Zhang , Zhibo Xu , Cenyuan Zhang , Qi Qian , Xiaoqing Zheng , Xuanjing Huang

Harnessing the power of dependently typed languages can be difficult. Programmers must manually construct proofs to produce well-typed programs, which is not an easy task. In particular, migrating code to these languages is challenging.…

Programming Languages · Computer Science 2021-07-13 Joseph Eremondi , Ronald Garcia , Éric Tanter

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

The fast development of Large Language Models (LLMs) offers growing opportunities to further improve sequential recommendation systems. Yet for some practitioners, integrating LLMs to their existing base recommendation systems raises…

Information Retrieval · Computer Science 2025-04-17 Nanshan Jia , Chenfei Yuan , Yuhang Wu , Zeyu Zheng

Recent advances in long chain-of-thought (CoT) reasoning have largely prioritized answer accuracy and token efficiency, while overlooking aspects critical to trustworthiness. We argue that usable reasoning systems must be trustworthy,…

Computation and Language · Computer Science 2025-10-13 Chung-En Sun , Ge Yan , Akshay Kulkarni , Tsui-Wei Weng

The notion of an equational shell is studied to involve the objects and their environment. Appropriate methods are studied as valid embeddings of refined objects. The refinement process determines the linkages between the variety of…

Logic in Computer Science · Computer Science 2007-05-23 Larissa Ismailova

A linear parameter must be consumed exactly once in the body of its function. When declaring resources such as file handles and manually managed memory as linear arguments, a linear type system can verify that these resources are used…

Programming Languages · Computer Science 2022-07-25 Arnaud Spiwack , Csongor Kiss , Jean-Philippe Bernardy , Nicolas Wu , Richard Eisenberg

Program refinement involves correctness-preserving transformations from formal high-level specification statements into executable programs. Traditional verification tool support for program refinement is highly interactive and lacks…

Software Engineering · Computer Science 2024-06-28 Yufan Cai , Zhe Hou , Xiaokun Luan , David Miguel Sanan Baena , Yun Lin , Jun Sun , Jin Song Dong

We introduce two-sided type systems, which are sequent calculi for typing formulas. Two-sided type systems allow for hypothetical reasoning over the typing of compound program expressions, and the refutation of typing formulas. By…

Programming Languages · Computer Science 2023-10-23 Steven Ramsay , Charlie Walpole