Results 1  10
of
15
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 23 (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
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 20 (3 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
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 7 (4 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.
Information retrieval and rendering with MML Query
 Mathematical Knowledge Management, MKM’06, number 4108 in LNAI
, 2006
"... ..."
(Show Context)
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 5 (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
"... ..."
Abstract CATS 2004 Preliminary Version Towards a Readable Formalisation of Category Theory
"... ..."
(Show Context)
Improving the Usability of HOL through Controlled Automation Tactics
"... Abstract. This paper introduces the concept of controlled automation as a balanced medium between highlevel automated reasoning and lowlevel primitive tactics in HOL. We created a new tactic that subsumes many existing lowlevel tactics for logical operations and three new tactics that simplify co ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. This paper introduces the concept of controlled automation as a balanced medium between highlevel automated reasoning and lowlevel primitive tactics in HOL. We created a new tactic that subsumes many existing lowlevel tactics for logical operations and three new tactics that simplify common uses of term rewriting: definition expansion, simplification, and equational rewriting. To implement the tactics, we extended HOL with a facility to label assumptions and operate uniformly on both goals and assumptions. We select automatically and predictably which lowlevel tactic to apply by examining the structure of the selected assumption or goal. A simple and uniform set of hints enable users to provide the minimal information needed to guide the tactics. We performed two case studies and achieved a 60 % reduction in the number of unique tactics used. 1