Filters








803 Hits in 5.9 sec

Imperative Functional Programming with Isabelle/HOL [chapter]

Lukas Bulwahn, Alexander Krauss, Florian Haftmann, Levent Erkök, John Matthews
2008 Lecture Notes in Computer Science  
We introduce a lightweight approach for reasoning about programs involving imperative data structures using the proof assistant Isabelle/HOL.  ...  It is based on shallow embedding of programs, a polymorphic heap model using enumeration encodings and type classes, and a state-exception monad similar to known counterparts from Haskell.  ...  Schirmer [13] proposes a similar method, which is closely integrated with Isabelle/HOL, and whose metatheory is formally verified.  ... 
doi:10.1007/978-3-540-71067-7_14 fatcat:lcedkeoly5fzxol5ttbj6ezv24

Extensible Extraction of Efficient Imperative Programs with Foreign Functions, Manually Managed Memory, and Proofs [chapter]

Clément Pit-Claudel, Peng Wang, Benjamin Delaware, Jason Gross, Adam Chlipala
2020 Lecture Notes in Computer Science  
We present an original approach to sound program extraction in a proof assistant, using syntax-driven automation to derive correct-by-construction imperative programs from nondeterministic functional source  ...  The pipeline runs entirely within the Coq proof assistant, leading to final, linked assembly code with overall full-functional-correctness proofs in separation logic.  ...  Related Work Closely related to our work is a project by Lammich [10] that uses Isabelle/HOL to refine functional programs to an embedded imperative language that requires garbage collection.  ... 
doi:10.1007/978-3-030-51054-1_7 fatcat:qwto3glvwrdgll6ffzzhvedmlq

Owicki/Gries in Isabelle/HOL [chapter]

Tobias Nipkow, Leonor Prensa Nieto
1999 Lecture Notes in Computer Science  
We present a formalization of the Gries/Owicki method for correctness proofs of concurrent imperative programs with shared variables in the theorem prover Isabelle/HOL.  ...  The verification of some typical example programs like producer/consumer is presented.  ...  CSP has been treated in HOL [3] , Isabelle/HOL [26] and PVS [6] . CCS has been formalized in HOL [18] . TLA has been formalized in HOL [28] , LP [7] and Isabelle/HOL [15] .  ... 
doi:10.1007/978-3-540-49020-3_13 fatcat:6xjy7zmdvbcqfek5rrx2vkzhqy

Generating Verified LLVM from Isabelle/HOL

Peter Lammich, Michael Wagner
2019 International Conference on Interactive Theorem Proving  
We present a framework to generate verified LLVM programs from Isabelle/HOL.  ...  It is based on a code generator that generates LLVM text from a simplified fragment of LLVM, shallowly embedded into Isabelle/HOL.  ...  Verified LLVM from Isabelle/HOL Intuitively, ‹wp c Q s› states that program ‹c›, if run on memory ‹s›, terminates successfully with the result ‹r›, and the abstraction of the new state ‹s › satisfies  ... 
doi:10.4230/lipics.itp.2019.22 dblp:conf/itp/Lammich19 fatcat:mska6m2pavc6jf2tl2hlumi2du

From LCF to Isabelle/HOL

Lawrence C. Paulson, Tobias Nipkow, Makarius Wenzel
2019 Formal Aspects of Computing  
Here, we focus on Isabelle/HOL and its distinctive strengths.  ...  The resulting type, thm, From LCF to Isabelle/HOL 677  ...  The Isabelle distribution already comes with a basic collection of more than 700,000 lines (38 MB) of Isabelle/HOL theories.  ... 
doi:10.1007/s00165-019-00492-1 fatcat:rv5zmo22fjedvjxjz4lm22v6de

Hoare Logics in Isabelle/HOL [chapter]

Tobias Nipkow
2002 Proof and System-Reliability  
All systems are formalized and shown to be sound and complete in the theorem prover Isabelle/HOL. notes.tex; 21/11/2001; 15:49; p.1 notes.tex; 21/11/2001; 15:49; p.2  ...  This paper describes Hoare logics for a number of imperative language constructs, from while-loops via exceptions to mutually recursive procedures. Both partial and total correctness are treated.  ...  Isabelle/HOL is an interactive theorem prover for HOL, higher order logic. Most of the syntax of HOL will be familiar to anybody with some background in functional programming and logic.  ... 
doi:10.1007/978-94-010-0413-8_11 fatcat:dv4rbwf7yjevxmxn6gsqjzpita

Unifying Theories in Isabelle/HOL [chapter]

Abderrahmane Feliachi, Marie-Claude Gaudel, Burkhart Wolff
2010 Lecture Notes in Computer Science  
First, we explain how we have developed an Isabelle/HOL theory for a part of the Unifying Theories of Programming (UTP). It contains the theories of alphabetized relations and designs.  ...  In this paper, we present various extensions of Isabelle/HOL by theories that are essential for several formal methods.  ...  of the specification and theorem proving environment Isabelle/HOL.  ... 
doi:10.1007/978-3-642-16690-7_9 fatcat:cnuqqi62jjeu3k6hubbfmp47jy

Reasoning about Partial Correctness Assertions in Isabelle/HOL

Alfio Ricardo Martini
2020 Revista de Informática Teórica e Aplicada  
The purpose of this work is to provide a detailed and accessible exposition of the several ways the user can conduct, explore and write proofs of correctness of sequential imperative programs with Hoare  ...  Hoare Logic has a long tradition in formal verification and has been continuously developed and used to verify a broad class of programs, including sequential, object-oriented and concurrent programs.  ...  Therefore, we cannot Hoare Logic in ISABELLE/HOL specify the functional behaviour of a loop with arbitrary assertions P and Q.  ... 
doi:10.22456/2175-2745.98483 fatcat:6gk5qkp3nrcurhwxj3zbc2clcq

LiFtEr: Language to Encode Induction Heuristics for Isabelle/HOL [article]

Yutaka Nagashima
2019 arXiv   pre-print
Proof assistants, such as Isabelle/HOL, offer tools to facilitate inductive theorem proving.  ...  Program 2 is a more challenging proof about a formalization of an imperative language, IMP2 [14] , from the Archive of Formal Proofs [12] .  ...  Introduction Consider the following reverse functions, rev and itrev, presented in a tutorial of Isabelle/HOL [26] : primrec rev::"'a list =>'a list" where "rev [] = []" | "rev (x # xs) = rev xs @ [x]  ... 
arXiv:1906.08084v3 fatcat:uehy5lr3rnhgzfwon7bfbqz6o4

The Rely-Guarantee Method in Isabelle/HOL [chapter]

Leonor Prensa Nieto
2003 Lecture Notes in Computer Science  
This method consists of a Hoarelike system of rules to verify concurrent imperative programs with shared variables in a compositional way.  ...  We present the formalization of the rely-guarantee method in the theorem prover Isabelle/HOL.  ...  Isabelle/HOL Isabelle is a generic interactive theorem prover and Isabelle/HOL is its instantiation for higher-order logic. For a gentle introduction to Isabelle/HOL see [7] .  ... 
doi:10.1007/3-540-36575-3_24 fatcat:ma5lrmiurfb4dkzcjicj6oqbzy

Algebras for Program Correctness in Isabelle/HOL [chapter]

Alasdair Armstrong, Victor B. F. Gomes, Georg Struth
2014 Lecture Notes in Computer Science  
We present a reference formalisation of Kleene algebra and demonic refinement algebra with tests in Isabelle/HOL. It provides three different formalisations of tests.  ...  Formalisation examples include a complex refinement theorem, a generic proof of a loop transformation theorem for partial and total correctness and a simple prototypical verification tool for while programs  ...  Isabelle/HOL, in particular, is based on a typed higher-order logic which supports reasoning with sets, polymorphic data types, inductive definitions and recursive functions.  ... 
doi:10.1007/978-3-319-06251-8_4 fatcat:jmwp5mqm5beyhekkirkn7oybuu

Comparison of Two Theorem Provers: Isabelle/HOL and Coq [article]

Artem Yushkovskiy
2018 arXiv   pre-print
This paper compares two widespread tools for automated theorem proving, Isabelle/HOL and Coq, with respect to expressiveness, limitations and usability.  ...  The scale and complexity of mathematics, along with discovered paradoxes, revealed the danger of accumulating errors across theories.  ...  Huisman [7] , in which two theorem provers, PVS and Isabelle/HOL, were deeply compared with respect to numerous important aspects, such as properties of used logic, specification language, user interface  ... 
arXiv:1808.09701v2 fatcat:ffesxt4esffgjottsxmwjykjri

A Verified Timsort C Implementation in Isabelle/HOL [article]

Yu Zhang and Yongwang Zhao and David Sanan
2018 arXiv   pre-print
This paper studies Timsort implementation and its formal verification using a generic imperative language - Simpl in Isabelle/HOL.  ...  Although Timsort implementation in OpenJDK has been formally verified, there is still not a standard and formally verified Timsort implementation in C programming language.  ...  Simpl in Isabelle/HOL Schirmer introduces in [7] a verification framework for imperative sequential programs developed in Isabelle/HOL.  ... 
arXiv:1812.03318v1 fatcat:k4yi6hfm2ne6llhm7eknan2mpe

Fast Machine Words in Isabelle/HOL [chapter]

Andreas Lochbihler
2018 Lecture Notes in Computer Science  
within Isabelle/HOL to the four target languages and runs them with the most common implementations of each language.  ...  evaluation engines in Isabelle/HOL, namely code generation, normalisation by evaluation, and term rewriting; and (iii) they blend in with the existing formalisations of machine words.  ...  Isabelle/HOL with machine words of 8, 16, 32, and 64 bits ( §3), and with machine words of unspecified size ( §4).  ... 
doi:10.1007/978-3-319-94821-8_23 fatcat:svckhxh7tfbe3g7ksn7w7ys55y

Büchi Automata Optimisations Formalised in Isabelle/HOL [chapter]

Alexander Schimpf, Jan-Georg Smaus
2015 Lecture Notes in Computer Science  
In this paper, we present a formalisation of these algorithms in Isabelle/HOL, providing a formally verified implementation.  ...  Isabelle/HOL [7] is an interactive theorem prover based on Higher-Order Logic (HOL). You can think of HOL as a combination of a functional programming language with logic.  ...  Previously to [2] , we have implemented and verified this algorithm in Isabelle/HOL [8] .  ... 
doi:10.1007/978-3-662-45824-2_11 fatcat:qxt7gs5ubfh7hbdlqa36o46bcu
« Previous Showing results 1 — 15 out of 803 results