Results 1  10
of
16
Ott: Effective tool support for the working semanticist
 PROC. ICFP
, 2007
"... It is rare to give a semantic definition of a fullscale programming language, despite the many potential benefits. Partly this is because the available metalanguages for expressing semantics  usually either LATEX for informal mathematics, or the formal mathematics of a proof assistant  make it ..."
Abstract

Cited by 59 (5 self)
 Add to MetaCart
It is rare to give a semantic definition of a fullscale programming language, despite the many potential benefits. Partly this is because the available metalanguages for expressing semantics  usually either LATEX for informal mathematics, or the formal mathematics of a proof assistant  make it much harder than necessary to work with large definitions. We present a metalanguage specifically designed for this problem, and a tool,
A Definitional TwoLevel Approach to Reasoning with HigherOrder Abstract Syntax
 Journal of Automated Reasoning
, 2010
"... Abstract. Combining higherorder abstract syntax and (co)induction in a logical framework is well known to be problematic. Previous work [ACM02] described the implementation of a tool called Hybrid, within Isabelle HOL, syntax, and reasoned about using tactical theorem proving and principles of (co ..."
Abstract

Cited by 24 (4 self)
 Add to MetaCart
(Show Context)
Abstract. Combining higherorder abstract syntax and (co)induction in a logical framework is well known to be problematic. Previous work [ACM02] described the implementation of a tool called Hybrid, within Isabelle HOL, syntax, and reasoned about using tactical theorem proving and principles of (co)induction. Moreover, it is definitional, which guarantees consistency within a classical type theory. The idea is to have a de Bruijn representation of syntax, while offering tools for reasoning about them at the higher level. In this paper we describe how to use it in a multilevel reasoning fashion, similar in spirit to other metalogics such as Linc and Twelf. By explicitly referencing provability in a middle layer called a specification logic, we solve the problem of reasoning by (co)induction in the presence of nonstratifiable hypothetical judgments, which allow very elegant and succinct specifications of object logic inference rules. We first demonstrate the method on a simple example, formally proving type soundness (subject reduction) for a fragment of a pure functional language, using a minimal intuitionistic logic as the specification logic. We then prove an analogous result for a continuationmachine presentation of the operational semantics of the same language, encoded this time in an ordered linear logic that serves as the specification layer. This example demonstrates the ease with which we can incorporate new specification logics, and also illustrates a significantly
CurryStyle Types for Nominal Terms ⋆
"... Abstract. We define a rank 1 polymorphic type system for nominal terms, where typing environments type atoms, variables and function symbols. The interaction between type assumptions for atoms and substitution for variables is subtle: substitution does not avoid capture and so can move an atom into ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
(Show Context)
Abstract. We define a rank 1 polymorphic type system for nominal terms, where typing environments type atoms, variables and function symbols. The interaction between type assumptions for atoms and substitution for variables is subtle: substitution does not avoid capture and so can move an atom into multiple different typing contexts. We give typing rules such that principal types exist and are decidable for a fixed typing environment. αequivalent nominal terms have the same types; a nontrivial result because nominal terms include explicit constructs for renaming atoms. We investigate rule formats to guarantee subject reduction. Our system is in a convenient Currystyle, so the user has no need to explicitly type abstracted atoms.
A mechanized model of the theory of objects
 In 9th IFIP International Conference on Formal Methods for Open ObjectBased Distributed Systems (FMOODS), LNCS
, 2007
"... Abstract. In this paper we present a formalization of Abadi’s and Cardelli’s theory of objects in the interactive theorem prover Isabelle/HOL. Our motivation is to build a mechanized HOLframework for the analysis of a functional calculus for distributed objects. In particular, we present (a) a form ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
Abstract. In this paper we present a formalization of Abadi’s and Cardelli’s theory of objects in the interactive theorem prover Isabelle/HOL. Our motivation is to build a mechanized HOLframework for the analysis of a functional calculus for distributed objects. In particular, we present (a) a formal model of objects and its operational semantics based on de Bruijn indices (b) a parallel reduction relation for objects (c) the proof of confluence for the theory of objects reusing Nipkow’s HOLframework for the lambda calculus. We expect this framework to be highly reusable and allow further development and mechanized proofs of various aspects of object theory, e.g., distribution, aspect orientation, typing. 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.
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 2 (0 self)
 Add to MetaCart
(Show Context)
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.
unknown title
"... Quantifiers in logic and proofsearch using permissivenominal terms and sets ..."
Abstract
 Add to MetaCart
Quantifiers in logic and proofsearch using permissivenominal terms and sets