Mathematics and Computation

January 31, 2008

A constructive theory of domains suitable for implementation

Filed under: Constructive math, Publications, RZ — Andrej Bauer @ 12:50

With Iztok Kavkler.

Abstract: We formulate a predicative, constructive theory of continuous domains whose realizability interpretation gives a practical implementation of continuous ω-chain complete posets and continuous maps between them. We apply the theory to implementation of the interval domain and exact real numbers.

Download: constructive-domains.pdf

September 18, 2007

The Role of the Interval Domain in Modern Exact Real Arithmetic

Filed under: Computation, Constructive math, RZ, Talks — Andrej Bauer @ 07:39

With Iztok Kavkler.

Abstract: The interval domain was proposed by Dana Scott as a domain-theoretic model for real numbers. It is a successful theoretical idea which also inspired a number of computational models for real numbers. However, current state-of-the-art implementations of real numbers, e.g., Mueller’s iRRAM and Lambov’s RealLib, do not seem to be based on the interval domain. In fact, their authors have observed that domain-theoretic concepts such as monotonicity of functions hinder efficiency of computation.

I will review the data structures and algorithms that are used in modern implementations of exact real arithmetic. They provide important insights, but some questions remain about what theoretical models support them, and how we can show them to be correct. It turns out that the correctness is not always clear, and that the good old interval domain still has a few tricks to offer.

Download slides: domains8-slides.pdf

May 24, 2007

Synthetic Computability (MFPS XXIII Tutorial)

Filed under: Constructive math, Synthetic computability, Talks, Tutorial — Andrej Bauer @ 12:19

A tutorial presented at the Mathematical Foundations of Programming Semantics XXIII Tutorial Day.
(more…)

May 22, 2007

Metric Spaces in Synthetic Topology

Filed under: Constructive math, Talks — Andrej Bauer @ 16:09

With Davorin Lešnik.

Abstract:
We investigate the relationship between constructive theory of metric spaces and synthetic topology. Connections between these are established by requiring a relationship to exist between the intrinsic and the metric topology of a space. We propose a non-classical axiom which has several desirable consequences, e.g., that all maps between separable metric spaces are continuous in the sense of metrics, and that, up to topological equivalence, a set can be equipped with at most one metric which makes it complete and separable.

Presented at: 3rd Workshop on Formal Topology

Download slides: 3wft.pdf

April 12, 2007

Implementing real numbers with RZ

Filed under: Computation, Constructive math, Publications, RZ, Talks — Andrej Bauer @ 04:22

With Iztok Kavkler.

Abstract: RZ is a tool which translates axiomatizations of mathematical structures to program specifications using the realizability interpretation of logic. This helps programmers correctly implement data structures for computable mathematics. RZ does not prescribe a particular method of implementation, but allows programmers to write efficient code by hand, or to extract trusted code from formal proofs, if they so desire. We used this methodology to axiomatize real numbers and implemented the specification computed by RZ. The axiomatization is the standard domain-theoretic construction of reals as the maximal elements of the interval domain, while the implementation closely follows current state-of-the-art implementations of exact real arithmetic. Our results shows not only that the theory and practice of computable mathematics can coexist, but also that they work together harmoniously.

Presented at Computability and Complexity in Analysis 2007.

Download paper: rzreals.pdf

Download slides: cca2007-slides.pdf

August 15, 2006

Continuity Begets Continuity (Frauenwörth slides)

Filed under: Constructive math, Talks — Andrej Bauer @ 10:36

With Alex Simpson.

Abstract: We present a constructive meta-theorem about sequential continuity which allows us to conclude from a constructive proof of existence of a function between complete metric spaces satisfying a given system of (functional) equations that there also exists a sequentially continuous function satisfying the system.

Presented at: Trends in Constructive mathematics, Frauenwörth am Chimsee, Germany, June 2006.

Download slides: continuity_begets_continuity_bavaria_slides.pdf

April 25, 2006

König’s Lemma and the Kleene Tree

Filed under: Computation, Constructive math, Publications, Tutorial — Andrej Bauer @ 17:06

For the benefit of the topology seminar audience at the math department of University of Ljubljana, I have written a self-contained explanation of the Kleene tree, which is an interesting object in computability theory. For the benefit of the rest of the planet, I am publishing it here.
(more…)

March 27, 2006

Sometimes all functions are continuous

Filed under: Computation, Constructive math, Tutorial — Andrej Bauer @ 16:30

You may have heard at times that there are mathematicians who think that all functions are continuous. One way of explaining this is to show that all computable functions are continuous. The point not appreciated by many (even experts) is that the truth of this claim depends on what programming language we use.
(more…)

May 16, 2005

How many is two?

Filed under: Constructive math, Logic, Tutorial — Andrej Bauer @ 00:07

In constructive mathematics even very small sets can be quite a bit more interesting than in classical mathematics. Since you will not believe me that sets with at most one element are very interesting, let us look at the set of truth values, which has “two” elements.

(more…)

May 13, 2005

The Law of Excluded Middle

Filed under: Constructive math, Tutorial — Andrej Bauer @ 11:35

Ordinary mathematicians usually posses a small amount of knowledge about logic. They know their logic is classical because they believe in the Law of Excluded Middle (LEM):

For every proposition `p`, either `p` or `not p` holds.

To many this is a self-evident truth. Therefore they cannot understand why someone would reject such a law, and a useful one at that, since many neat proofs depend on it. An equivalent law of logic is reductio ad absurdum or proof by contradiction:

For every proposition `p`, if `not p` does not hold, then `p` holds.

Constructive mathematicians do indeed reject LEM. But this does not mean they accept its negation! Unfortunately, many ordinary mathematicians seem to think precisely that, and so naturally they conclude that constructive mathematics is garbage. In fact, both classical and constructive mathematics prove quite easily that the negation of LEM is false. So what do constructive mathematicians believe?

(more…)

Powered by WordPress