Results 1  10
of
22
Engineering formal metatheory
 In ACM SIGPLANSIGACT Symposium on Principles of Programming Languages
, 2008
"... Machinechecked proofs of properties of programming languages have become a critical need, both for increased confidence in large and complex designs and as a foundation for technologies such as proofcarrying code. However, constructing these proofs remains a black art, involving many choices in th ..."
Abstract

Cited by 116 (11 self)
 Add to MetaCart
Machinechecked proofs of properties of programming languages have become a critical need, both for increased confidence in large and complex designs and as a foundation for technologies such as proofcarrying code. However, constructing these proofs remains a black art, involving many choices in the formulation of definitions and theorems that make a huge cumulative difference in the difficulty of carrying out large formal developments. The representation and manipulation of terms with variable binding is a key issue. We propose a novel style for formalizing metatheory, combining locally nameless representation of terms and cofinite quantification of free variable names in inductive definitions of relations on terms (typing, reduction,...). The key technical insight is that our use of cofinite quantification obviates the need for reasoning about equivariance (the fact that free names can be renamed in derivations); in particular, the structural induction principles of relations
A syntactic approach to foundational proofcarrying code
 In Seventeenth IEEE Symposium on Logic in Computer Science
, 2002
"... ProofCarrying Code (PCC) is a general framework for verifying the safety properties of machinelanguage programs. PCC proofs are usually written in a logic extended with languagespecific typing rules. In Foundational ProofCarrying Code (FPCC), on the other hand, proofs are constructed and verifie ..."
Abstract

Cited by 96 (19 self)
 Add to MetaCart
ProofCarrying Code (PCC) is a general framework for verifying the safety properties of machinelanguage programs. PCC proofs are usually written in a logic extended with languagespecific typing rules. In Foundational ProofCarrying Code (FPCC), on the other hand, proofs are constructed and verified using strictly the foundations of mathematical logic, with no typespecific axioms. FPCC is more flexible and secure because it is not tied to any particular type system and it has a smaller trusted base. Foundational proofs, however, are much harder to construct. Previous efforts on FPCC all required building sophisticated semantic models for types. In this paper, we present a syntactic approach to FPCC that avoids the difficulties of previous work. Under our new scheme, the foundational proof for a typed machine program simply consists of the typing derivation plus the formalized syntactic soundness proof for the underlying type system. We give a translation from a typed assembly language into FPCC and demonstrate the advantages of our new system via an implementation in the Coq proof assistant. 1.
Some lambda calculus and type theory formalized
 Journal of Automated Reasoning
, 1999
"... Abstract. We survey a substantial body of knowledge about lambda calculus and Pure Type Systems, formally developed in a constructive type theory using the LEGO proof system. On lambda calculus, we work up to an abstract, simplified, proof of standardization for beta reduction, that does not mention ..."
Abstract

Cited by 65 (10 self)
 Add to MetaCart
(Show Context)
Abstract. We survey a substantial body of knowledge about lambda calculus and Pure Type Systems, formally developed in a constructive type theory using the LEGO proof system. On lambda calculus, we work up to an abstract, simplified, proof of standardization for beta reduction, that does not mention redex positions or residuals. Then we outline the meta theory of Pure Type Systems, leading to the strengthening lemma. One novelty is our use of named variables for the formalization. Along the way we point out what we feel has been learned about general issues of formalizing mathematics, emphasizing the search for formal definitions that are convenient for formal proof and convincingly represent the intended informal concepts.
Mechanizing set theory: Cardinal arithmetic and the axiom of choice
 Journal of Automated Reasoning
, 1996
"... Abstract. Fairly deep results of ZermeloFrænkel (ZF) set theory have been mechanized using the proof assistant Isabelle. The results concern cardinal arithmetic and the Axiom of Choice (AC). A key result about cardinal multiplication is κ ⊗ κ = κ, where κ is any infinite cardinal. Proving this resu ..."
Abstract

Cited by 16 (9 self)
 Add to MetaCart
(Show Context)
Abstract. Fairly deep results of ZermeloFrænkel (ZF) set theory have been mechanized using the proof assistant Isabelle. The results concern cardinal arithmetic and the Axiom of Choice (AC). A key result about cardinal multiplication is κ ⊗ κ = κ, where κ is any infinite cardinal. Proving this result required developing theories of orders, orderisomorphisms, order types, ordinal arithmetic, cardinals, etc.; this covers most of Kunen, Set Theory, Chapter I. Furthermore, we have proved the equivalence of 7 formulations of the Wellordering Theorem and 20 formulations of AC; this covers the first two chapters of Rubin and Rubin, Equivalents of the Axiom of Choice, and involves highly technical material. The definitions used in the proofs are
The Mechanisation of BarendregtStyle Equational Proofs (the Residual Perspective)
, 2001
"... We show how to mechanise equational proofs about higherorder languages by using the primitive proof principles of firstorder abstract syntax over onesorted variable names. We illustrate the method here by proving (in Isabelle/HOL) a technical property which makes the method widely applicable for ..."
Abstract

Cited by 10 (6 self)
 Add to MetaCart
We show how to mechanise equational proofs about higherorder languages by using the primitive proof principles of firstorder abstract syntax over onesorted variable names. We illustrate the method here by proving (in Isabelle/HOL) a technical property which makes the method widely applicable for the λcalculus: the residual theory of β is renamingfree upto an initiality condition akin to the socalled Barendregt Variable Convention. We use our results to give a new diagrambased proof of the development part of the strong finite development property for the λcalculus. The proof has the same equational implications (e.g., confluence) as the proof of the full property but without the need to prove SN. We account for two other uses of the proof method, as presented elsewhere. One has been mechanised in full in Isabelle/HOL.
Formal proofs about rewriting using ACL2
 Annals of Mathematics and Artificial Intelligence
, 2002
"... We present an application of the ACL2 theorem prover to reason about rewrite systems theory. We describe the formalization and representation aspects of our work using the firstorder, quantifierfree logic of ACL2 and we sketch some of the main points of the proof effort. First, we present a formali ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
(Show Context)
We present an application of the ACL2 theorem prover to reason about rewrite systems theory. We describe the formalization and representation aspects of our work using the firstorder, quantifierfree logic of ACL2 and we sketch some of the main points of the proof effort. First, we present a formalization of abstract reduction systems and then we show how this abstraction can be instantiated to establish results about term rewriting. The main theorems we mechanically proved are Newman’s lemma (for abstract reductions) and Knuth–Bendix critical pair theorem (for term rewriting).
A proof of the churchrosser theorem for the lambda calculus in higher order logic
 TPHOLs’01: Supplemental Proceedings
, 2001
"... Abstract. This paper describes a proof of the ChurchRosser theorem within the Higher Order Logic (HOL) theorem prover. This follows the proof by Tait/MartinLöf, preserving the elegance of the classic presentation by Barendregt. We model the lambda calculus with a namecarrying syntax, as in practi ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
(Show Context)
Abstract. This paper describes a proof of the ChurchRosser theorem within the Higher Order Logic (HOL) theorem prover. This follows the proof by Tait/MartinLöf, preserving the elegance of the classic presentation by Barendregt. We model the lambda calculus with a namecarrying syntax, as in practical languages. The proof is simplified by forming a quotient of the namecarrying syntax by the αequivalence relation, thus separating the concerns of αequivalence and βreduction. 1
Verification of Newman’s and Yokouchi Lemmas in PVS
 Local Proceedings of Logic and Theory of Algorithms, Fourth Conference on Computability in Europe  CiE 2008 (2008
, 2007
"... Abstract. This paper shows how a previously specified theory for Abstract Reduction Systems (ARSs) in which noetherianity was defined by the notion of wellfoundness over binary relations is used in order to prove results such as the wellknown Newman’s Lemma and the Yokouchi’s Lemma. The former one k ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
Abstract. This paper shows how a previously specified theory for Abstract Reduction Systems (ARSs) in which noetherianity was defined by the notion of wellfoundness over binary relations is used in order to prove results such as the wellknown Newman’s Lemma and the Yokouchi’s Lemma. The former one known as the diamond lemma and the later which states a property of commutation between ARSs. Thears theory was specified in the Prototype Verification System (PVS) for which to the best of our knowledge there are no available theory for dealing with rewriting techniques in general. In addition to proof techniques available in PVS the verification of these lemmas implies an elaborated use of natural as well as noetherian induction. 1.
Formalising formulasastypesasobjects
 Types for Proofs and Programs
, 2000
"... Abstract. We describe a formalisation of the CurryHowardLawvere correspondence between the natural deduction system for minimal logic, the typed lambda calculus and Cartesian closed categories. We formalise the type of natural deduction proof trees as a family of sets Γ ⊢ A indexed by the current ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We describe a formalisation of the CurryHowardLawvere correspondence between the natural deduction system for minimal logic, the typed lambda calculus and Cartesian closed categories. We formalise the type of natural deduction proof trees as a family of sets Γ ⊢ A indexed by the current assumption list Γ and the conclusion A and organise numerous useful lemmas about proof trees categorically. We prove categorical properties about proof trees up to (syntactic) identity as well as up to βηconvertibility. We prove that our notion of proof trees is equivalent in an appropriate sense to more traditional representations of lambda terms. The formalisation is carried out in the proof assistant ALF for MartinLöf type theory. 1