English
Related papers

Related papers: A Hoare Logic for Domain Specification (Full Versi…

200 papers

We present a formal system for proving the partial correctness of a single-pass instruction sequence as considered in program algebra by decomposition into proofs of the partial correctness of segments of the single-pass instruction…

Logic in Computer Science · Computer Science 2017-06-29 J. A. Bergstra , C. A. Middelburg

Relational program verification is a variant of program verification where one can reason about two programs and as a special case about two executions of a single program on different inputs. Relational program verification can be used for…

Programming Languages · Computer Science 2019-10-23 Alejandro Aguirre , Gilles Barthe , Marco Gaboardi , Deepak Garg , Pierre-Yves Strub

Using the programming language Haskell, we introduce an implementation of propositional calculus, number theory, and a simple imperative language that can evaluate arithmetic and boolean expressions. Finally, we provide an implementation of…

Programming Languages · Computer Science 2021-12-28 Boro Sitnikovski

Applications like program synthesis sometimes require proving that a property holds for all of the infinitely many programs described by a grammar - i.e., an inductively defined set of programs. Current verification frameworks…

Programming Languages · Computer Science 2025-07-29 Jinwoo Kim , Shaan Nagy , Thomas Reps , Loris D'Antoni

The Curry-Howard correspondence is about a relationship between types and programs on the one hand and propositions and proofs on the other. The implications for programming language design and program verification is an active field of…

Programming Languages · Computer Science 2015-09-15 Jørgen Steensgaard-Madsen

We propose a new approach to formally describing the requirement for statistical inference and checking whether a program uses the statistical method appropriately. Specifically, we define belief Hoare logic (BHL) for formalizing and…

Artificial Intelligence · Computer Science 2023-12-05 Yusuke Kawamoto , Tetsuya Sato , Kohei Suenaga

This paper offers an approach to extensible knowledge representation and reasoning for a family of formalisms known as Description Logics. The approach is based on the notion of adding new concept constructors, and includes a heuristic…

Artificial Intelligence · Computer Science 2011-05-30 A. Borgida

We study a propositional variant of Hoare logic that can be used for reasoning about programs that exhibit both angelic and demonic nondeterminism. We work in an uninterpreted setting, where the meaning of the atomic actions is specified…

Logic in Computer Science · Computer Science 2019-03-14 Konstantinos Mamouras

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

A proof tableau of Hoare logic is an annotated program with pre- and post-conditions, which corresponds to an inference tree of Hoare logic. In this paper, we show that a proof tableau for partial correctness can be transformed into an…

Logic in Computer Science · Computer Science 2018-02-20 Shinnosuke Mizutani , Naoki Nishida

Recently, data abstraction has been studied in the context of separation logic, with noticeable practical successes: the developed logics have enabled clean proofs of tricky challenging programs, such as subject-observer patterns, and they…

Programming Languages · Computer Science 2015-07-01 Jacob Thamsborg , Lars Birkedal , Hongseok Yang

Inspired by the trend on unifying theories of programming, this paper shows how the algebraic treatment of standard data dependency theory equips relational data with functional types and an associated type system which is useful for type…

Logic in Computer Science · Computer Science 2012-10-18 Jose N. Oliveira

I present a new method for specifying and verifying the partial correctness of sequential programs. The key observation is that, in Hoare logic, assertions are used as selectors of states, that is, an assertion specifies the set of program…

Software Engineering · Computer Science 2022-01-20 Paul C Attie

Many security- and performance-critical domains, such as cryptography, rely on low-level verification to minimize the trusted computing surface and allow code to be written directly in assembly. However, verifying assembly code against a…

Logic in Computer Science · Computer Science 2025-05-21 Denis Mazzucato , Abdalrhman Mohamed , Juneyoung Lee , Clark Barrett , Jim Grundy , John Harrison , Corina S. Pasareanu

This paper presents an extension to Hoare logic for pointer program verification. First, the Logic for Partial Function (LPF) used by VDM is extended to specify memory access using pointers and memory layout of composite types. Then, the…

Logic in Computer Science · Computer Science 2009-12-22 Jianhua Zhao , Xuandong Li

We consider Hoare-style verification for the graph programming language GP 2. In previous work, graph properties were specified by so-called E-conditions which extend nested graph conditions. However, this type of assertions is not easy to…

Logic in Computer Science · Computer Science 2020-12-04 Gia S. Wulandari , Detlef Plump

The problem of writing a specification which accurately reflects the intent of the developer has long been recognized as fundamental. We propose a method and a supporting tool to write and check a specification and an implementation using a…

Software Engineering · Computer Science 2013-05-20 Paul C Attie , Fadi A Zaraket , Mohammad Fawaz , Mohammad Noureddine

We consider Hoare-style verification for the graph programming language GP 2. In previous work, graph properties were specified by so-called E-conditions which extend nested graph conditions. However, this type of assertions is not easy to…

Logic in Computer Science · Computer Science 2020-11-04 Gia Wulandari , Detlef Plump

Higher-order logic programming is an interesting extension of traditional logic programming that allows predicates to appear as arguments and variables to be used where predicates typically occur. Higher-order characteristics are indeed…

Programming Languages · Computer Science 2018-12-04 Antonis Troumpoukis , Angelos Charalambidis

We discuss proving correctness and completeness of definite clause logic programs. We propose a method for proving completeness, while for proving correctness we employ a method which should be well known but is often neglected. Also, we…

Logic in Computer Science · Computer Science 2017-01-31 Włodzimierz Drabent