Results 11 
15 of
15
Formalising in Nominal Isabelle Crary’s Completeness Proof for Equivalence Checking
 LFMTP 2007
, 2007
"... In the book on Advanced Topics in Types and Programming Languages, Crary illustrates the reasoning technique of logical relations in a case study about equivalence checking. He presents a typedriven equivalence checking algorithm and verifies its completeness with respect to a definitional characte ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
In the book on Advanced Topics in Types and Programming Languages, Crary illustrates the reasoning technique of logical relations in a case study about equivalence checking. He presents a typedriven equivalence checking algorithm and verifies its completeness with respect to a definitional characterisation of equivalence. We present in this paper a formalisation of Crary’s proof using Isabelle/HOL and the nominal datatype package.
Formalising the πcalculus using Nominal Logic
"... Abstract. We formalise the picalculus using the nominal datatype package, a package based on ideas from the nominal logic by Pitts et al., and demonstrate an implementation in Isabelle/HOL. The purpose is to derive powerful induction rules for the semantics in order to conduct machine checkable pro ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Abstract. We formalise the picalculus using the nominal datatype package, a package based on ideas from the nominal logic by Pitts et al., and demonstrate an implementation in Isabelle/HOL. The purpose is to derive powerful induction rules for the semantics in order to conduct machine checkable proofs, closely following the intuitive arguments found in manual proofs. In this way we have covered many of the standard theorems of bisimulation equivalence and congruence, both late and early, and both strong and weak in a unison manner. We thus provide one of the most extensive formalisations of a process calculus ever done inside a theorem prover. A significant gain in our formulation is that agents are identified up to alphaequivalence, thereby greatly reducing the arguments about bound names. This is a normal strategy for manual proofs about the picalculus, but that kind of hand waving has previously been difficult to incorporate smoothly in an interactive theorem prover. We show how the nominal logic formalism and its support in Isabelle accomplishes this and thus significantly reduces the tedium of conducting completely formal proofs. This improves on previous work using weak higher order abstract syntax since we do not need extra assumptions to filter out exotic terms and can keep all arguments within a familiar firstorder logic.
Nominal Verification of Algorithm W
, 2008
"... The MilnerDamas typing algorithm W is one of the classic algorithms in Computer Science. In this paper we describe a formalised soundness and completeness proof for this algorithm. Our formalisation is based on names for both term and type variables, and is carried out in Isabelle/HOL using the Nom ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
The MilnerDamas typing algorithm W is one of the classic algorithms in Computer Science. In this paper we describe a formalised soundness and completeness proof for this algorithm. Our formalisation is based on names for both term and type variables, and is carried out in Isabelle/HOL using the Nominal Datatype Package. It turns out that in our formalisation we have to deal with a number of issues that are often overlooked in informal presentations of W. 1
Formal SOSProofs in the LambdaCalculus
 SOS 2007
, 2007
"... We describe in this paper formalisations for the properties of weakening, typesubstitutivity, subjectreduction and terminationof the usual bigstep evaluation relation. Our language is the lambdacalculus whose simplicity allows us to give theoremprover code for the formal proofs. The formalisati ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We describe in this paper formalisations for the properties of weakening, typesubstitutivity, subjectreduction and terminationof the usual bigstep evaluation relation. Our language is the lambdacalculus whose simplicity allows us to give theoremprover code for the formal proofs. The formalisations are done in the theorem prover Isabelle/HOL using the nominal datatypepackage. The point of these formalisations is to be as close as possible to the "pencilandpaper" proofs for these properties, but of course be completely rigorous. We describe where the nominal datatype package is of great help with such formalisationsand where one has to invest additional effort in order to obtain formal proofs.
Automating recursive Definitions and Termination Proofs . . .
, 2009
"... The aim of this thesis is to provide an infrastructure for general recursive function definitions in a proof assistant based on higherorder logic (HOL) that has no native support for recursion or pattern matching. In the first part we develop a tool that automates recursive function definitions and ..."
Abstract
 Add to MetaCart
The aim of this thesis is to provide an infrastructure for general recursive function definitions in a proof assistant based on higherorder logic (HOL) that has no native support for recursion or pattern matching. In the first part we develop a tool that automates recursive function definitions and provides appropriate proof rules for them. Compared to previous work, our package supports the definition of partial functions, modeling the domain of the function by an inductive domain predicate. An automaticallygenerated partial induction rule makes partial correctness proofs independent from termination proofs. This modularity considerably facilitates termination arguments for nested recursions. The second part addresses the problem of automatically solving the termination proof obligations that arise from function definitions. Methods from the literature can be applied, but require significant adaptation to the specific needs of our setting: They must produce full formal proofs and work relative to a rich