Results 1  10
of
16
An integrated proof language for imperative programs
 In PLDI’09
"... We present an integrated proof language for guiding the actions of multiple reasoning systems as they work together to prove complex correctness properties of imperative programs. The language operates in the context of a program verification system that uses multiple reasoning systems to discharge ..."
Abstract

Cited by 28 (5 self)
 Add to MetaCart
(Show Context)
We present an integrated proof language for guiding the actions of multiple reasoning systems as they work together to prove complex correctness properties of imperative programs. The language operates in the context of a program verification system that uses multiple reasoning systems to discharge generated proof obligations. It is designed to 1) enable developers to resolve key choice points in complex program correctness proofs, thereby enabling automated reasoning systems to successfully prove the desired correctness properties; 2) allow developers to identify key lemmas for the reasoning systems to prove, thereby guiding the reasoning systems to find an effective proof decomposition; 3) enable multiple reasoning systems to work together productively to prove a single correctness property by providing a mechanism that developers can use to divide the property into lemmas, each of which is suitable for
Flexible encoding of mathematics on the computer
 In MKM 2004, volume 3119 of LNCS
, 2004
"... Abstract. This paper reports on refinements and extensions to the MathLang framework that add substantial support for natural language text. We show how the extended framework supports multiple views of mathematical texts, including natural language views using the exact text that the mathematician ..."
Abstract

Cited by 24 (13 self)
 Add to MetaCart
(Show Context)
Abstract. This paper reports on refinements and extensions to the MathLang framework that add substantial support for natural language text. We show how the extended framework supports multiple views of mathematical texts, including natural language views using the exact text that the mathematician wants to use. Thus, MathLang now supports the ability to capture the essential mathematical structure of mathematics written using natural language text. We show examples of how arbitrary mathematical text can be encoded in MathLang without needing to change any of the words or symbols of the texts or their order. In particular, we show the encoding of a theorem and its proof that has been used by Wiedijk for comparing many theorem prover representations of mathematics, namely the irrationality of √ 2 (originally due to Pythagoras). We encode a 1960 version by Hardy and Wright, and a more recent version by Barendregt. 1 On the way to a mathematical vernacular for computers Mathematicians now use computer software for a variety of tasks: typing mathematical texts, performing calculation, analyzing theories, verifying proofs. Software tools like
Mathematical method and proof
"... Abstract. On a traditional view, the primary role of a mathematical proof is to warrant the truth of the resulting theorem. This view fails to explain why it is very often the case that a new proof of a theorem is deemed important. Three case studies from elementary arithmetic show, informally, that ..."
Abstract

Cited by 11 (6 self)
 Add to MetaCart
(Show Context)
Abstract. On a traditional view, the primary role of a mathematical proof is to warrant the truth of the resulting theorem. This view fails to explain why it is very often the case that a new proof of a theorem is deemed important. Three case studies from elementary arithmetic show, informally, that there are many criteria by which ordinary proofs are valued. I argue that at least some of these criteria depend on the methods of inference the proofs employ, and that standard models of formal deduction are not wellequipped to support such evaluations. I discuss a model of proof that is used in the automated deduction community, and show that this model does better in that respect.
The Open Calculus of Constructions: An Equational Type Theory with Dependent Types for Programming, Specification, and Interactive Theorem Proving
"... The open calculus of constructions integrates key features of MartinLöf's type theory, the calculus of constructions, Membership Equational Logic, and Rewriting Logic into a single uniform language. The two key ingredients are dependent function types and conditional rewriting modulo equatio ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The open calculus of constructions integrates key features of MartinLöf's type theory, the calculus of constructions, Membership Equational Logic, and Rewriting Logic into a single uniform language. The two key ingredients are dependent function types and conditional rewriting modulo equational theories. We explore the open calculus of constructions as a uniform framework for programming, specification and interactive verification in an equational higherorder style. By having equational logic and rewriting logic as executable sublogics we preserve the advantages of a firstorder semantic and logical framework and especially target applications involving symbolic computation and symbolic execution of nondeterministic and concurrent systems.
Adapting Functional Programs to HigherOrder Logic
"... Abstract. Higherorder logic proof systems combine functional programming with logic, providing functional programmers with a comfortable setting for the formalization of programs, specifications, and proofs. However, a possibly unfamiliar aspect of working in such an environment is that formally es ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
Abstract. Higherorder logic proof systems combine functional programming with logic, providing functional programmers with a comfortable setting for the formalization of programs, specifications, and proofs. However, a possibly unfamiliar aspect of working in such an environment is that formally establishing program termination is necessary. In many cases, termination can be automatically proved, but there are useful programs that diverge and others that always terminate but have difficult termination proofs. We discuss techniques that support the expression of such programs as logical functions. 1.
Discovering Theorems using GOEDEL: A Case Study
"... Combining an interactive symbolic manipulation program with a theorem prover allows one to discover theorems as well to prove them. The specific focus in this paper is on illustrating how to use the GOEDEL program, a Mathematica implementation of Gödel's algorithm for class formation, to ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Combining an interactive symbolic manipulation program with a theorem prover allows one to discover theorems as well to prove them. The specific focus in this paper is on illustrating how to use the GOEDEL program, a Mathematica implementation of Gödel's algorithm for class formation, to help discover theorems about sets satisfying some property hereditarily. Similar techniques are applicable to other topics in set theory. Formal proofs of many of these theorems have been obtained using McCune's first order automated reasoning program Otter.
Computer Proofs about Transitive Closure
 in International Joint Conference on Automated Reasoning, IJCAR2001 Short Papers
, 2001
"... ..."
Towards a Mizar Mathematical Library in OMDoc
"... Abstract. Mizar is one of largest libraries of formalized mathematics. The language of the library is highly optimized for authoring by humans. Like in natural languages, the meaning of an expression is influenced by its (mathematical) context in a way that is natural to humans, but hard to specify ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. Mizar is one of largest libraries of formalized mathematics. The language of the library is highly optimized for authoring by humans. Like in natural languages, the meaning of an expression is influenced by its (mathematical) context in a way that is natural to humans, but hard to specify for machine manipulation. From this point of view, it may be considered as locked up in an arcane file format. Indeed, the Mizar system itself is currently the only system that can reliably operate on the Mizar library. This paper presents an experiment of using the Mizar system to transform the Mizar library into the OMDoc format (Open Mathematical Documents), an XMLbased representation format for mathematical knowledge that is geared towards making formula structure and context dependencies explicit. We expect the result of this experiment: an OMDoc version of the Mizar library to enhance system support for formal mathematical libraries. 1
Acknowledgments
"... not yet defended Marco Caminati. A simplified framework for firstorder languages and its formalization in Mizar. ..."
Abstract
 Add to MetaCart
not yet defended Marco Caminati. A simplified framework for firstorder languages and its formalization in Mizar.