Mathematics and Computation

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

April 8, 2007

On a proof of Cantor’s theorem

Filed under: General, Tutorial — Andrej Bauer @ 21:40

The famous theorem by Cantor states that the cardinality of a powerset `P(A)` is larger than the cardinality of `A`. There are several equivalent formulations, and the one I want to consider is

Theorem (Cantor): There is no onto map `A -> P(A)`.

In this post I would like to analyze the usual proof of Cantor’s theorem and present an insightful reformulation of it which has applications outside set theory. (more…)

January 21, 2007

RZ: a tool for bringing constructive and computable mathematics closer to programming practice

Filed under: Publications, RZ, Talks — Andrej Bauer @ 15:38

With Chris Stone.

Abstract:
Realizability theory is not only a fundamental tool in logic and computability, but also has direct application to the design and implementation of programs: it can produce interfaces for the data structure corresponding to a mathematical theory. Our tool, called RZ, serves as a bridge between the worlds of constructive mathematics and programming. By using the realizability interpretation of constructive mathematics, RZ translates specifications in constructive logic into annotated interface code in Objective Caml. The system supports a rich input language allowing descriptions of complex mathematical structures. RZ does not extract code from proofs, but allows any implementation method, from handwritten code to code extracted from proofs by other tools.

Presented at Computablity in Europe 2007.

Download paper:

Download slides: cie2007-slides.pdf

Download source code from RZ web page.

November 4, 2006

Are small sentences of Peano arithmetic decidable?

Filed under: Computation, General, Logic — Andrej Bauer @ 23:44

Recently there has been a discussion (here, here, here, and here) on the Foundations of Mathematics mailing list about completeness of Peano arithmetic (PA) with respect to “small” sentences. Harvey Friedman made several conjectures of the following kind: “All true small sentences of PA are provable.” He proposed measures of smallness, such as counting the number of distinct variables or restricting the depth of terms. Here are some statistics concerning such statements.

(more…)

August 25, 2006

International Mathematical Olympiad 2006

Filed under: News, Off topic — Andrej Bauer @ 10:38

This year the International Mathematical Olympiad took place in Slovenia. I participated as one of the organizers (problem selection and coordination). It was probably one of the busiest and most exciting times of my life,

(more…)

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…)

March 21, 2006

Interesting higher-order functionals

Filed under: General — Andrej Bauer @ 18:12

Spaces of higher-order functions are fascinating mathematical objects that we do not know enough about. What are they and what is known about them?

(more…)

January 13, 2006

Specifications via Realizability (Dagstuhl)

Filed under: Talks — Andrej Bauer @ 15:37

With Chris Stone.

Presented at: Reliable Implementation of Real Number Algorithms: Theory and Practice, Dagstuhl Seminar 06021.

Abstract: see “Specifications via Realizability (CLASE)”.

Talk notes: rz-dagstuhl.pdf (handwritten notes of the talk with examples of how RZ works)

« Previous PageNext Page »

Powered by WordPress