English
Related papers

Related papers: Natural Language Specifications in Proof Assistant…

200 papers

Proof competence, i.e. the ability to write and check (mathematical) proofs, is an important skill in Computer Science, but for many students it represents a difficult challenge. The main issues are the correct use of formal language and…

Logic in Computer Science · Computer Science 2023-08-15 Nadine Karsten , Frederik Krogsdal Jacobsen , Kim Jana Eiken , Uwe Nestmann , Jørgen Villadsen

Proof assistants enable users to develop machine-checked proofs regarding software-related properties. Unfortunately, the interactive nature of these proof assistants imposes most of the proof burden on the user, making formal verification…

Software Engineering · Computer Science 2024-05-08 Pedro Carrott , Nuno Saavedra , Kyle Thompson , Sorin Lerner , João F. Ferreira , Emily First

Using an AI assistant, we developed a method for systematically constructing controlled natural language for requirements based on formal specification patterns containing logical attributes. The method involves three stages: 1) compiling a…

Software Engineering · Computer Science 2026-01-01 Natalia Garanina , Vladimir Zyubin , Igor Anureev

This paper is a brief introduction to our recently initiated project named VERIFAI: Traceability and verification of natural language requirements. The project addresses the challenges in the traceability and verification of formal…

Software Engineering · Computer Science 2025-06-13 Arshad Beg , Diarmuid O'Donoghue , Rosemary Monahan

Real-life conjectures do not come with instructions saying whether they they should be proven or, instead, refuted. Yet, as we now know, in either case the final argument produced had better be not just convincing but actually verifiable in…

Computers and Society · Computer Science 2015-07-21 João Marcos

We describe an intelligent assistant based on mining existing software repositories to help the developer interactively create checkable specifications of code. To be most useful we apply this at the subsystem level, that is chunks of code…

Software Engineering · Computer Science 2022-09-21 Steven P. Reiss

Many universities have courses and projects revolving around compiler or interpreter implementation as part of their degree programmes in computer science. In such teaching activities, tool support can be highly beneficial. While there are…

Programming Languages · Computer Science 2022-09-21 Georgian-Vlad Saioc , Hans Hüttel

Despite the vast body of research literature proposing algorithms with formal guarantees, the amount of verifiable code in today's systems remains minimal. This discrepancy stems from the inherent difficulty of verifying code, particularly…

Software Engineering · Computer Science 2025-01-10 Changjie Wang , Mariano Scazzariello , Marco Chiesa

Agentic AI systems can now generate code with remarkable fluency, but a fundamental question remains: \emph{does the generated code actually do what the user intended?} The gap between informal natural language requirements and precise…

Software Engineering · Computer Science 2026-03-19 Shuvendu K. Lahiri

Neural network verification tools currently support only a narrow class of specifications, typically expressed as low-level constraints over raw inputs and outputs. This limitation significantly hinders their adoption and practical…

Machine Learning · Computer Science 2026-03-04 Yizhak Y. Elboher , Reuven Peleg , Zhouxing Shi , Guy Katz , Jan Křetínský

Teaching precise mathematical reasoning can be very hard. It is very easy for a student to make a subtle mistake in a proof which invalidates it, but it is often hard for the teacher to pinpoint and explain the problem in the (often…

Computers and Society · Computer Science 2015-07-15 Marek Materzok

Program logics are a powerful formal method in the context of program verification. Can we develop a counterpart of program logics in the context of language verification? This paper proposes language logics, which allow for statements of…

Programming Languages · Computer Science 2024-08-06 Matteo Cimini

Providing natural language explanations for recommendations is particularly useful from the perspective of a non-expert user. Although several methods for providing such explanations have recently been proposed, we argue that an important…

Computation and Language · Computer Science 2025-03-19 Jakub Raczyński , Mateusz Lango , Jerzy Stefanowski

This paper presents the Soda language for verifying multi-agent systems. Soda is a high-level functional and object-oriented language that supports the compilation of its code not only to Scala, a strongly statically typed high-level…

Programming Languages · Computer Science 2025-03-11 Julian Alfredo Mendez , Timotheus Kampik

The automation offered by modern program proof tools goes hand in hand with the capability to interact with the tool when the verification fails. The SPARK proof tool tries to help the user by providing the right information, so that the…

Logic in Computer Science · Computer Science 2021-08-09 Yannick Moy

Mathematical theorems are human knowledge able to be accumulated in the form of symbolic representation, and proving theorems has been considered intelligent behavior. Based on the BHK interpretation and the Curry-Howard isomorphism, proof…

Neural and Evolutionary Computing · Computer Science 2016-04-18 Li-An Yang , Jui-Pin Liu , Chao-Hong Chen , Ying-ping Chen

Application of formal models provides many benefits for the software and system development, however, the learning curve of formal languages could be a critical factor for an industrial project. Thus, a natural language specification that…

Software Engineering · Computer Science 2016-12-07 Phan Vo Thu Nhat , Maria Spichkova

Formal specifications, such as pre- and post-conditions provide a solid basis for performing thorough program verification. However, developers rarely provide such formal specifications, hence if AI could help in constructing them, it would…

Software Engineering · Computer Science 2026-03-19 I. S. W. B. Prasetya , Fitsum Kifetew , Davide Prandi

Understanding and creating mathematics using natural mathematical language - the mixture of symbolic and natural language used by humans - is a challenging and important problem for driving progress in machine learning. As a step in this…

Information Retrieval · Computer Science 2021-06-09 Sean Welleck , Jiacheng Liu , Ronan Le Bras , Hannaneh Hajishirzi , Yejin Choi , Kyunghyun Cho

Requirements are informal and semi-formal descriptions of the expected behavior of a system. They are usually expressed in the form of natural language sentences and checked for errors manually, e.g., by peer reviews. Manual checks are…

Logic in Computer Science · Computer Science 2018-04-30 Simone Vuotto