Results 1 
6 of
6
Programming in HigherOrder Typed LambdaCalculi
, 1989
"... on Foundations of Computer Science, pages 279282, IEEE, October 1988. [55] J. SteensgaardMadsen. Typed representation of objects by functions. ACM Transactions on Programming Languages and Systems, 11(1):6789, January 1989. 71 [31] [33] [34] [35] Grard Huet. A unification algorithm for ty ..."
Abstract

Cited by 31 (5 self)
 Add to MetaCart
(Show Context)
on Foundations of Computer Science, pages 279282, IEEE, October 1988. [55] J. SteensgaardMadsen. Typed representation of objects by functions. ACM Transactions on Programming Languages and Systems, 11(1):6789, January 1989. 71 [31] [33] [34] [35] Grard Huet. A unification algorithm for typed Acalculus. Theoretical Computer Science, 1:2757, 1975. Grard Huet. A uniform approach to type theory. 1988. Unpublished notes. Grard Huet and Bernard Lang. Proving and applying program transformations expressed with secondorder patterns. Acta Informatica, 11:3155, 1978. Daniel Leivant. Polymorphic type inference. In Proceedings of the loth Annual ACM Symposium on Principles of Programming Languages, ACM, 1983. Daniel Leivant. Reasoning about functional programs and complexity classes associated with type disciplines. In Proccedings of the Twenty Fourth Annual Symposium on the Foundations of Computer Science, pages 160169, IEEE, 1983. Per MartinLSf. Hauptsatz for the intuition
HigherOrder and Modal Logic as a Framework for ExplanationBased Generalization
, 1989
"... Logic programming provides a uniform framework in which all aspects of explanationbased generalization and learning may be defined and carried out, but firstorder Horn logic is not well suited to application domains such as theorem proving or program synthesis where functions and predicates are th ..."
Abstract

Cited by 16 (6 self)
 Add to MetaCart
(Show Context)
Logic programming provides a uniform framework in which all aspects of explanationbased generalization and learning may be defined and carried out, but firstorder Horn logic is not well suited to application domains such as theorem proving or program synthesis where functions and predicates are the objects of computation. We explore the use of a higherorder representation language and extend EBG to a higherorder logic programming language. Variables may now range over functions and predicates, which leads to an expansion of the space of possible generalizations. We address this problem by extending the logic with the modal ⊔ ⊓ operator (indicating necessary truth) which leads to the language λ ⊔ ⊓ Prolog. We develop a metainterpreter realizing EBG for λ ⊔ ⊓ Prolog and give some examples in an expanded version of this extended abstract which is available as a technical report [2]. 1
The Ergo Support System: An integrated set of tools for prototyping integrated environments
 SCHOOL OF COMPUTER SCIENCE, CARNEGIE MELLON UNIVERSITY, PITTSBURGH
, 1988
"... The Ergo Support System (ESS) is an engineering framework for experimentation and prototyping to support the application of formal methods to program development, ranging from program analysis and derivation to prooftheoretic approaches. The ESS is a growing suite of tools that are linked together ..."
Abstract

Cited by 15 (3 self)
 Add to MetaCart
(Show Context)
The Ergo Support System (ESS) is an engineering framework for experimentation and prototyping to support the application of formal methods to program development, ranging from program analysis and derivation to prooftheoretic approaches. The ESS is a growing suite of tools that are linked together by means of a set of abstract interfaces. The principal engineering challenge is the design of abstract interfaces that are semantically rich and yet flexible enough to permit experimentation with a wide variety of formallybased program and proof development paradigms and associated languages. As part of the design of ESS, several abstract interface designs have been developed that provide for more effective component integration while preserving flexibility and the potential for scaling. A benefit of the open architecture approach of ESS is the ability to mix formal and informal approaches in the same environment architecture. The ESS has already been applied in a number of formal methods experiments.
Representing Proof Transformations for Program Optimization
 IN PROCEEDINGS OF THE 12TH INTERNATIONAL CONFERENCE ON AUTOMATED DEDUCTION
, 1994
"... In the proofs as programs methodology a program is derived from a formal constructive proof. Because of the close relationship between proof and program structure, transformations can be applied to proofs rather than to programs in order to improve performance. We describe a method for implementing ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
In the proofs as programs methodology a program is derived from a formal constructive proof. Because of the close relationship between proof and program structure, transformations can be applied to proofs rather than to programs in order to improve performance. We describe a method for implementing transformations of formal proofs and show that it is applicable to the optimization of extracted programs. The method is based on the representation of derived logical rules in Elf, a logic programming language that gives an operational interpretation to the Edinburgh Logical Framework. It results in declarative implementations with a general correctness property that is verified automatically by the Elf type checking algorithm. We illustrate the technique by applying it to the problem of transforming a recursive function definition to obtain a tailrecursive form.
DRAFT IN PREPARATION  DO NOT DISTRIBUTE Principal Investigators:
"... The Ergo Project at Carnegie Mellon University conducts a program of research into the foundations of formal program development. The overall goal of the project is to provide a framework for the development and maintenance of provably correct programs and demonstrate its utility through prototype i ..."
Abstract
 Add to MetaCart
(Show Context)
The Ergo Project at Carnegie Mellon University conducts a program of research into the foundations of formal program development. The overall goal of the project is to provide a framework for the development and maintenance of provably correct programs and demonstrate its utility through prototype implementations and examples. In this report we describe some selected aspects of our research towards this goal. 3
Program Derivation by Proof Transformation
, 1993
"... In the proofsasprograms methodology, verified programs are developed through theoremproving in a constructive logic. Under this approach, the theoremproving process can be regarded as a program derivation process. The merits of this approach to programming are twofold. First, working with proofs ..."
Abstract
 Add to MetaCart
(Show Context)
In the proofsasprograms methodology, verified programs are developed through theoremproving in a constructive logic. Under this approach, the theoremproving process can be regarded as a program derivation process. The merits of this approach to programming are twofold. First, working with proofs instead of programs concentrates the developer's effort on the intellectually difficult part of the development process: understanding, solving, and explaining the solution to a mathematical problem. Second, the proof provides a formal and trustworthy basis for an explanation of the program. This thesis investigates the use of proof transformations as a way to address important concerns in program derivation that are not addressed by theoremproving alone. One difficulty with the proofsasprograms strategy arises from the conflict between elegance and efficiency. A simple, elegant proof may lead to an inefficient program. A more complex proof that corresponds to a more efficient program ma...