Results 11  20
of
106
AlgorithmSupported Mathematical Theory Exploration: A Personal View and Strategy
, 2004
"... We present a personal view and strategy for algorithmsupported mathematical theory exploration and draw some conclusions for the desirable functionality of future mathematical software systems. The main points of emphasis are: The use of schemes for bottomup mathematical invention, the algorit ..."
Abstract

Cited by 18 (5 self)
 Add to MetaCart
We present a personal view and strategy for algorithmsupported mathematical theory exploration and draw some conclusions for the desirable functionality of future mathematical software systems. The main points of emphasis are: The use of schemes for bottomup mathematical invention, the algorithmic generation of conjectures from failing proofs for topdown mathematical invention, and the possibility to program new reasoners within the logic on which the reasoners work ("metaprogramming").
Toward an objectoriented structure for mathematical text
 MATHEMATICAL KNOWLEDGE MANAGEMENT, 4TH INT’L CONF., PROCEEDINGS. VOLUME 3863 OF LECTURE NOTES IN ARTIFICIAL INTELLIGENCE
, 2006
"... Computerizing mathematical texts to allow software access to some or all of the texts ’ semantic content is a long and tedious process that currently requires much expertise. We believe it is useful to support computerization that adds some structural and semantic information, but does not require j ..."
Abstract

Cited by 18 (12 self)
 Add to MetaCart
(Show Context)
Computerizing mathematical texts to allow software access to some or all of the texts ’ semantic content is a long and tedious process that currently requires much expertise. We believe it is useful to support computerization that adds some structural and semantic information, but does not require jumping directly from the wordprocessing level (e.g., L ATEX) to full formalization (e.g., Mizar, Coq, etc.). Although some existing mathematical languages are aimed at this middle ground (e.g., MathML, OpenMath, OMDoc), we believe they miss features needed to capture some important aspects of mathematical texts, especially the portion written with natural language. For this reason, we have been developing MathLang, a language for representing mathematical texts that has weak type checking and support for the special mathematical use of natural language. MathLang is currently aimed at only capturing the essential grammatical and binding structure of mathematical text without requiring full formalization. The development of MathLang is directly driven by experience encoding real mathematical texts. Based on this experience, this paper presents the changes that yield our latest version of MathLang. We have restructured and simplified the core of the language, replaced our old notion of “context” by a new system of blocks and local scoping, and made other changes. Furthermore, we have enhanced our support for the mathematical use of nouns and adjectives with objectoriented features so that nouns now correspond to classes, and adjectives to mixins.
The Early Search for Tractable Ways of Reasoning About Programs
 IEEE Annals of the History of Computing
, 2003
"... This paper traces the important steps in the history up to around 1990 of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satisfies its specifi ..."
Abstract

Cited by 17 (2 self)
 Add to MetaCart
This paper traces the important steps in the history up to around 1990 of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satisfies its specification (or that two programs were equivalent). Over time it became clear that post facto verification is only practical for small programs and attention turned to verification methods which support the development of programs; for larger programs it is necessary to exploit a notation of compositionality. Coping with concurrent algorithms is much more challenging  this and other extensions are considered briefly. The main thesis of this paper is that the idea of reasoning about programs has been around since they were first written; the search has been to find tractable methods.
A unified approach to Type Theory through a refined λcalculus
, 1994
"... In the area of foundations of mathematics and computer science, three related topics dominate. These are calculus, type theory and logic. ..."
Abstract

Cited by 14 (13 self)
 Add to MetaCart
In the area of foundations of mathematics and computer science, three related topics dominate. These are calculus, type theory and logic.
Proof Style
 University of Cambridge Computer Laboratory
, 1997
"... We are concerned with how to communicate a mathematical proof to a computer theorem prover. This can be done in many ways, while allowing the machine to generate a completely formal proof object. The most obvious choice is the amount of guidance required from the user, or from the machine perspe ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
We are concerned with how to communicate a mathematical proof to a computer theorem prover. This can be done in many ways, while allowing the machine to generate a completely formal proof object. The most obvious choice is the amount of guidance required from the user, or from the machine perspective, the degree of automation provided. But another important consideration, which we consider particularly significant, is the bias towards a `procedural' or `declarative' proof style. We will explore this choice in depth, and discuss the strengths and weaknesses of declarative and procedural styles for proofs in pure mathematics and for verification applications. We conclude with a brief summary of our own experiments in trying to combine both approaches. This is the text accompanying my invited talk at the European BRA Types annual meeting in Aussois. This talk was given on the 16th of December 1996, and the present text has been slightly modified in the light of some of the subs...
Telescopic mappings in typed lambda calculus
 Information and Computation
, 1991
"... The paper develops notation for strings of abstracters in typed lambda calculus, and shows how to treat them more or less as single abstracters. 0 1991 Academic Press. Inc. 1. ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
The paper develops notation for strings of abstracters in typed lambda calculus, and shows how to treat them more or less as single abstracters. 0 1991 Academic Press. Inc. 1.
Linear Contexts and the Sharing Functor: Techniques for Symbolic Computation
 in « Thirty Five Years of Automating Mathematics
, 2003
"... We present in this paper two design issues concerning fundamental representation structures for symbolic and logic computations. The first one concerns structured editing, or more generally the possibly destructive update of treelike datastructures of inductive types. Instead of the standard imple ..."
Abstract

Cited by 13 (3 self)
 Add to MetaCart
(Show Context)
We present in this paper two design issues concerning fundamental representation structures for symbolic and logic computations. The first one concerns structured editing, or more generally the possibly destructive update of treelike datastructures of inductive types. Instead of the standard implementation of mutable data structures containing references, we advocate the zipper technology, fully applicative. This may be considered a disciplined use of pointer reversal techniques. We argue that zippers, i.e. unary contexts generalizing stacks, are concrete representations of linear functions on algebraic data types. The second method is a uniform sharing functor, which is a variation on the traditional technique of hashing, but controling the indexing function on the client side rather than on the server side, which allows the finetuning of bucket balancing, taking into account specific statistical properties of the application data. Such techniques are of general interest for symbolic computation applications such as structure editors, proof assistants, algebraic computation systems, and computational linguistics platforms.
Predicate logic with sequence variables and sequence function symbols
 Proc. of the 3rd Int. Conference on Mathematical Knowledge Management. Vol. 3119 of LNCS
, 2004
"... Abstract. We describe an extension of firstorder logic with sequence variables and sequence functions. We define syntax, semantics and inference system for the extension so that Completeness, Compactness, LöwenheimSkolem, and Model Existence theorems remain valid. The obtained logic can be encoded ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
(Show Context)
Abstract. We describe an extension of firstorder logic with sequence variables and sequence functions. We define syntax, semantics and inference system for the extension so that Completeness, Compactness, LöwenheimSkolem, and Model Existence theorems remain valid. The obtained logic can be encoded as a special ordersorted firstorder theory. We also define an inductive theory with sequence variables and formulate induction rules. The calculus forms a basis for the topdown systematic theory exploration paradigm. 1
On the Search for Tractable Ways of Reasoning about Programs
, 2001
"... This paper traces the important steps in the history up to around 1990 of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satifies its specific ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
This paper traces the important steps in the history up to around 1990 of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satifies its specification (or that two programs were equivalent). Over time it has become clear that post facto verification is only practical for small programs and attention turned to verification methods which support the development of programs; for larger programs it is necesary to exploit a notion of composability.
Refining the Barendregt Cube using Parameters
, 2001
"... The Barendregt Cube (introduced in [3]) is a framework in which eight important typed calculi are described in a uniform way. Moreover, many type systems (like Automath [18], LF [11], ML [17], and system F [10]) can be related to one of these eight systems. Furthermore, via the propositionsastype ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
The Barendregt Cube (introduced in [3]) is a framework in which eight important typed calculi are described in a uniform way. Moreover, many type systems (like Automath [18], LF [11], ML [17], and system F [10]) can be related to one of these eight systems. Furthermore, via the propositionsastypes principle, many logical systems can be described in the Barendregt Cube as well (see for instance [9]). However, there are important systems (including Automath, LF and ML) that cannot be adequately placed in the Barendregt Cube or in the larger framework of Pure Type Systems. In this paper we add a parameter mechanism to the systems of the Barendregt Cube. In doing so, we obtain a re nement of the Cube. In this re ned Barendregt Cube, systems like Automath, LF, and ML can be described more naturally and accurately than in the original Cube.