Results 1  10
of
45
The Isabelle Collections Framework
"... The Isabelle Collections Framework (ICF) provides a unified framework for using verified collection data structures in Isabelle/HOL formalizations and generating efficient functional code in ML, Haskell, and OCaml. Thanks to its modularity, it is easily extensible and supports switching to differen ..."
Abstract

Cited by 18 (10 self)
 Add to MetaCart
(Show Context)
The Isabelle Collections Framework (ICF) provides a unified framework for using verified collection data structures in Isabelle/HOL formalizations and generating efficient functional code in ML, Haskell, and OCaml. Thanks to its modularity, it is easily extensible and supports switching to different data structures any time. For good integration with applications, a data refinement approach separates the correctness proofs from implementation details. The generated code based on the ICF lies in better complexity classes than the one that uses Isabelle’s default setup (logarithmic vs. linear time). In a case study with tree automata, we demonstrate that the ICF is easy to use and efficient: An ICF based, verified tree automata library outperforms the unverified Timbuk/Taml library by a factor of 14.
Code generation from Isabelle/HOL theories
, 2008
"... This tutorial gives a motivationdriven introduction to a generic code generator framework in Isabelle for generating executable code in functional programming languages from logical specifications. ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
(Show Context)
This tutorial gives a motivationdriven introduction to a generic code generator framework in Isabelle for generating executable code in functional programming languages from logical specifications.
Recursive definitions of monadic functions
 In Proc. of PAR 2010
, 2010
"... Using standard domaintheoretic fixedpoints, we present an approach for defining recursive functions that are formulated in monadic style. The method works both in the simple option monad and the stateexception monad of Isabelle/HOL’s imperative programming extension, which results in a convenient ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
(Show Context)
Using standard domaintheoretic fixedpoints, we present an approach for defining recursive functions that are formulated in monadic style. The method works both in the simple option monad and the stateexception monad of Isabelle/HOL’s imperative programming extension, which results in a convenient definition principle for imperative programs, which were previously hard to define. For such monadic functions, the recursion equation can always be derived without preconditions, even if the function is partial. The construction is easy to automate, and convenient induction principles can be derived automatically. 1
The New Quickcheck for Isabelle  Random, Exhaustive and Symbolic Testing Living Under One Roof
"... The new Quickcheck is a counterexample generator for Isabelle/HOL that uncovers faulty specifications and invalid conjectures using various testing strategies. The previous Quickcheck only tested conjectures by random testing. The new Quickcheck extends the previous one and integrates two novel te ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
The new Quickcheck is a counterexample generator for Isabelle/HOL that uncovers faulty specifications and invalid conjectures using various testing strategies. The previous Quickcheck only tested conjectures by random testing. The new Quickcheck extends the previous one and integrates two novel testing strategies: exhaustive testing with concrete values; and symbolic testing, evaluating conjectures with a narrowing strategy. Orthogonally to the strategies, we address two general issues: First, we extend the class of executable conjectures and specifications, and second, we present techniques to deal with conditional conjectures, i.e., conjectures with restrictive premises. We evaluate the testing strategies and techniques on a number of specifications, functional data structures and a hotel key card system.
A Fully Verified Executable LTL Model Checker
"... We present an LTL model checker whose code has been completely verified using the Isabelle theorem prover. The checker consists of over 4000 lines of ML code. The code is produced using recent Isabelle technology called the Refinement Framework, which allows us to split its correctness proof into ( ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
We present an LTL model checker whose code has been completely verified using the Isabelle theorem prover. The checker consists of over 4000 lines of ML code. The code is produced using recent Isabelle technology called the Refinement Framework, which allows us to split its correctness proof into (1) the proof of an abstract version of the checker, consisting of a few hundred lines of “formalized pseudocode”, and (2) a structures are replaced by implementations of efficient structures like redblack trees and functional arrays. This leads to a checker that, while still slower than unverified checkers, can already be used as a trusted reference implementation against which advanced implementations can be tested. We report on the structure of the checker, the development process, and some experiments on standard benchmarks.
CERTIFIED SUBTERM CRITERION AND CERTIFIED USABLE RULES
"... Abstract. In this paper we present our formalization of two important termination techniques for term rewrite systems: the subterm criterion and the reduction pair processor in combination with usable rules. For both techniques we developed executable check functions using the theorem prover Isabell ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
(Show Context)
Abstract. In this paper we present our formalization of two important termination techniques for term rewrite systems: the subterm criterion and the reduction pair processor in combination with usable rules. For both techniques we developed executable check functions using the theorem prover Isabelle/HOL. These functions are able to certify the correct application of the formalized techniques in a given termination proof. As there are several variants of usable rules, we designed our check function in such a way that it accepts all known variants, even those which are not explicitly spelled out in previous papers. We integrated our formalization in the publicly available IsaFoRlibrary. This led to a significant increase in the power of CeTA, a certified termination proof checker that is extracted from IsaFoR. 1.
Numerical Analysis of Ordinary Differential Equations
, 2013
"... Since many ordinary differential equations (ODEs) do not have a closed solution, approximating them is an important problem in numerical analysis. This work formalizes a method to approximate solutions of ODEs in Isabelle/HOL. We formalize initial value problems (IVPs) of ODEs and prove the existenc ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
(Show Context)
Since many ordinary differential equations (ODEs) do not have a closed solution, approximating them is an important problem in numerical analysis. This work formalizes a method to approximate solutions of ODEs in Isabelle/HOL. We formalize initial value problems (IVPs) of ODEs and prove the existence of a unique solution, i.e. the PicardLindelöf theorem. We introduce general onestep methods for numerical approximation of the solution and provide an analysis regarding the local and global error of onestep methods. We give an executable specification of the Euler method to approximate the solution of IVPs. With usersupplied proofs for bounds of the differential equation we can prove an explicit bound for the global error. We use arbitraryprecision floatingpoint numbers and also handle rounding errors when we truncate the numbers for efficiency reasons. 1 Relations to the paper Our paper [1] is structured roughly according to the sources you find here. In the following list we show which notions of the paper correspond to which parts of the source code:
Formalizing KnuthBendix orders and KnuthBendix completion
 In Proc. RTA ’13, volume 21 of LIPIcs
, 2013
"... We present extensions of our Isabelle Formalization of Rewriting that cover two historically related concepts: the KnuthBendix order and the KnuthBendix completion procedure. The former, besides being the first development of its kind in a proof assistant, is based on a generalized version of the ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
We present extensions of our Isabelle Formalization of Rewriting that cover two historically related concepts: the KnuthBendix order and the KnuthBendix completion procedure. The former, besides being the first development of its kind in a proof assistant, is based on a generalized version of the KnuthBendix order. We compare our version to variants from the literature and show all properties required to certify termination proofs of TRSs. The latter comprises the formalization of important facts that are related to completion, like Birkhoff’s theorem, the critical pair theorem, and a soundness proof of completion, showing that the strict encompassment condition is superfluous for finite runs. As a result, we are able to certify completion proofs.
Data Refinement in Isabelle/HOL
"... Abstract. The paper shows how the code generator of Isabelle/HOL supports data refinement, i.e., providing efficient code for operations on abstract types, e.g., sets or numbers. This allows all tools that employ code generation, e.g., Quickcheck or proof by evaluation, to compute with these abstrac ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
Abstract. The paper shows how the code generator of Isabelle/HOL supports data refinement, i.e., providing efficient code for operations on abstract types, e.g., sets or numbers. This allows all tools that employ code generation, e.g., Quickcheck or proof by evaluation, to compute with these abstract types. At the core is an extension of the code generator to deal with data type invariants. In order to automate the process of setting up specific data refinements, two packages for transferring definitions and theorems between types are exploited. 1
Animating the formalised semantics of a Javalike language
 In Interactive Theorem Proving, volume 6898 of LNCS
, 2011
"... ..."
(Show Context)