Results 1  10
of
14
Nominal Inversion Principles
"... Abstract. When reasoning about inductively defined predicates, such as typing judgements or reduction relations, proofs are often done by a case analysis on the last rule of a derivation. In HOL and other formal frameworks this case analysis involves solving equational constraints on the arguments o ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
Abstract. When reasoning about inductively defined predicates, such as typing judgements or reduction relations, proofs are often done by a case analysis on the last rule of a derivation. In HOL and other formal frameworks this case analysis involves solving equational constraints on the arguments of the inductively defined predicates. This is wellunderstood when the arguments consist of variables and injective termconstructors. However, when alphaequivalence classes are involved, that is when termconstructors are not injective, these equational constraints give rise to annoying variable renamings. In this paper, we show that more convenient inversion principles can be derived where one does not have to deal with explicit variable renamings. An interesting observation is that our result relies on the fact that inductive predicates must satisfy the variable convention compatibility condition, which was introduced to justify the admissibility of Barendregt’s variable convention in rule inductions. 1
Foundational, Compositional (Co)datatypes for HigherOrder Logic  Category Theory Applied to Theorem Proving
"... Higherorder logic (HOL) forms the basis of several popular interactive theorem provers. These follow the definitional approach, reducing highlevel specifications to logical primitives. This also applies to the support for datatype definitions. However, the internal datatype construction used in H ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
Higherorder logic (HOL) forms the basis of several popular interactive theorem provers. These follow the definitional approach, reducing highlevel specifications to logical primitives. This also applies to the support for datatype definitions. However, the internal datatype construction used in HOL4, HOL Light, and Isabelle/HOL is fundamentally noncompositional, limiting its efficiency and flexibility, and it does not cater for codatatypes. We present a fully modular framework for constructing (co)datatypes in HOL, with support for mixed mutual and nested (co)recursion. Mixed (co)recursion enables type definitions involving both datatypes and codatatypes, such as the type of finitely branching trees of possibly infinite depth. Our framework draws heavily from category theory. The key notion is that of a rich type constructor—a functor satisfying specific properties preserved by interesting categorical operations. Our ideas are formalized in Isabelle and implemented as a new definitional package, answering a longstanding user request.
A package for extensible objectoriented data models with an application to imp
 SVV 2006, Computing Research Repository
, 2006
"... with an Application to IMP++ ..."
An Extensible Encoding of Objectoriented Data Models in HOL  with an Application to IMP++
, 2008
"... We present an extensible encoding of objectoriented data models into higherorder logic (HOL). Our encoding is supported by a datatype package that leverages the use of the shallow embedding technique to objectoriented specification and programming languages. The package incrementally compiles an ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
We present an extensible encoding of objectoriented data models into higherorder logic (HOL). Our encoding is supported by a datatype package that leverages the use of the shallow embedding technique to objectoriented specification and programming languages. The package incrementally compiles an objectoriented data model, i. e., a class model, to a theory containing objectuniverses, constructors, accessor functions, coercions (casts) between static types (and providing a foundation for the notion of dynamic types), characteristic sets, and coinductive class invariants. The package is conservative, i. e., all properties are derived entirely from constant definitions, including the constraints over object structures. As an application, we use the package for an objectoriented corelanguage called IMP++, for which we formally prove the correctness of a Hoare logic with respect to a denotational semantics.
Extensible universes for objectoriented data models
 Journal of Automated Reasoning
"... Abstract We present a datatype package that enables the shallow embedding technique to objectoriented specification and programming languages. This datatype package incrementally compiles an objectoriented data model to a theory containing objectuniverses, constructors, accessors functions, coerc ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
Abstract We present a datatype package that enables the shallow embedding technique to objectoriented specification and programming languages. This datatype package incrementally compiles an objectoriented data model to a theory containing objectuniverses, constructors, accessors functions, coercions between dynamic and static types, characteristic sets, their relations reflecting inheritance, and the necessary class invariants. The package is conservative, i. e., all properties are derived entirely from axiomatic definitions. As an application, we use the package for an objectoriented corelanguage called IMP++, for which correctness of a HoareLogic with respect to an operational semantics is proven. 1
Implementation Techniques for Inductive Types in Plastic
 Types for Proofs and Programs, volume 1956 of LNCS
, 2000
"... . In the context of Plastic, a proof assistant for a variant of MartinLof's Logical Framework LF with explicitly typed abstractions, we outline the technique used for implementing inductive types from their declarations. This form of inductive types gives rise to a problem of nonlinear patter ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
. In the context of Plastic, a proof assistant for a variant of MartinLof's Logical Framework LF with explicitly typed abstractions, we outline the technique used for implementing inductive types from their declarations. This form of inductive types gives rise to a problem of nonlinear pattern matching; we propose this match can be ignored in welltyped terms, and outline a proof of this. The paper then explains how the inductive types are realised inside the reduction mechanisms of Plastic, and briefly considers optimisations for inductive types. Key words: type theory, inductive types, LF, implementation. 1 Introduction This paper considers implementation techniques for a particular approach to inductive types in constructive type theory. The inductive types considered are those given in Chapter 9 of [15], in which Luo presents a variant of MartinLof's Logical Framework LF which has explicitly typed abstractions, and a schema for inductive types within this LF which is...
Isabelle’s isabelle’s logics: FOL and ZF
, 2003
"... This manual describes Isabelle’s formalizations of manysorted firstorder logic (FOL) and ZermeloFraenkel set theory (ZF). See the Reference Manual for general Isabelle commands, and Introduction to Isabelle for an overall tutorial. This manual is part of the earlier Isabelle documentation, which ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
This manual describes Isabelle’s formalizations of manysorted firstorder logic (FOL) and ZermeloFraenkel set theory (ZF). See the Reference Manual for general Isabelle commands, and Introduction to Isabelle for an overall tutorial. This manual is part of the earlier Isabelle documentation, which is somewhat superseded by the Isabelle/HOL Tutorial [11]. However, the present document is the only available documentation for Isabelle’s versions of firstorder
Coinductive Verification of Program Optimizations using Similarity Relations
"... Formal verification methods have gained increased importance due to their ability to guarantee system correctness and improve reliability. Nevertheless, the question how proofs are to be formalized in theorem provers is far from being trivial, yet very important as one needs to spend much more time ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Formal verification methods have gained increased importance due to their ability to guarantee system correctness and improve reliability. Nevertheless, the question how proofs are to be formalized in theorem provers is far from being trivial, yet very important as one needs to spend much more time on verification if the formalization was not cleverly chosen. In this paper, we develop and compare two different possibilities to express coinductive proofs in the theorem prover Isabelle/HOL. Coinduction is a proof method that allows for the verification of properties of also nonterminating statetransition systems. Since coinduction is not as widely used as other proof techniques as e.g. induction, there are much fewer “recipes ” available how to formalize corresponding proofs and there are also fewer proof strategies implemented in theorem provers for coinduction. In this paper, we investigate formalizations for coinductive proofs of properties on state transition sequences. In particular, we compare two different possibilities for their formalization and show their equivalence. The first of these two formalizations captures the mathematical intuition, while the second can be used more easily in a theorem prover. We have formally verified the equivalence of these criteria in Isabelle/HOL, thus establishing a coalgebraic verification framework. To demonstrate that our verification framework is suitable for the verification of compiler optimizations, we have introduced three different, rather simple transformations that capture typical problems in the verification of optimizing compilers, even for nonterminating source programs.
Program Abstraction in a HigherOrder Logic Framework
 In Proceedings of Theorem Proving in HigherOrder Logic '98 International Conference. Theorem Proving in HigherOrder Logic '98
, 1998
"... ion in a HigherOrder Logic Framework Marco Benini Sara Kalvala Dirk Nowotka ? Department of Computer Science University of Warwick, Coventry, CV4 7AL, United Kingdom Abstract. We present a hybrid approach to program verification: a higherorder logic, used as a specification language, and a human ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
ion in a HigherOrder Logic Framework Marco Benini Sara Kalvala Dirk Nowotka ? Department of Computer Science University of Warwick, Coventry, CV4 7AL, United Kingdom Abstract. We present a hybrid approach to program verification: a higherorder logic, used as a specification language, and a humandriven proof environment, with a processalgebraic engine to allow the use of process simulation as an abstraction technique. The domain of application is the validation of object code, and our intent is to adapt and mix existing formalisms to make possible the verification of representative programs. In this paper, we describe the logic in question and an underlying semantics given in terms of a process algebra. 1 Introduction Software validation through formal verification has been a topic of much research over the years, but widespread adoption of developed techniques is still elusive. One may attribute this to many factors  two of them being the difficulty in performing the verificat...
Logicfree reasoning in Isabelle/Isar
"... Abstract. Traditionally a rigorous mathematical document consists of a sequence of definition – statement – proof. Taking this basic outline as starting point we investigate how these three categories of text can be represented adequately in the formal language of Isabelle/Isar. Proofs represented i ..."
Abstract
 Add to MetaCart
Abstract. Traditionally a rigorous mathematical document consists of a sequence of definition – statement – proof. Taking this basic outline as starting point we investigate how these three categories of text can be represented adequately in the formal language of Isabelle/Isar. Proofs represented in humanreadable form have been the initial motivation of Isar language design 10 years ago. The principles developed here allow to turn deductions of the Isabelle logical framework into a format that transcends the raw logical calculus, with more direct description of reasoning using pseudonatural language elements. Statements describe the main result of a theorem in an open format as a reasoning scheme, saying that in the context of certain parameters and assumptions certain conclusions can be derived. This idea of turning Isar context elements into rule statements has been recently refined to support the dual form of elimination rules as well. Definitions in their primitive form merely name existing elements of the logical environment, by stating a suitable equation or logical equivalence. Inductive definitions provide a convenient derived principle to describe a new predicate as the closure of given natural deduction rules. Again there is a direct connection to Isar principles, rules stemming from an inductive characterization are immediately available in structured reasoning. All three subcategories benefit from replacing raw logical encodings by native Isar language elements. The overall formality in the presented mathematical text is reduced. Instead of manipulating auxiliary logical connectives and quantifiers, the mathematical concepts are emphasized. 1