Results 1  10
of
10
Mechanizing the Metatheory of LF
, 2008
"... LF is a dependent type theory in which many other formal systems can be conveniently embedded. However, correct use of LF relies on nontrivial metatheoretic developments such as proofs of correctness of decision procedures for LF’s judgments. Although detailed informal proofs of these properties hav ..."
Abstract

Cited by 15 (6 self)
 Add to MetaCart
LF is a dependent type theory in which many other formal systems can be conveniently embedded. However, correct use of LF relies on nontrivial metatheoretic developments such as proofs of correctness of decision procedures for LF’s judgments. Although detailed informal proofs of these properties have been published, they have not been formally verified in a theorem prover. We have formalized these properties within Isabelle/HOL using the Nominal Datatype Package, closely following a recent article by Harper and Pfenning. In the process, we identified and resolved a gap in one of the proofs and a small number of minor lacunae in others. Besides its intrinsic interest, our formalization provides a foundation for studying the adequacy of LF encodings, the correctness of Twelfstyle metatheoretic reasoning, and the metatheory of extensions to LF.
Contributions to the Theory of Syntax with Bindings and to Process Algebra
, 2010
"... We develop a theory of syntax with bindings, focusing on: methodological issues concerning the convenient representation of syntax; techniques for recursive definitions and inductive reasoning. Our approach consists of a combination of FOAS (FirstOrder Abstract Syntax) and HOAS (HigherOrder Abst ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
(Show Context)
We develop a theory of syntax with bindings, focusing on: methodological issues concerning the convenient representation of syntax; techniques for recursive definitions and inductive reasoning. Our approach consists of a combination of FOAS (FirstOrder Abstract Syntax) and HOAS (HigherOrder Abstract Syntax) and tries to take advantage of the best of both worlds. The connection between FOAS and HOAS follows some general patterns and is presented as a (formally certified) statement of adequacy. We also develop a general technique for proving bisimilarity in process algebra Our technique, presented as a formal proof system, is applicable to a wide range of process algebras. The proof system is incremental, in that it allows building incrementally an a priori unknown bisimulation, and patternbased, in that it works on equalities of process patterns (i.e., universally quantified equations of process terms containing process variables), thus taking advantage of equational reasoning in a “circular ” manner, inside coinductive proof loops. All the work presented here has been formalized in the Isabelle theorem prover. The formalization is performed in a general setting: arbitrary manysorted syntax with bindings and arbitrary SOSspecified process algebra in de Simone format. The usefulness of our techniques is illustrated by several formalized case studies: a development of callbyname and callbyvalue λcalculus with constants, including ChurchRosser theorems, connection with de Bruijn representation, connection with other Isabelle formalizations, HOAS representation, and contituationpassingstyle (CPS) transformation; a proof in HOAS of strong normalization for the polymorphic secondorder λcalculus (a.k.a. System F). We also indicate the outline and some details of the formal development. ii to Leili R. Marleene iii
Mechanised computability theory
 In Interactive Theorem Proving  Second International Conference, ITP 2011, Berg en Dal, The Netherlands, August 2225, 2011. Proceedings, volume 6898 of Lecture Notes in Computer Science
, 2011
"... Abstract. This paper presents a mechanisation of some basic computability theory. The mechanisation uses two models: the recursive functions and the λcalculus, and shows that they have equivalent computational power. Results proved include the Recursion Theorem, an instance of the smn theorem, t ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
Abstract. This paper presents a mechanisation of some basic computability theory. The mechanisation uses two models: the recursive functions and the λcalculus, and shows that they have equivalent computational power. Results proved include the Recursion Theorem, an instance of the smn theorem, the existence of a universal machine, Rice’s Theorem, and closure facts about the recursive and recursively enumerable sets. The mechanisation was performed in the HOL4 system and is available online. 1
The Representational Adequacy of HYBRID
"... The Hybrid system (Ambler et al., 2002b), implemented within Isabelle/HOL, allows object logics to be represented using higher order abstract syntax (HOAS), and reasoned about using tactical theorem proving in general and principles of (co)induction in particular. The form of HOAS provided by Hybrid ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
The Hybrid system (Ambler et al., 2002b), implemented within Isabelle/HOL, allows object logics to be represented using higher order abstract syntax (HOAS), and reasoned about using tactical theorem proving in general and principles of (co)induction in particular. The form of HOAS provided by Hybrid is essentially a lambda calculus with constants. Of fundamental interest is the form of the lambda abstractions provided by Hybrid. The user has the convenience of writing lambda abstractions using names for the binding variables. However each abstraction is actually a definition of a de Bruijn expression, and Hybrid can unwind the user’s abstractions (written with names) to machine friendly de Bruijn expressions (without names). In this sense the formal system contains a hybrid of named and nameless bound variable notation. In this paper, we present a formal theory in a logical framework which can be viewed as a model of core Hybrid, and state and prove that the model is representationally adequate for HOAS. In particular, it is the canonical translation function from λexpressions to Hybrid that witnesses adequacy. We also prove two results that characterise how Hybrid represents certain classes of λexpressions. The Hybrid system contains a number of different syntactic classes of expression, and associated abstraction mechanisms. Hence this paper also aims to provide a selfcontained theoretical introduction to both the syntax and key ideas of the system; background in automated theorem proving is not essential, although this paper will be of considerable interest to those who wish to work with Hybrid in Isabelle/HOL.
A Mechanised Proof of Gödel’s Incompleteness Theorems using Nominal Isabelle
"... Abstract A Isabelle/HOL formalisation of Gödel’s two incompleteness theorems is presented. Aspects of the development are described in detail, including two separate treatments of variable binding: the nominal package [25] and de Bruijn indices [3]. The work follows ´ Swierczkowski’s a detailed proo ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract A Isabelle/HOL formalisation of Gödel’s two incompleteness theorems is presented. Aspects of the development are described in detail, including two separate treatments of variable binding: the nominal package [25] and de Bruijn indices [3]. The work follows ´ Swierczkowski’s a detailed proof, using hereditarily finite set theory [23]. 1
Hard life with weak binders
"... We introduce weak binders, a lightweight construct to deal with fresh names in nominal calculi. Weak binders do not define the scope of names as precisely as the standard νbinders, yet they enjoy strong semantic properties. We provide them with a denotational semantics, an equational theory, and a ..."
Abstract
 Add to MetaCart
We introduce weak binders, a lightweight construct to deal with fresh names in nominal calculi. Weak binders do not define the scope of names as precisely as the standard νbinders, yet they enjoy strong semantic properties. We provide them with a denotational semantics, an equational theory, and a trace inclusion preorder. Furthermore, we present a tracepreserving mapping between weak binders and νbinders.
Yet Another Deep Embedding of B: Extending de Bruijn Notations
, 902
"... Abstract. We present BiCoq3, a deep embedding of the B system in Coq, focusing on the technical aspects of the development. The main subjects discussed are related to the representation of sets and maps, the use of induction principles, and the introduction of a new de Bruijn notation providing solu ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. We present BiCoq3, a deep embedding of the B system in Coq, focusing on the technical aspects of the development. The main subjects discussed are related to the representation of sets and maps, the use of induction principles, and the introduction of a new de Bruijn notation providing solutions to various problems related to the mechanisation of languages and logics. Key words: formal methods, deep embedding, de Bruijn notation Embedding a language or a logic is now a wellestablished practice in the academic community, to answer various types of concerns, e.g. normalisation of terms and influence of reduction strategies for a programming language or consistency for a logic. It indeed supports such metatheoretical analyses as well as comparing and promoting interesting concepts and features of other languages, or developing mechanically checked tools to deal with a language. But a lot of difficulties arise that have to be addressed. First of all, an important design choice has to be made between shallow and deep approaches,
Alpha Equivalence Equalities
, 2012
"... Programming languages and logics, which are pervasive in Computer Science, have syntax which involves variable binding constructors. As such, reasoning about such languages in general, and formal reasoning in particular (such as within a theorem prover), requires frameworks within which the syntax m ..."
Abstract
 Add to MetaCart
Programming languages and logics, which are pervasive in Computer Science, have syntax which involves variable binding constructors. As such, reasoning about such languages in general, and formal reasoning in particular (such as within a theorem prover), requires frameworks within which the syntax may be properly represented. One key requirement is a correct representation of αequivalence. The current literature provides a number of different definitions of the notion of αequivalence. The formal definitions may be nameless as in the approach of de Bruijn, or have explicit names, as in the approaches that use either a renaming/substitution axiom, or instead use a notion of variable swapping. The first contribution of this paper is to draw together five definitions of αequivalence relations and to prove formally and in detail, but using mathematics, that the relations are all equal. There are two key reasons for doing this: Firstly, the literature has many examples of proofs of results involving αequivalence which contain technical errors. Such examples concern both the application of αequivalence, and the metatheory of αequivalence itself. Secondly, the literature does not currently contain detailed presentations of such results. The point of giving the detail is partly to avoid falling into common errortraps, but mainly to provide clear mathematical machinery that will be useful to those working in the area. This includes systems of inductive rules and proofs by induction, and clear accounts of the key lemmas that support the main proofs. The second contribution is to provide two definitions of αequivalence relations over (program) contexts, namely expressions with a single metavariable (or “hole”). One of the definitions is already in the literature, and the other is new. We prove some basic properties of αequivalence on contexts, and show that the two definitions give rise to the same relation.
found at the ENTCS Macro Home Page. Formalizing adequacy
"... this file with prentcsmacro.sty for your meeting, ..."
(Show Context)