Results 1  10
of
12
Nominal Logic: A First Order Theory of Names and Binding
 Information and Computation
, 2001
"... This paper formalises within firstorder logic some common practices in computer science to do with representing and reasoning about syntactical structures involving named bound variables (as opposed to nameless terms, explicit substitutions, or higher order abstract syntax). It introduces Nominal L ..."
Abstract

Cited by 168 (15 self)
 Add to MetaCart
This paper formalises within firstorder logic some common practices in computer science to do with representing and reasoning about syntactical structures involving named bound variables (as opposed to nameless terms, explicit substitutions, or higher order abstract syntax). It introduces Nominal Logic, a version of firstorder manysorted logic with equality containing primitives for renaming via nameswapping and for freshness of names, from which a notion of binding can be derived. Its axioms express...
Barendregt’s variable convention in rule inductions
 In Proc. of the 21th International Conference on Automated Deduction (CADE), volume 4603 of LNAI
, 2007
"... Abstract. Inductive definitions and rule inductions are two fundamental reasoning tools in logic and computer science. When inductive definitions involve binders, then Barendregt's variable convention is nearly always employed (explicitly or implicitly) in order to obtain simple proofs. Using t ..."
Abstract

Cited by 20 (8 self)
 Add to MetaCart
Abstract. Inductive definitions and rule inductions are two fundamental reasoning tools in logic and computer science. When inductive definitions involve binders, then Barendregt's variable convention is nearly always employed (explicitly or implicitly) in order to obtain simple proofs. Using this convention, one does not consider truly arbitrary bound names, as required by the rule induction principle, but rather bound names about which various freshness assumptions are made. Unfortunately, neither Barendregt nor others give a formal justification for the variable convention, which makes it hard to formalise such proofs. In this paper we identify conditions an inductive definition has to satisfy so that a form of the variable convention can be built into the rule induction principle. In practice this means we come quite close to the informal reasoning of &quot;pencilandpaper &quot; proofs, while remaining completely formal. Our conditions also reveal circumstances in which Barendregt's variable convention is not applicable, and can even lead to faulty reasoning. 1 Introduction In informal proofs about languages that feature bound variables, one often assumes (explicitly or implicitly) a rather convenient convention about those bound variables. Barendregt's statement of the convention is: Variable Convention: If M1; : : : ; Mn occur in a certain mathematical context (e.g. definition, proof), then in these terms all bound variables are chosen to be different from the free variables. [2, Page 26]
A formal treatment of the Barendregt Variable Convention in rule inductions
 In MERLIN ’05: Proceedings of the 3rd ACM SIGPLAN workshop on Mechanized
, 2005
"... Barendregt’s variable convention simplifies many informal proofs in the λcalculus by allowing the consideration of only those bound variables that have been suitably chosen. Barendregt does not give a formal justification for the variable convention, which makes it hard to formalise such informal p ..."
Abstract

Cited by 12 (4 self)
 Add to MetaCart
Barendregt’s variable convention simplifies many informal proofs in the λcalculus by allowing the consideration of only those bound variables that have been suitably chosen. Barendregt does not give a formal justification for the variable convention, which makes it hard to formalise such informal proofs. In this paper we show how a form of the variable convention can be built into the reasoning principles for rule inductions. We give two examples explaining our technique.
Strong Induction Principles in the Locally Nameless Representation of Binders (Preliminary Notes)
"... Abstract. When using the locally nameless representation for binders, proofs by rule induction over an inductively defined relation traditionally involve a weak and strong version of this relation, and a proof that both versions derive the same judgements. In these notes we demonstrate with examples ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Abstract. When using the locally nameless representation for binders, proofs by rule induction over an inductively defined relation traditionally involve a weak and strong version of this relation, and a proof that both versions derive the same judgements. In these notes we demonstrate with examples that it is often sufficient to define just the weak version, using the infrastructure provided by the nominal Isabelle package to automatically derive (in a uniform way) a strong induction principle for this weak version. The derived strong induction principle offers a similar convenience in induction proofs as the traditional approach using weak and strong versions of the definition. From our experience, we conjecture that our technique can be used in many rule and structural induction proofs. 1
A Formalisation Of Weak Normalisation (With Respect To Permutations) Of Sequent Calculus Proofs
, 1999
"... rule). This is also the case for NJ and LJ as defined in this formalisation. This is due to the particular nature of the logics in question, and does not necessarily generalise to other logics. In particular, a formalisation of linear logic would not work in this fashion, and a more complex variable ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
rule). This is also the case for NJ and LJ as defined in this formalisation. This is due to the particular nature of the logics in question, and does not necessarily generalise to other logics. In particular, a formalisation of linear logic would not work in this fashion, and a more complex variablereferencing mechanism would be required. See Section 6 for a further discussion of this problem. Other operations, such as substitutions (sub in Table 2) and weakening, require lift and drop operations as defined in [27] to ensure the correctness of the de Bruijn indexing.
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
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
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.
Nominal Formalisations of Typical SOS Proofs
"... Structural operational semantics (SOS) provides a framework for ascribing semantics to programming languages. This is typically done by stating rules for typing judgements, smallstep transitions and rules for evaluating an expression of the language. Structural inductions over expressions and induc ..."
Abstract
 Add to MetaCart
Structural operational semantics (SOS) provides a framework for ascribing semantics to programming languages. This is typically done by stating rules for typing judgements, smallstep transitions and rules for evaluating an expression of the language. Structural inductions over expressions and inductions over inference rules are thus the most fundamental reasoning techniques employed in SOS. While the SOStechniques are characterised in Plotkin’s seminal notes as “symbolpushing”, programming languages nearly always contain binders and then reasoning is in fact rather subtle. We describe in this paper formalisations of typical proofs in SOS within the Isabelle proof assistant using the nominal datatype package. We show how this package eases the subtleties when reasoning about binders. Key words: structural operational semantics, proof assistants, nominal techniques, Isabelle/HOL “It is the purpose of these notes to develop a simple and direct method for specifying the semantics of programming languages. Very little is required in the way of mathematical background all that will be involved is “symbolpushing ” of one kind or another of the sort which will already be familiar to readers with experience of either the nonnumerical aspects of programming languages or else formal deductive systems of the kind employed in mathematical logic. ” — G. D. Plotkin [10, Page 19] 1