Results 1 -
3 of
3
Polytypic Proof Construction
, 1999
"... . This paper deals with formalizations and verifications in type theory that are abstracted with respect to a class of datatypes; i.e polytypic constructions. The main advantage of these developments are that they can not only be used to define functions in a generic way but also to formally st ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
. This paper deals with formalizations and verifications in type theory that are abstracted with respect to a class of datatypes; i.e polytypic constructions. The main advantage of these developments are that they can not only be used to define functions in a generic way but also to formally state polytypic theorems and to synthesize polytypic proof objects in a formal way. This opens the door to mechanically proving many useful facts about large classes of datatypes once and for all. 1 Introduction It is a major challenge to design libraries for theorem proving systems that are both sufficiently complete and relatively easy to use in a wide range of applications (see e.g. [6, 26]). A library for abstract datatypes, in particular, is an essential component of every proof development system. The libraries of the Coq [1] and the Lego [13] system, for example, include a number of functions, theorems, and proofs for common datatypes like natural numbers or polymorphic lists. In th...
Formalization and Reasoning in a Reflective Architecture
, 1995
"... This paper is concerned with developing a reflective architecture for formalizing and reasoning about entities that occur in the process of software development, such as specifications, theorems, programs, and proofs. The starting point is a syntactic extension of the type theory ECC . An encoding o ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper is concerned with developing a reflective architecture for formalizing and reasoning about entities that occur in the process of software development, such as specifications, theorems, programs, and proofs. The starting point is a syntactic extension of the type theory ECC . An encoding of this object calculus within itself comprises the meta-level, and reflection principles are provided for switching between di#erent levels. These reflection principles are used to mix object- and meta-level reasoning, to generate "standard" units by executing meta-operators, and to apply formal tactics that allow for abstraction from the base logic. 1 Introduction Formalizing artifacts of software development and software engineering activities that produce these artifacts is, according to [2], a central issue of # Proc. of the IJCAI'95 Workshop "On Reflection and Meta Level Architecture and their Application in AI". Editors: M. Ibrahim, P. Cointe, F. Cummins, F. Giunchiglia, and J. Male...
Construction and Deduction Methods for the Formal Development of Software
- In Broy and Jahnichen [2
, 1995
"... . In this paper we present an approach towards a framework based on the type theory ECC (Extended Calculus of Constructions) in which specifications, programs and operators for modular development by stepwise refinement can be formally described and reasoned about. We demonstrate how generic sof ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
. In this paper we present an approach towards a framework based on the type theory ECC (Extended Calculus of Constructions) in which specifications, programs and operators for modular development by stepwise refinement can be formally described and reasoned about. We demonstrate how generic software development steps can be expressed as higher-order functions and how proofs about their asserted effects can be carried out in the underlying logical calculus. For formalizing transformations that require syntactic manipulation of objects, we introduce a two-level system combining a meta-level and an object level and show how to express and reason about transformations that faithfully represent object-level operators. 1 Introduction Modern software engineering regards software development as an evolutionary process [Wir95, BP81]. One view of this process is that, starting from abstract, high-level requirement specifications, a series of refinement or implementation steps is app...

