Results 1 - 10
of
16
Nominal Logic: A First Order Theory of Names and Binding
- Information and Computation
, 2001
"... This paper formalises within first-order 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 142 (15 self)
- Add to MetaCart
This paper formalises within first-order 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 first-order many-sorted logic with equality containing primitives for renaming via name-swapping and for freshness of names, from which a notion of binding can be derived. Its axioms express...
Induction and co-induction in sequent calculus
- Post-proceedings of TYPES 2003, number 3085 in LNCS
, 2003
"... Abstract. Proof search has been used to specify a wide range of computation systems. In order to build a framework for reasoning about such specifications, we make use of a sequent calculus involving induction and co-induction. These proof principles are based on a proof theoretic (rather than set-t ..."
Abstract
-
Cited by 18 (5 self)
- Add to MetaCart
Abstract. Proof search has been used to specify a wide range of computation systems. In order to build a framework for reasoning about such specifications, we make use of a sequent calculus involving induction and co-induction. These proof principles are based on a proof theoretic (rather than set-theoretic) notion of definition [13, 20, 25, 51]. Definitions are akin to (stratified) logic programs, where the left and right rules for defined atoms allow one to view theories as “closed ” or defining fixed points. The use of definitions makes it possible to reason intensionally about syntax, in particular enforcing free equality via unification. We add in a consistent way rules for pre and post fixed points, thus allowing the user to reason inductively and co-inductively about properties of computational system making full use of higher-order abstract syntax. Consistency is guaranteed via cut-elimination, where we give the first, to our knowledge, cut-elimination procedure in the presence of general inductive and co-inductive definitions. 1
Consistency of the Theory of Contexts
, 2001
"... The Theory of Contexts is a type-theoretic axiomatization which has been recently proposed by some of the authors for giving a metalogical account of the fundamental notions of variable and context as they appear in Higher Order Abstract Syntax. In this paper, we prove that this theory is consistent ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
The Theory of Contexts is a type-theoretic axiomatization which has been recently proposed by some of the authors for giving a metalogical account of the fundamental notions of variable and context as they appear in Higher Order Abstract Syntax. In this paper, we prove that this theory is consistent by building a model based on functor categories. By means of a suitable notion of forcing, we prove that this model validates Classical Higher Order Logic, the Theory of Contexts, and also (parametrised) structural induction and recursion principles over contexts. The approach we present in full detail should be useful also for reasoning on other models based on functor categories. Moreover, the construction could be adopted, and possibly generalized, also for validating other theories of names and binders. Contents 1 The object language 4 2 The metalanguage (Framework System #) 6 2.1 Syntax 6 2.2 Typing and logical judgements 7 2.3 Adequacy of the encoding 8 2.4 Remarks on the design of # 9 3 Category-theoretic preliminaries 11 4.1 The ambient categories 4.2 Interpreting types 16 4.3 Interpreting environments 18 4.4 Interpreting the typing judgement of terms 19 4.5 Interpreting logical judgements 21 is a model of # 22 5.1 Forcing 22 5.2 Characterisation of Leibniz equality 23 models logical axioms and rules 26 models the Theory of Contexts 27 6 Recursion 28 6.1 First-order recursion 28 6.2 Higher-order recursion 31 7 Induction 33 7.1 First-order induction 34 7.2 Higher-order induction 37 8 Connections with tripos theory 38 9 Related work 41 9.1 Semantics based on functor categories 41 9.2 Logics for nominal calculi 44 10 Conclusions 45 A Proofs 46 A.1 Proof of Proposition 4.2 46 A.2 Proof of Proposition 4.3 47 A.3 Proof of Theorem 5.1 48 A.4 Proof of...
Multi-Level Meta-Reasoning with Higher Order Abstract Syntax
- Foundations of Software Science and Computation Structures, volume 2620 of Lecture Notes in Computer Science
, 2003
"... Abstract. Combining Higher Order Abstract Syntax (HOAS) and (co)induction is well known to be problematic. In previous work [1] we have described the implementation of a tool called Hybrid, within Isabelle HOL, which allows object logics to be represented using HOAS, and reasoned about using tactica ..."
Abstract
-
Cited by 11 (3 self)
- Add to MetaCart
Abstract. Combining Higher Order Abstract Syntax (HOAS) and (co)induction is well known to be problematic. In previous work [1] we have described the implementation of a tool called Hybrid, within Isabelle HOL, which allows object logics to be represented using HOAS, and reasoned about using tactical theorem proving and principles of (co)induction. Moreover, it is definitional, which guarantees consistency within a classical type theory. In this paper we describe how to use it in a multi-level reasoning fashion, similar in spirit to other meta-logics such F Oλ ∆IN and Twelf. By explicitly referencing provability, we solve the problem of reasoning by (co)induction in presence of non-stratifiable hypothetical judgments, which allow very elegant and succinct specifications. We demonstrate the method by formally verifying the correctness of a compiler for (a fragment) of Mini-ML, following [10]. To further exhibit the flexibility of our system, we modify the target language with a notion of non-well-founded closure, inspired by Milner & Tofte [19] and formally verify via co-induction a subject reduction theorem for this modified language. 1
A Comparison of Formalizations of the Meta-Theory of a Language with Variable Bindings in Isabelle
- Supplemental Proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics
, 2001
"... Abstract. Theorem provers can be used to reason formally about programming languages and there are various general methods for the formalization of variable binding operators. Hence there are choices for the style of formalization of such languages, even within a single theorem prover. The choice of ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Abstract. Theorem provers can be used to reason formally about programming languages and there are various general methods for the formalization of variable binding operators. Hence there are choices for the style of formalization of such languages, even within a single theorem prover. The choice of formalization can affect how easy or difficult it is to do automated reasoning. The aim of this paper is to compare and contrast three formalizations (termed de Bruijn, weak HOAS and full HOAS) of a typical functional programming language. Our contribution is a detailed report on our formalizations, a survey of related work, and a final comparative summary, in which we mention a novel approach to a hybrid de Bruijn/HOAS syntax. 1
A Framework for Typed HOAS and Semantics
, 2003
"... We investigate a framework for representing and reasoning about syntactic and semantic aspects of typed languages with variable binders. ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We investigate a framework for representing and reasoning about syntactic and semantic aspects of typed languages with variable binders.
Ambient Calculus and its Logic in the Calculus of Inductive Constructions
- In Proc. of LFM, ENTCS 70.2, 2002. 161
, 2002
"... The Ambient Calculus has been recently proposed as a model of mobility of agents in a dynamically changing hierarchy of domains. In this paper, we describe the implementation of the theory and metatheory of Ambient Calculus and its modal logic in the Calculus of Inductive Constructions. We take full ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The Ambient Calculus has been recently proposed as a model of mobility of agents in a dynamically changing hierarchy of domains. In this paper, we describe the implementation of the theory and metatheory of Ambient Calculus and its modal logic in the Calculus of Inductive Constructions. We take full advantage of Higher-Order Abstract Syntax, using the Theory of Contexts as a fundamental tool for developing formally the metatheory of the object system. Among others, we have successfully proved a set of fresh renamings properties, and formalized the connection between the Theory of Contexts and Gabbay-Pitts' "new" quantifier. As a feedback, we introduce a new definition of satisfaction for the Ambients logic and derive some of the properties originally assumed as axioms in the Theory of Contexts.
Imperative Object-based Calculi In (Co)Inductive Type Theories
- In Barendregt and Nipkow [2
, 2003
"... We discuss the formalization of Abadi and Cardelli's imp#, a paradigmatic object-based calculus with types and side e#ects, in (Co)Inductive Type Theories. ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We discuss the formalization of Abadi and Cardelli's imp#, a paradigmatic object-based calculus with types and side e#ects, in (Co)Inductive Type Theories.
Higher Order Abstract Syntax in Type Theory
"... We develop a general tool to formalize higher-order languages and reason about them in a proof-tool based on type theory (Coq). A language is specified by its signature, which consists of sets of sort and operation names and typing rules. These rules prescribe the sorts and bindings of each operat ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We develop a general tool to formalize higher-order languages and reason about them in a proof-tool based on type theory (Coq). A language is specified by its signature, which consists of sets of sort and operation names and typing rules. These rules prescribe the sorts and bindings of each operation. An algebra of terms is associated to a signature, using de Bruijn notation. Then a higher-order notation is built on top of the de Bruijn level, so that the user can work with meta-variables instead of de Bruijn indices. We also provide recursion and induction principles formulated directly on the higher-order syntax. This generalizes work on the Hybrid approach to higher-order syntax in Isabelle and our earlier work on a constructive extension to Hybrid formalized in Coq. In particular, a large class of theorems that must be repeated for each object language in Hybrid is done once in our new approach and can be applied directly to each object language.
Comparing Higher-Order Encodings in Logical Frameworks and Tile Logic
, 2001
"... In recent years, logical frameworks and tile logic have been separately proposed by our research groups, respectively in Udine and in Pisa, as suitable metalanguages with higher-order features for encoding and studying nominal calculi. This paper discusses the main features of the two approaches, tr ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
In recent years, logical frameworks and tile logic have been separately proposed by our research groups, respectively in Udine and in Pisa, as suitable metalanguages with higher-order features for encoding and studying nominal calculi. This paper discusses the main features of the two approaches, tracing di#erences and analogies on the basis of two case studies: late #-calculus and lazy simply typed #-calculus.

