中文
相关论文

相关论文: Formal verification in Coq of program properties i…

200 篇论文

In order to help students learn how to write mathematical proofs, we adapt the Coq proof assistant into an educational tool we call Waterproof. Like with other interactive theorem provers, students write out their proofs inside the software…

Interactive theorem provers have been used extensively to reason about various software/hardware systems and mathematical theorems. The key challenge when using an interactive prover is finding a suitable sequence of proof steps that will…

计算机科学中的逻辑 · 计算机科学 2014-05-15 Thomas Gransden , Neil Walkinshaw , Rajeev Raman

Equational Unification is a critical problem in many areas such as automated theorem proving and security protocol analysis. In this paper, we focus on XOR-Unification, that is, unification modulo the theory of exclusive-or. This theory…

计算机科学中的逻辑 · 计算机科学 2025-02-14 Yichi Xu , Daniel J. Dougherty , Rose Bohrer

This paper presents a type theory with a form of equality reflection: provable equalities can be used to coerce the type of a term. Coercions and other annotations, including implicit arguments, are dropped during reduction of terms. We…

编程语言 · 计算机科学 2011-01-25 Vilhelm Sjöberg , Aaron Stump

We present an effect system for core Eff, a simplified variant of Eff, which is an ML-style programming language with first-class algebraic effects and handlers. We define an expressive effect system and prove safety of operational…

编程语言 · 计算机科学 2015-07-01 Andrej Bauer , Matija Pretnar

Graded monads refine traditional monads using effect annotations in order to describe quantitatively the computational effects that a program can generate. They have been successfully applied to a variety of formal systems for reasoning…

计算机科学中的逻辑 · 计算机科学 2026-01-22 Satoshi Kura , Marco Gaboardi , Taro Sekiyama , Hiroshi Unno

Development of formal proofs of correctness of programs can increase actual and perceived reliability and facilitate better understanding of program specifications and their underlying assumptions. Tools supporting such development have…

计算机科学中的逻辑 · 计算机科学 2020-03-17 Talia Ringer , Karl Palmskog , Ilya Sergey , Milos Gligoric , Zachary Tatlock

We introduce a generalized logic programming paradigm where programs, consisting of facts and rules with the usual syntax, can be enriched by co-facts, which syntactically resemble facts but have a special meaning. As in coinductive logic…

编程语言 · 计算机科学 2017-09-26 Davide Ancona , Francesco Dagnino , Elena Zucca

A desired but challenging property of compiler verification is compositionality, in the sense that the compilation correctness of a program can be deduced incrementally from that of its substructures ranging from statements, functions, and…

编程语言 · 计算机科学 2026-03-31 Zhang Cheng , Jiyang Wu , Di Wang , Qinxiang Cao

Recent advances in programming languages study and design have established a standard way of grounding computational systems representation in category theory. These formal results led to a better understanding of issues of control and…

人工智能 · 计算机科学 2007-05-23 Jean-Marie Chauvet

Program verifiers for imperative languages such as C may be annotation-based, in which assertions and invariants are put into source files and then checked, or tactic-based, where proof scripts separate from programs are interactively…

编程语言 · 计算机科学 2023-10-27 Litao Zhou , Jianxing Qin , Qinshi Wang , Andrew W. Appel , Qinxiang Cao

In the context of interactive theorem provers based on a dependent type theory, automation tactics (dedicated decision procedures, call of automated solvers, ...) are often limited to goals which are exactly in some expected logical…

计算机科学中的逻辑 · 计算机科学 2024-02-22 Valentin Blot , Denis Cousineau , Enzo Crance , Louise Dubois de Prisque , Chantal Keller , Assia Mahboubi , Pierre Vial

The theory of finite term algebras provides a natural framework to describe the semantics of functional languages. The ability to efficiently reason about term algebras is essential to automate program analysis and verification for…

计算机科学中的逻辑 · 计算机科学 2016-11-10 Laura Kovacs , Simon Robillard , Andrei Voronkov

We show how to smoothly incorporate in the object-oriented paradigm constructs to raise, compose, and handle effects in an arbitrary monad. The underlying pure calculus is meant to be a representative of the last generation of OO languages,…

编程语言 · 计算机科学 2025-04-23 Francesco Dagnino , Paola Giannini , Elena Zucca

We present the PML 2 language, which provides a uniform environment for programming, and for proving properties of programs in an ML-like setting. The language is Curry-style and call-by-value, it provides a control operator (interpreted in…

计算机科学中的逻辑 · 计算机科学 2019-01-11 Rodolphe Lepigre

Computational content encoded into constructive type theory proofs can be used to make computing experiments over concrete data structures. In this paper, we explore this possibility when working in Coq with chain complexes of infinite type…

计算机科学中的逻辑 · 计算机科学 2010-04-29 César Domínguez , Julio Rubio

Game semantics extends the Curry-Howard isomorphism to a three-way correspondence: proofs, programs, strategies. But the universe of strategies goes beyond intuitionistic logics and lambda calculus, to capture stateful programs. In this…

计算机科学中的逻辑 · 计算机科学 2013-07-09 Martin Churchill , Jim Laird , Guy McCusker

State-machine based notations are ubiquitous in the description of component systems, particularly in the robotic domain. To ensure these systems are safe and predictable, formal verification techniques are important, and can be…

计算机科学中的逻辑 · 计算机科学 2018-10-11 Simon Foster , James Baxter , Ana Cavalcanti , Alvaro Miyazawa , Jim Woodcock

Sequential effect systems are a class of effect system that exploits information about program order, rather than discarding it as traditional commutative effect systems do. This extra expressive power allows effect systems to reason about…

编程语言 · 计算机科学 2020-05-18 Colin S. Gordon

We explore an approach to verification of programs via program transformation applied to an interpreter of a programming language. A specialization technique known as Turchin's supercompilation is used to specialize some interpreters with…

编程语言 · 计算机科学 2017-05-22 Alexei P. Lisitsa , Andrei P. Nemytykh