English
Related papers

Related papers: jsCoq: Towards Hybrid Theorem Proving Interfaces

200 papers

Good tools can bring mechanical verification to programs written in mainstream functional languages. We use hs-to-coq to translate significant portions of Haskell's containers library into Coq, and verify it against specifications that we…

Programming Languages · Computer Science 2018-03-21 Joachim Breitner , Antal Spector-Zabusky , Yao Li , Christine Rizkallah , John Wiegley , Stephanie Weirich

We present Tactician, a tactic learner and prover for the Coq Proof Assistant. Tactician helps users make tactical proof decisions while they retain control over the general proof strategy. To this end, Tactician learns from previously…

Artificial Intelligence · Computer Science 2020-08-04 Lasse Blaauwbroek , Josef Urban , Herman Geuvers

This paper reports on the development of a formal symbolic process virtual machine (FSPVM) denoted as FSPVM-E for verifying the reliability and security of Ethereum-based services at the source code level of smart contracts, and a Coq proof…

Programming Languages · Computer Science 2020-01-24 Zheng Yang , Hang Lei , Weizhong Qian

In this work, we present a visualisation tool that is able to process Coq proof scripts and generate a table representation of the contained proofs as $\LaTeX$ or PDF files. This tool has the aim to support both education and review…

Logic in Computer Science · Computer Science 2021-01-20 Mario Frank

Quantum Information Processing, which is an exciting area of research at the intersection of physics and computer science, has great potential for influencing the future development of information processing systems. The building of…

Logic in Computer Science · Computer Science 2015-11-06 Jaap Boender , Florian Kammüller , Rajagopal Nagarajan

CoqQ is a framework for reasoning about quantum programs in the Coq proof assistant. Its main components are: a deeply embedded quantum programming language, in which classic quantum algorithms are easily expressed, and an expressive…

Programming Languages · Computer Science 2022-07-26 Li Zhou , Gilles Barthe , Pierre-Yves Strub , Junyi Liu , Mingsheng Ying

PIDE is a general framework for document-oriented prover interaction and integration, based on a bilingual architecture that combines ML and Scala. The overall aim is to connect LCF-style provers like Isabelle (or Coq or HOL) with…

Logic in Computer Science · Computer Science 2012-07-17 Makarius Wenzel

The ever-growing complexity of mathematical proofs makes their manual verification by mathematicians very cognitively demanding. Autoformalization seeks to address this by translating proofs written in natural language into a formal…

Computation and Language · Computer Science 2023-01-06 Garett Cunningham , Razvan C. Bunescu , David Juedes

We present an executable, proven-safe, faithful, and future-proof Coq mechanization of JavaScript regular expression (regex) matching, as specified by the latest published edition of ECMA-262 section 22.2. This is, to our knowledge, the…

Programming Languages · Computer Science 2024-07-29 Noé De Santo , Aurèle Barrière , Clément Pit-Claudel

This paper describes a formal proof library, developed using the Coq proof assistant, designed to assist users in writing correct diagrammatic proofs, for 1-categories. This library proposes a deep-embedded, domain-specific formal language,…

Logic in Computer Science · Computer Science 2024-03-01 Benoît Guillemet , Assia Mahboubi , Matthieu Piquerez

We describe a method for building composable and extensible verification procedures within the Coq proof assistant. Unlike traditional methods that rely on run-time generation and checking of proofs, we use verified-correct procedures with…

Programming Languages · Computer Science 2013-05-29 Gregory Malecha , Adam Chlipala , Thomas Braibant , Patrick Hulin , Edward Z. Yang

PyLog is a minimal experimental proof assistant based on linearised natural deduction for intuitionistic and classical first-order logic extended with a comprehension operator. PyLog is interesting as a tool to be used in conjunction with…

Logic · Mathematics 2023-06-06 Clarence Lewis Protin

We present an in-context learning agent for formal theorem-proving in environments like Lean and Coq. Current state-of-the-art models for the problem are finetuned on environment-specific proof data. By contrast, our approach, called COPRA,…

Machine Learning · Computer Science 2024-08-09 Amitayush Thakur , George Tsoukalas , Yeming Wen , Jimmy Xin , Swarat Chaudhuri

The Tactician's Web is a platform offering a large web of strongly interconnected, machine-checked, formal mathematical knowledge conveniently packaged for machine learning, analytics, and proof engineering. Built on top of the Coq proof…

Logic in Computer Science · Computer Science 2024-01-10 Lasse Blaauwbroek

In a previous work De Luca and Luna presented formal specifications of idealized formulations of the permission model of Android in the Coq proof assistant. This formal development is about 23 KLOC of Coq code, including proofs. This work…

Software Engineering · Computer Science 2022-09-22 Maximiliano Cristiá , Guido De Luca , Carlos Luna

Most software development projects rely on Integrated Development Environments (IDEs) based on the desktop paradigm, with an interactive, mouse-driven user interface. The standard installation of ACL2, on the other hand, is designed to work…

Software Engineering · Computer Science 2013-05-01 Caleb Eggensperger

Humans prove theorems by relying on substantial high-level reasoning and problem-specific insights. Proof assistants offer a formalism that resembles human mathematical reasoning, representing theorems in higher-order logic and proofs as…

Logic in Computer Science · Computer Science 2019-05-24 Kaiyu Yang , Jia Deng

Theorem provers are important tools for people working in formal verification. There are a myriad of interactive systems available today, with varying features and approaches motivating their development. These design choices impact their…

Logic in Computer Science · Computer Science 2025-09-19 Harrison Oates , Hyeonggeun Yun , Nikhila Gurusinghe

We propose a new library to model and verify hardware circuits in the Coq proof assistant. This library allows one to easily build circuits by following the usual pen-and-paper diagrams. We define a deep-embedding: we use a (dependently…

Logic in Computer Science · Computer Science 2011-08-23 Thomas Braibant

We present a reinforcement learning toolkit for experiments with guiding automated theorem proving in the connection calculus. The core of the toolkit is a compact and easy to extend Prolog-based automated theorem prover called plCoP. plCoP…

Logic in Computer Science · Computer Science 2020-04-16 Zsolt Zombori , Josef Urban , Chad E. Brown