Results 1  10
of
23
Set theory for verification: I. From foundations to functions
 J. Auto. Reas
, 1993
"... A logic for specification and verification is derived from the axioms of ZermeloFraenkel set theory. The proofs are performed using the proof assistant Isabelle. Isabelle is generic, supporting several different logics. Isabelle has the flexibility to adapt to variants of set theory. Its higherord ..."
Abstract

Cited by 52 (20 self)
 Add to MetaCart
(Show Context)
A logic for specification and verification is derived from the axioms of ZermeloFraenkel set theory. The proofs are performed using the proof assistant Isabelle. Isabelle is generic, supporting several different logics. Isabelle has the flexibility to adapt to variants of set theory. Its higherorder syntax supports the definition of new binding operators. Unknowns in subgoals can be instantiated incrementally. The paper describes the derivation of rules for descriptions, relations and functions, and discusses interactive proofs of Cantor’s Theorem, the Composition of Homomorphisms challenge [9], and Ramsey’s Theorem [5]. A generic proof assistant can stand up against provers dedicated to particular logics. Key words. Isabelle, set theory, generic theorem proving, Ramsey’s Theorem,
Logic Frameworks for Logic Programs
, 1994
"... . We show how logical frameworks can provide a basis for logic program synthesis. With them, we may use firstorder logic as a foundation to formalize and derive rules that constitute program development calculi. Derived rules may be in turn applied to synthesize logic programs using higherorder re ..."
Abstract

Cited by 12 (7 self)
 Add to MetaCart
. We show how logical frameworks can provide a basis for logic program synthesis. With them, we may use firstorder logic as a foundation to formalize and derive rules that constitute program development calculi. Derived rules may be in turn applied to synthesize logic programs using higherorder resolution during proof that programs meet their specifications. We illustrate this using Paulson's Isabelle system to derive and use a simple synthesis calculus based on equivalence preserving transformations. 1 Introduction Background In 1969 Dana Scott developed his Logic for Computable Functions and with it a model of functional program computation. Motivated by this model, Robin Milner developed the theorem prover LCF whose logic PP used Scott's theory to reason about program correctness. The LCF project [13] established a paradigm of formalizing a programming logic on a machine and using it to formalize different theories of functional programs (e.g., strict and lazy evaluation) and the...
A Case Study of Coinduction in Isabelle
, 1995
"... The consistency of the dynamic and static semantics for a small functional programming language was informally proved by R.Milner and M.Tofte. The notions of coinductive definitions and the associated principle of coinduction played a pivotal role in the proof. With emphasis on coinduction, the w ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
The consistency of the dynamic and static semantics for a small functional programming language was informally proved by R.Milner and M.Tofte. The notions of coinductive definitions and the associated principle of coinduction played a pivotal role in the proof. With emphasis on coinduction, the work presented here deals with the formalisation of this result in the generic theorem prover Isabelle. Contents 1 Introduction 1 2 Coinduction in Relation Semantics 2 2.1 Notation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 2.2 The Language : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 2.3 Dynamic Semantics : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.4 Static Semantics : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.5 Consistency : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 3 Isabelle 7 3.1 Documentation : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 3.2 Notation : : : : : : : : : : : : : : : : : : : : : ...
ProofChecking Protocols using Bisimulations
 IN PROC. CONCUR’99, LNCS 1664
, 1999
"... We report on our experience in using the Isabelle/HOL theorem prover to mechanize proofs of observation equivalence for systems with infinitely many states, and for parameterized systems. We follow the direct approach: An infinite relation containing the pair of systems to be shown equivalent is def ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
We report on our experience in using the Isabelle/HOL theorem prover to mechanize proofs of observation equivalence for systems with infinitely many states, and for parameterized systems. We follow the direct approach: An infinite relation containing the pair of systems to be shown equivalent is defined, and then proved to be a weak bisimulation. The weak bisimilarity proof is split into many cases, corresponding to the derivatives of the pairs in the relation. Isabelle/HOL automatically proves simple cases, and guarantees that no case is forgotten. The strengths and weaknesses of the approach are discussed.
On the Mechanization of Real Analysis in Isabelle/HOL
"... Our recent, and still ongoing, development of real analysis in Isabelle/HOL is presented and compared, whenever instructive, to the one present in the theorem prover HOL. While most existing mechanizations of analysis only use the classical and approach, ours uses notions from both Nonstandard ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
(Show Context)
Our recent, and still ongoing, development of real analysis in Isabelle/HOL is presented and compared, whenever instructive, to the one present in the theorem prover HOL. While most existing mechanizations of analysis only use the classical and approach, ours uses notions from both Nonstandard Analysis and classical analysis. The overall result is an intuitive, yet rigorous, development of real analysis, and a relatively high degree of proof automation in many cases.
A Case Study of Coinduction in Isabelle HOL
, 1993
"... The consistency of the dynamic and static semantics for a small functional programming language was informally proved by R.Milner and M.Tofte. The notions of coinductive definitions and the associated principle of coinduction played a pivotal role in the proof. With emphasis on coinduction, th ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
The consistency of the dynamic and static semantics for a small functional programming language was informally proved by R.Milner and M.Tofte. The notions of coinductive definitions and the associated principle of coinduction played a pivotal role in the proof. With emphasis on coinduction, the work presented here deals with the formalisation of this result in the higherorder logic of the generic theorem prover Isabelle. 1 Introduction In the paper Coinduction in Relational Semantics [1], R.Milner and M.Tofte prove the dynamic and static semantics for a small functional programming language consistent. The dynamic semantics associates a value to an expression of the language, while the static semantics associates a type. A value has a type. Consistency requires that the value of an expression has the type of the expression. Values can be infinite or nonwellfounded because the language contains recursive functions. Nonwellfounded values are handled using coinductive def...
IsaWhelk: Whelk Interpreted in Isabelle
, 1994
"... The Whelk logic has been proposed as a foundation for logic program synthesis. Here, I interpret the rules of Whelk as rules of firstorder logic and derive them in Isabelle. Theoretically, this provides a means to understand the metatheory behind Whelk, and its correctness. The interpretation sugg ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
The Whelk logic has been proposed as a foundation for logic program synthesis. Here, I interpret the rules of Whelk as rules of firstorder logic and derive them in Isabelle. Theoretically, this provides a means to understand the metatheory behind Whelk, and its correctness. The interpretation suggests simplifications, corrections, and extensions. Practically, it provides a way to construct logic programs from proofs of their correctness by applying the formalized proof rules using higherorder resolution.
A FirstOrder Syntax for the piCalculus in Isabelle/HOL using Permutations
"... . A formalized theory of alphaconversion for the #calculus in ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
. A formalized theory of alphaconversion for the #calculus in
Mechanical Proof of the Optimality of a Partial Evaluator
, 1999
"... We present a proof of the optimality of lambdamix, Gomard's partial evaluator for an untyped applied lambda calculus. We also report on a mechanically verified version of the proof, which was done using Isabelle/HOL, the typed higher order logic instance of the generic proof system Isabelle. ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We present a proof of the optimality of lambdamix, Gomard's partial evaluator for an untyped applied lambda calculus. We also report on a mechanically verified version of the proof, which was done using Isabelle/HOL, the typed higher order logic instance of the generic proof system Isabelle.
Proving Write Invalidate Cache Coherence with Bisimulations in Isabelle/HOL
, 2000
"... The aim of this paper is to advocate the use of bisimulation relations in the verification of infinitestate or parameterized systems, and demonstrates the support that generalpurpose theorem provers can offer. A powerful proof technique, known as up to expansion, is discussed and applied in a case ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
The aim of this paper is to advocate the use of bisimulation relations in the verification of infinitestate or parameterized systems, and demonstrates the support that generalpurpose theorem provers can offer. A powerful proof technique, known as up to expansion, is discussed and applied in a case study about write invalidate cache coherence. This example is of interest, as the system is parameterized in the number of its components, and the bisimulation relation reflects the coherence of the caches with the main memory.