Results 1 -
6 of
6
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 20 (12 self)
- Add to MetaCart
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 9 (1 self)
- Add to MetaCart
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
Information retrieval and rendering with MML Query
- Proc. of MKM 2006, Lecture Notes in Artificial Intelligence 4108
, 2006
"... Abstract. Mizar, a proof-checking system, is used to build the Mizar Mathematical Library (MML). MML Query is a semantics-based tool for managing the mathematical knowledge in Mizar including searching, browsing and presentation of the evolving MML content. The tool is becoming widely used as an aid ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Abstract. Mizar, a proof-checking system, is used to build the Mizar Mathematical Library (MML). MML Query is a semantics-based tool for managing the mathematical knowledge in Mizar including searching, browsing and presentation of the evolving MML content. The tool is becoming widely used as an aid for Mizar authors and plays an essential role in the ongoing reorganization of MML. We present new features of MML Query implemented in the third release and describe the possibilities offered by them. 1
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 Martin-Lö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 t ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
The open calculus of constructions integrates key features of Martin-Lö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 higher-order style. By having equational logic and rewriting logic as executable sublogics we preserve the advantages of a first-order semantic and logical framework and especially target applications involving symbolic computation and symbolic execution of nondeterministic and concurrent systems.
Computer Proofs about Transitive Closure
- in International Joint Conference on Automated Reasoning, IJCAR-2001 Short Papers
, 2001
"... As a part of ongoing research on automated reasoning in set theory, we focus here on an example of a computer proof that involves a recursive definition. ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
As a part of ongoing research on automated reasoning in set theory, we focus here on an example of a computer proof that involves a recursive definition.
Adapting Functional Programs to Higher-Order Logic
"... Abstract. Higher-order 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 1 (0 self)
- Add to MetaCart
Abstract. Higher-order 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.

