English
Related papers

Related papers: Extracting functional programs from Coq, in Coq

200 papers

Coding conventions for naming, spacing, and other essentially stylistic properties are necessary for developers to effectively understand, review, and modify source code in large software projects. Consistent conventions in verification…

Programming Languages · Computer Science 2020-04-23 Pengyu Nie , Karl Palmskog , Junyi Jessy Li , Milos Gligoric

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 present a semidefinite program optimization approach to quantum error correction that yields codes and recovery procedures that are robust against significant variations in the noise channel. Our approach allows us to optimize the…

Quantum Physics · Physics 2009-11-13 R. L. Kosut , A. Shabani , D. A. Lidar

Erasure qubits offer a promising avenue toward reducing the overhead of quantum error correction (QEC) protocols. However, they require additional operations, such as erasure checks, that may add extra noise and increase runtime of QEC…

Quantum Physics · Physics 2026-01-15 Shouzhen Gu , Yotam Vaknin , Alex Retzker , Aleksander Kubica

Most software domains rely on compilers to translate high-level code to multiple different machine languages, with performance not too much worse than what developers would have the patience to write directly in assembly language. However,…

Yul is an intermediate language used in the compilation of the Solidity programming language for Ethereum smart contracts. The compiler applies customizable sequences of transformations to Yul code. To help ensure the correctness of these…

Logic in Computer Science · Computer Science 2025-07-28 Alessandro Coglio , Eric McCarthy

We introduce isQ, a new software stack for quantum programming in an imperative programming language, also named isQ. The aim of isQ is to make the programmers write quantum programs as conveniently as possible. In particular: 1) The isQ…

Quantum Physics · Physics 2023-11-22 Jingzhe Guo , Huazhe Lou , Riling Li , Wang Fang , Junyi Liu , Peixun Long , Shenggang Ying , Mingsheng Ying

Recent advancements in Unified Multimodal Models (UMMs) have significantly advanced text-to-image (T2I) generation, particularly through the integration of Chain-of-Thought (CoT) reasoning. However, existing CoT-based T2I methods largely…

Artificial Intelligence · Computer Science 2026-03-10 Haodong Li , Chunmei Qing , Huanyu Zhang , Dongzhi Jiang , Yihang Zou , Hongbo Peng , Dingming Li , Yuhong Dai , ZePeng Lin , Juanxi Tian , Yi Zhou , Siqi Dai , Jingwei Wu

This paper introduces a formal metalanguage called the lambda-q calculus for the specification of quantum programming languages. This metalanguage is an extension of the lambda calculus, which provides a formal setting for the specification…

Quantum Physics · Physics 2008-02-03 Philip Maymin

We present a formal model of Checked C, a dialect of C that aims to enforce spatial memory safety. Our model pays particular attention to the semantics of dynamically sized, potentially null-terminated arrays. We formalize this model in…

Programming Languages · Computer Science 2022-02-01 Liyi Li , Yiyun Liu , Deena L. Postol , Leonidas Lampropoulos , David Van Horn , Michael Hicks

Floating point operations are fast, but require continuous effort on the part of the user in order to ensure that the results are correct. This burden can be shifted away from the user by providing a library of exact analysis in which the…

Logic in Computer Science · Computer Science 2011-12-20 Robbert Krebbers , Bas Spitters

Molly is a program that compiles cryptographic protocol roles written in a high-level notation into straight-line programs in an intermediate-level imperative language, suitable for implementation in a conventional programming language. We…

Cryptography and Security · Computer Science 2023-11-27 Daniel J. Dougherty , Joshua D. Guttman

Rust is a new and promising high-level system programming language. It provides both memory safety and thread safety through its novel mechanisms such as ownership, moves and borrows. Ownership system ensures that at any point there is only…

Programming Languages · Computer Science 2018-05-01 Feng Wang , Fu Song , Min Zhang , Xiaoran Zhu , Jun Zhang

In recent publications, we presented a novel formal symbolic process virtual machine (FSPVM) framework that combined higher-order theorem proving and symbolic execution for verifying the reliability and security of smart contracts developed…

Programming Languages · Computer Science 2019-07-04 Zheng Yang , Hang Lei

Common programming tools, like compilers, debuggers, and IDEs, crucially rely on the ability to analyse program code to reason about its behaviour and properties. There has been a great deal of work on verifying compilers and static…

Programming Languages · Computer Science 2019-07-15 Jan Stolarek , James Cheney

Building on our prior work on axiomatization of exact real computation by formalizing nondeterministic first-order partial computations over real and complex numbers in a constructive dependent type theory, we present a framework for…

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

It is now clear that the use of resilient encoding schemes will be required for any quantum computing device to be realised. However, quantum programmers of the future will not wish to be tied up in the particulars of such encoding schemes.…

Quantum Physics · Physics 2012-10-03 James Barratt

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 goal of this lecture is to show how modern theorem provers---in this case, the Coq proof assistant---can be used to mechanize the specification of programming languages and their semantics, and to reason over individual programs and…

Programming Languages · Computer Science 2010-10-28 Xavier Leroy

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