Say. Yeah.
I think I was lost in this building 33 years ago. Maybe, maybe a little bit more than that.
So I said I would talk a little bit about computation, the future of mathematics,
I guess that I have somewhat unwittingly over the years become probably the world's leading purveyor of ways
that mathematics gets done at a practical level in the world with two main things Mathematica and WolframAlpha.
Maybe I'll talk a little bit about those,
and I'll also talk about some of the the thing that I was the reason I originally created Mathematica for myself,
which was to have a mechanism for advancing various directions in science, which turn out in the end to have quite a bit to say about mathematics.
I think. So perhaps I should I suppose I should give the, the basic introduction to Wolfram Alpha here,
the sort of the concept of Wolfram Alpha has been to, to try to, to take sort of the knowledge that exists in the world and as far as possible,
make it computable in the sense that sort of the goal is if there's something that you could find an expert to answer,
if you if you had a question which some expert could answer on the basis of knowledge that exists in the world,
try and make it automatic to have that happen. So, you know, a type of question you might ask is, you know, what's two plus two?
And hopefully this is a good way to check that everything is connected.
This is a bad sign. That's not what's happening.
Um, I thought the network was working here. This is a very bad sign.
I can always use Mathematica, which is purely local.
Yes, yes. But less humans can do that faster than this.
Okay, let's see what's going on here. Oh, dear.
Well, uh, well.
Okay. Do I have to go back and type in? Hmm.
Okay, well, I was thinking this a little bit nicely debugged.
Okay. Well, okay. But it looks like why my wife I should be off.
Because it's connected to a wire here. Willing to put.
You know, that's what I want is for wi fi to be off.
Because it's supposed to be using. Well, okay. Oh, dear.
Okay. CPA should work.
Did it do? Okay. This was working just moments ago.
Well, all right, I'll talk about.
Let me talk about some things that don't require saying nothing about that.
It's a shame. Well, we'll look at some things that do it. Passing WolframAlpha later.
Let's talk. Okay.
Maybe let me talk a little bit about some kind of direction in science that I've been interested in for a long time that was sort of helped by.
But it's probably not going to work because.
Because of that. Let's see. You know, know.
I mean, while you go on, I don't think it's a good idea because you never had set up the.
I think it's more likely to. Thank you, though. Okay.
Let's, let's, um. Uh. Okay.
About sort of directions in science. So one of the things that, that so long ago I used to work on particle physics and I got interested in,
in questions about when I was in Oxford, actually,
I got interested in questions about how particle physics relates to things like cosmology and how the universe went
from what appeared to be a sort of disorganised big bang state to the kind of complicated state that it's in today.
And I was interested in how things like thermodynamics would or would not explain what was going on there.
And that kind of led me eventually to the question of, well, how do complicated things get to happen in the world, in nature and so on, anyway?
And if we look at sort of the history of science for the last few hundred years,
kind of the dominant the biggest thing that happened was people realised about 300 years ago that you
could use math to understand things about the natural world and this was sort of the whole Newton,
Galileo, etc. adventure that was very successful in letting one model all sorts of things about the natural world,
like motion of planets, like electrodynamics, like all these kinds of things.
But it was pretty clear, you know, 30 years ago, something now that while that had been very successful for lots of purposes,
there were still lots of things in nature that we hadn't successfully explained using using mathematics or using the methods that we had available.
So I got interested in the question of So how could we generalise? What math had been so successful at doing in being able to model the natural world?
What was the sort of more general category of thing that was like mathematics, but allowed a sort of broader class of models and so on.
And so what I realised at the time was that that we did have a sort of a way of thinking about things more general in mathematics,
and that had to do with things like computer programs because you know,
if you expect to make a model of something in nature or anywhere for that matter, the thing better be governed by some kind of definite rules.
The question is, how should you represent those rules?
Should those rules be represented by, you know, differential equations and exponentials and things like that?
Or should they be represented by some in some more general form?
And so what one realised is that, well we can use things like computer programs to represent sort of general rules for how things might, might behave.
And so then that got me into the question of, okay,
so let's say we imagine that we're going to use things like programs to represent the natural world.
What kinds of programs might be relevant to that?
Well, the programs we're used to having, programs that we specifically write for particular purposes like,
you know, Wolfram Alpha is now 50 million lines of Mathematica Code.
And Mathematica is, I don't know, about 20 million lines of code itself.
Those are big, complicated programs. But but what programs that nature is using to do what it does be like?
So I got me into the sort of basic science question of, so what, what's, what is the space of all possible programs look like?
What happens if we sort of imagine enumerating programs, starting with sort of the simplest imaginable program to see what they do?
Well, so, for example, if we make this work. Come on.
Something has to work. Let me see.
Oh, no. Oh, bad. One second.
If this doesn't work, I'm really going to be upset. Okay. Well, I'm doing horribly here.
It doesn't make sense. Okay, I got I got to make.
I cannot describe this without pictures, so I have to make pictures work somehow.
All right, let's. That's.
Not. Oh, that's a very bad sign of a very bad.
And that is probably why. Okay.
This is a combination of the network not working. Oh, dear.
Okay. Just a minute. So.
Oh, come on. Oh. Okay.
But is that a sign that. Okay.
There we go. Okay. So anyways, so we're thinking about simple programs that sort of exist.
If you just start enumerating programs and seeing what sort of the simplest possible ones are and what they do.
So this is an example of an extremely simple program. It's a cellular automaton.
It consists just of a line of cells.
Each cell is either black or white, and then at each step, the colour of each cell is determined by a rule that in this particular case just says,
look at the cell immediately above me and to my immediately above me, to my left and right.
And if any one of those cells is black, make the cell itself be black on the next step.
So you start off from one black cell and that's the pattern of behaviour that you got.
Now if you go on a little bit longer you can, you can kind of see that,
that behaviour here and you can represent that rule essentially the program that's being run here by that little icon at the bottom there.
And so simple rules, simple program starting off from just one black cell, you've got a simple pattern of behaviour.
So you might think, well that must always be what happens. Let's try some other rules.
So here's another possible rule for for what happens here.
Now we've changed one bit in the in the program. And now instead of just getting a uniform black pattern, we get a checkerboard.
Okay, well, let's go on, let's change another bit. And the program is what we get in this case.
You start off from one black cell and you've got this kind of nested pattern.
Actually, you can understand this particular case in terms of sort of traditional math.
This is basically binomial coefficients, mod two, if you figure out what's what's going on in the rules there,
and if you let it run for a bit longer, you'll make this nice, very intricate, but nevertheless very regular nested pattern.
So at this point, we might conclude that there's some theorem here that if the rule is simple enough,
then the behaviour must be somehow correspondingly simple. But that would not be true.
And in fact you can just do the experiment which I did ages ago, and it's now kind of trivial to do with Mathematica.
I've just looking at all possible rules of the general type that we're dealing with here.
Black and white cells nearest neighbours. Just ask What happens when you run each of those possible rules?
You can represent the rules by some number. That's just the the decimal version of the binary bits for for the different outcomes.
And what you see is all sorts of different kinds of behaviour.
Most of the time what happens is pretty simple, but sometimes something more complicated happens.
And my all time favourite example is this Rule 30, and if we run that one a little bit longer, here's what it does.
So we start off from just one black cell. We run that rule at the bottom there, and we get this kind of slightly complicated looking pattern.
If we run it for a bit longer, this is what it does.
And you see there's some regularity over on the left, but for many purposes this looks pretty complicated and quite random actually.
For example, if you look at the centre column of cells in this particular system that for all practical purposes,
that centre column of cells seems to be completely random.
And in fact it's random enough that we used it as a pseudo random generator in Mathematica for many years,
but actually it's just being retired now because we found a slightly more efficient way to to do this.
But but another cellular automaton.
But but so it's a even though the rule is really simple,
the behaviour that it generates is sufficiently complicated that for example, for practical purposes it seems completely random.
So the question is so that's, that's an interesting thing.
That's kind of not what one's traditional intuition from things like engineering would sort of tell.
One should happen.
One would think that, you know, one has if one wants to make something as complicated as this, one would have to go to lots of effort to do it.
And similarly in natural science, if you see something as complicated as this in some system in nature,
you might reasonably conclude the rules that make it must be really complicated.
It must have gone through, you know, endless aeons of biological evolution, natural selection,
or it must have somehow had some some very elaborate set up to to be able to produce it.
And in fact, that's a general feature of the natural world that, you know, it's full of stuff that looks very complicated.
And it sort of seems it's kind of an embarrassment of modern technology that if you're shown two objects and you're told one of them is an artefact,
one of them natural object, a good heuristic for deciding which one is the natural object is it's the one that looks
more complicated and the one that we've got all this effort and technology to produce.
This will be the one that looks simpler.
But so, you know, it seems like nature has some secret that lets it make complicated stuff in a kind of effortless way.
And I think this this little flirty thing has a lot to do with with what that secret is,
that if you just sort of go into this computational universe of possible programs,
that it's actually remarkably easy to get things that that are very that seem to us very complicated.
And you can go on and, you know, you just explore the space of possible possible programs.
You got nice, nice things like this and so on that seem quite to seem like, you know,
this might be some something that you see in some elaborate natural system and you might imagine it came from some very complicated origin.
But actually, it's a it's a very simple rule of the kind that that I just mentioned.
So you can ask the question, you know, how does this work?
And other kinds of so this is a this is the sort of basic phenomenon that you just sort of go out into the computational universe.
It's easy to find really complicated stuff out there. It's not stuff that for the most part is accessible to typical mathematics.
Let's talk about that more, more a little bit. I mean, for example, those nested patterns, you can represent those.
Those are binomial coefficient by two and so on.
But there isn't some, some special function that we could put into mathematical or something that would represent the outcome of a system like this.
Well, now the question you can ask is,
is this some special phenomenon that has to do with solar or comets are and discrete systems like kind of thing.
You can look at, you know, you can look at Turing machines as a simple Turing machine.
You find out that you start getting really complicated behaviour in Turing machines quite, quite quickly too.
You can look at, you can even look at, you can go into the sort of heart of traditional mathematics.
You can look at partial differential equations, for example. There are few typical sort of textbook partial differential equations.
You can then ask the question if you just sort of search in the space of all possible types of differential equations.
What kind of stuff is out there? And you pretty quickly, these are some.
Well, hopefully say those are some simple nonlinear wave equations which actually have been great tests for for mathematics,
differential equations, solving capabilities for years now.
They're just things that you find if you start searching in the space of possible pdes and the things where they look,
the behaviour like real search, it looks really complicated. It's kind of hard to figure out actually for sure what this behaviour is because
these are not pdes that have any kind of exact analytical solution or anything.
And if you try to run them with a numerical differential equation solving capabilities,
you discover that it gets progressively more difficult to do that.
And in fact, if this was the place where you were looking for the sort of original phenomenon of simple rules, doing complicated things,
you would be continually worried that actually the results you were getting were the result of some glitch in the numerical analysis or something,
and not sort of a real feature of the systems. One studying.
And that's one of the features of of of something like, well, 30, you know,
this is a completely deterministic system and the bits just are what they are.
And so there's no kind of question about what's going on. Well, so one of the one of the things one can ask is, okay, we're seeing all this behaviour,
how can we sort of understand at a more fundamental level what's going on?
I mean, why, for example, what's the fundamental reason that things like this look as complicated as they do?
Well, this is somewhat long story,
but that the kind of the principle that I think that's one of the a lot of the stuff is what I call the principle of computational equivalence.
And basically the idea of it is think about all these processes that we're seeing here as computations,
weather, and think about not only these processes, but also the processes that are going on in the natural world and in our brains and
in the statistical analysis or mathematical analysis or whatever that we're doing.
These can all be thought of as computational processes.
And then the question is to sort of compare how sophisticated these different mathematical processes, the computational processes are.
And you might have thought that things with really simple rules would correspond to really simple computational processes.
Things with more complicated rules would correspond to more complicated computations.
But this principle of computational equivalence says that that isn't, in fact true, and that instead,
once you are above some fairly low threshold of things not being sort of trivial in their behaviour,
then almost any system will actually be equivalent in the sophistication of computations that it performs.
And so that that principle sort of tells one that, well, if that's the case, then our brains looking at this thing and trying to analyse it,
can't sort of outrun the computations that are going on in the system itself.
And that leads to this phenomenon they call computational irreducibility.
So if you look at sort of traditional science, one of the big things that sort of everybody's proud of is that you can make predictions.
You can say, you know, you try to trace a planet going around an idealised star for a million orbits or something.
You don't have to actually follow all those million orbits to find out where the planet will be.
You just have to plug the number of million or something into some formula and you can immediately figure out the result.
You can effectively computationally reduce the effort that the planet went through to figure out where it will go.
So here we might ask the question. If we look at one black cell down at the bottom here, can we work out whether that's one cell down at the bottom?
Can we work out whether that cell will be black or white by some procedure that's much more efficient than just tracing through every step here?
Well, this idea of computational, if that was the case, then we as the thing figuring out what colour the cell is going to be,
have to be somehow computationally more sophisticated than the system.
And the point of this idea of computational irreducibility is that that won't be the case in something like this,
and that therefore the only way to work out what will happen is effectively just to simulate each step.
Well, so this principle of computational equivalence has all kinds of predictions about things.
So one of its predictions is that that if you look at these systems,
that there should be that these systems should be, for example, computation, universal.
So that means that that with an appropriate.
Initial condition, for example, it should be possible to program the system to behave like any other system.
That's kind of the feature of that. That's the sort of the big discovery of the 1930s that that that computation universality
was possible and that it's possible to have sort of a single piece of hardware,
a single underlying rule that can be programmed by changing its initial conditions to emulate others, any other system of that of that type.
So, for example, it's kind of fun when you have a mathematical type principle that for which you
can start to get sort of evidence in a kind of more natural science type way.
So for example and in fact, you can then you can then ask whether whether you get well,
whether it's true that these simple systems show computation universality.
We don't yet know about Rule 30. I'm afraid it's going to be somewhat hard to figure that out.
But we do know about this one. This is rule 110. This is starting it from from random initial conditions.
You can see it has these little structures that run around that look like they might be, oh, I don't know,
elementary excitations in condensed matter physics or particles in particle physics or something.
But anyway. Or they might look like there's some kind of logic elements that are interacting with other elements and so on.
Anyway, one can prove that this particular creature is capable of universal computation,
that there exist initial conditions that you can set up that will make this emulate any other Turing machine or anything like that.
We also actually know for them, for Turing machines.
I had I tried to I've been curious what the what the simplest system.
Oh, I can't get to the network, can I? Humph!
That's a shame. Uh oh. Well, well, anyway, I've been.
I've been curious what the. What the simplest, universal Turing machine would be.
And it turns out I don't think I have. Oh, yes, I do have a picture of it.
Good. Okay, there we go.
That was some, uh, so enumerating possible term machines after about, um, most simple term machines are very simple behaviour.
This is the first Turing machine that has not obviously simple behaviour and
such a machine with just two possible states and three colours on its tape.
And that's that's kind of what it does kind of uncompressed.
This is what it does. If you just look at the steps where the head's going further to the left or right as it's ever gone before.
And you can see it looks a little bit like one of these little automaton patterns.
But the question then is this is this principle of computational equivalence would say that this sort of first,
not obviously trivial Turing machine should actually be a computation universal.
And so a few years ago, in an effort to get this question answered,
I sort of put up a prize for determining whether, in fact, this term machine was universal or not.
And very nicely, after a fairly modest number of months, I thought this might be one of these questions that was open for a century or something,
but it turned out after a modest number of months, a young English chap proved that in fact this thing is universal.
So it's the simplest, universal Turing machine.
And it's a nice piece of evidence for this principle of computational equivalence that this thing turned out to be universal.
Well, okay, so so we have this kind of we have these various sort of principles about how these things work.
One question that one can ask is, how does this relate to mathematics?
And what's what's kind of interesting about the sort of enumeration of possible programs is that we can we can kind of take that sort of approach.
We could, for example, take it in mathematics. I mean, if you look at well, okay, so here's a here's a version of mathematics.
This is all the this is basically writing out all the common axioms, systems that are used in mathematics today, plus some even slightly obscure ones.
It's not a you know, you can you can fit the axiom systems in a small space.
It's kind of like a simple set of rules. And from these simple rules,
there are about 3 million theorems that have been published in the literature of mathematics that have been proved essentially from these axioms.
People don't necessarily always know exactly what axioms they're using, but but some approximation to that.
They so you can ask the question what?
You can ask all kinds of questions. For example, you can ask them, let's imagine looking at sort of the space of all possible axioms,
systems, just like we're looking at the space of all possible programs and so on.
What does what are the things look like in the space of all possible axiom systems?
So this is a a kind of an ultimately desiccated version of mathematics where, you know,
these are axiom systems going down the left and theorems going across the top.
And when a particular theorem is true for a particular in a particular axiom system as a black dot and one, it isn't true that it's white dots.
So each one of the rows in this diagram is effectively a field of mathematics.
And one question that you might ask is, you know, where do the fields of mathematics that people know about right now?
Where do they lie in the sort of space of possible fields of mathematics? So I was interested in that question a number of years ago.
And so, for example, one one area where you can you can look at that is in Boolean algebra itself and this is the right thing.
Yeah, there we go. So, you know, if you look up the axioms of Boolean algebra in a standard textbook, you'll find something like this.
And if you were to say, well, where did that, where does that axiom system lie in the enumeration of possible axioms systems pretty far out there,
but that isn't the simplest possible axiom system for boolean algebra.
So for example, you know, that has earned and or not in it.
We know known for 100 years that you can get to Boolean algebra by just using the single man shuffle stroke operation.
And then there's a, there were axioms found long time ago for, for boolean algebra using just that single man operation.
But actually you can ask the question, what happens if you just sort of search the, the universe of possible axiom systems?
How long does it take you before you find that axiom system that actually is Boolean algebra?
So I did that and it turns out after about 50,000 axiom systems, you find the axiom system here, which is single axiom with 6000 operations in it.
And it turns out that that that's that axiom system is actually boolean algebra and you can prove that there's a,
you know, that's the, the proof that that axiom system is actually boolean algebra.
That's an automatically generated proof these days. You can actually do this in Mathematica.
It takes a few seconds to prove that that that axiom system reproduces the standard axioms of Boolean algebra.
But so it's sort of interesting that in the space of all possible axiom systems, about the 50,000th one is boolean algebra.
Commutative group theory is, you know, it depends how you enumerate the axioms,
but if you use some simple lots of graphic kind of ordering, it's about the $50,000 in algebra, maybe about 100,000.
That's commutative group theory. And then you. Keep going from there.
And, you know, and there are many technical details.
So if you say, where's piano arithmetic, for example? These are pure equation of logic axiom systems, not axiom schemas.
So you don't actually get piano arithmetic in this enumeration and so on,
but it gives you some indication of what's going on that in the sort of space of possible axiom systems one has.
That's where that that's where the the these these things lie.
So you can ask questions about, well, what about all the other mathematics that were left behind,
so to speak, all the other sort of all the other kind of rows.
And that diagram that I had, you know, why did we pick the particular mathematics that we did here and what what kinds of things,
you know, what are all the other ones about? And people sometimes say, well, so, so in a sense,
the when we look at sort of models of the natural world that we get by sort of just looking at what's out there in the computational universe,
we are we're not we're not we're sort of we're picking things that aren't the traditional mathematical models,
traditional mathematical equations, traditional axiom systems and so on.
And we're finding out that often those things that are sort of out there in the
computational universe are actually good models for things in our actual natural universe.
And, you know, people sometimes say the reason that the mathematics that we have is is the way it is,
is because that's what we need to describe the natural world. I think that's just not true.
So one might ask the question,
why is the why do we end up why have we ended up with studying just the particular axiom systems that we've ended up studying?
My main conclusion about that is that it's sort of a historical thing.
I mean, it started off, you know, mathematics started off with arithmetic and geometry and things in ancient Babylon.
And then people have had these particular methods of generalisation that have been used ever since that have led to particular,
particular kinds of of things being studied. Now,
I think another another big issue is in and when you start studying questions about things like
cellular automata and these kinds of all these kinds of systems in the computational universe,
one of the things that you run into quickly is things like underside ability.
So this phenomenon of computational irreducibility that I mentioned before, it's kind of a junior version of undecided ability.
If you ask the question, you know, what will ultimately happen in one of these kinds of systems that that the
answer to that question will tend to be something that that can be undecidable.
And so when you start looking at these some of these systems in just the sort of random systems that you pick in the computational universe,
lots of questions about those systems turn out to be undecidable well,
mathematics and all those 3 million theorems that have been proved in mathematics,
those are examples of things that didn't turn out to be undecidable they turned out to be provable by by humans even.
And the I think that so one question is why isn't there more sort of underside ability in practical mathematics?
Why doesn't one run into it more often?
I mean, you know, if you look at Girls Theorem, for example, which is sort of the the first example of this, you know,
it seems like a put up job because Girl's Theorem is proving, you know, that is showing that the statement this statement is unprovable.
While the big achievement of Girls Theorem is showing that the statement this statement is unprovable could be encoded in internal arithmetic,
and that in fact, in fact, that was sort of the first piece of sort of piece of software engineering or something,
was to show that using arithmetic, you could encode you could build a program.
That was essentially the question. You know, the statement the statement is unprovable,
but that seems like kind of a put up job and not a sort of natural thing that would occur in mathematics.
Yet sort of in this computational universe, it's really common to find undecidable stuff.
So the question is, why doesn't that show up more often than mathematics? I think the main answer is because mathematics, like most fields of science,
is set up to basically examine those things which its methods let one make progress on.
So for example, if one looks at what's been studied in, let's say, physics,
there are lots of systems that exist in the physical world that physics hasn't said very much about, let's say fluid turbulence, things like this.
Lots of examples of this. And if you sort of unravel it,
it seems that what's going on is that physics tends to define itself to be about
those systems where the methods that have have been successful in physics,
which are typically things about differential equations and so on, have been successful.
And so similarly in mathematics, I think what's what's sort of happened is that mathematics has navigated through these kind of
narrow paths in which you don't run into kind of rampant undesired ability all over the place.
If you just start asking kind of math questions at random, it's it's not difficult to run into all kinds of of undecided ability.
And it's you know, we'll have an example of that. You know, if you look at, well, gosh, you can well, here's a fun thing, actually.
This is this is you know, you can kind of think about how the structure of mathematics as.
Today what it's like. This is just a plot of the the theorems and Euclid and their interdependence and the.
So this is a case where essentially one starting from some set of axioms and then once proven what one can prove from those axioms.
And this is not an uncommon way in effect for for things to work.
I think the question that. So sort of a question is when.
Well, here's an example. We go so this is this is kind of a fun case.
This is this is looking at the proof lengths for different propositions in boolean algebra for different for various different axioms.
Systems were all in algebra. So the, the different propositions this is sort of how hard is math type, how hard are these things to prove?
This is different different propositions along the bottom here and this is the height is just how difficult different things are to prove.
And actually it's sort of interesting that the that those axioms systems that the action
system systems they were showing that's the minimal axiom system for Boolean algebra.
It it takes about a hundred steps to prove the commutative ity of the non operation,
but once you have that it is actually isn't a particularly inefficient axiom system for for for doing these things.
Well, in any case, one of the things that one one could think about is okay,
if one's going to think about sort of how does one extend mathematics in the future and so on, that's there's a question of of why, what will happen?
Will it be the case that mathematics sort of runs into this sort of hopeless wall of undecided ability or not?
And, you know, you could take an example like, I don't know, diophantine equations where you can ask the question,
is there what's the what's the kind of historical progression of success in solving things like that?
So, you know, linear diophantine equations, they were figured out by Diophantus in 108 or something.
Quadratic once figured out by Gauss around 1800. Then we got the elliptic ones that were figured out, you know, roughly a hundred years ago now.
And the question is, as we as we go forward,
we know that eventually there will be diophantine equations that that where the question of whether they're solvable or not is undecidable and so on.
But the question is, will that happen soon? Will that happen in sort of relevant areas of mathematics, or is that far away?
Will it be the case that sort of every century we crack another level of possible diophantine equations?
My guess is that it relates to this principle of computational equivalence that actually
the wall of things that are effectively undecidable and so on is close at hand.
And the only reason one hasn't seen it is because the methods that one standard to use to to explore mathematics have avoided it.
I mean, a typical thing is that, you know, when one generalises things in mathematics, I think the the most common approach is to say, well,
let's take a theorem that we really like, like unique factorisation or something,
and let's look at the largest class of things that still satisfy this theorem.
And that's how we kind of generalise from one thing to another, as opposed to just saying,
let's look at the universe of all possible axioms, systems or something, and just sort of enumerate those at random.
Well, so there's lots of things that then become if you,
if you sort of imagine that you're going to run into things like undesired ability and so on quickly,
then it gives you sort of a different methodological point of view about how one should sort of make progress in mathematics and the fact
that one should try and do experiments in mathematics rather than trying to specifically set oneself up to prove theorems and so on.
And I think the that's a that's something that with Mathematica in particular,
that's been something that becomes very possible to do to just sort of explore experimentally what happens in different mathematical systems.
And I'm going to try to try something that I'm going to see if I can finally get this network to work because I really want to show you some stuff.
Yeah. Huh. I thought that might look like disconnect.
The other thing, this works. Okay, so there's a question of of what sort of this now works.
Oh, very, very good. I'm. The, uh.
Back to. So, I mean, hopefully we can, you know, if we type in something like this, hopefully it will be able to compute that.
Actually, it's kind of interesting.
What, what I mean sort of the the and this will come back to sort of the questions about what mathematics should be, should be about and so on.
But oh, my gosh, what just happened? Oh, oh, no, no.
How could that happen? The [INAUDIBLE]. Okay.
Even more mysterious. Okay, so. So what we're trying to do here is.
Is to answer, um, you know, we've given some question here.
We're trying to sort of generate a report on interesting things that can be said about the answer to that question.
So, you know, that's some plots of the integral and that's some alternate forms of the integral.
And there's some definite goals that things might might be interesting.
We can ask it to sort of show the steps that could be taken to work out the central goal.
These steps have absolutely nothing to do with the way that Wolfram Alpha and Mathematica underneath it actually work out these integrals,
that they do it in a Mathematica works out integrals in this in this incredibly
industrial way using generalised type of geometric functions and so on.
And this is, this is sort of a fake derivation that's that's useful for humans trying to understand how you might do this.
But, um, you know, the kind of thing that we're, and Wolfram Alpha,
we're sort of trying to collect knowledge, computable knowledge about all kinds of things.
There's some sort of basic information about some not we could ask some basic information, you know, what is the population of Oxford?
How about that? And hopefully it'll figure out.
But oh, university. Okay.
So I guess that, uh, okay, 18,000 people, let's say.
What, what does it think if it's a city instead. Okay.
154,000 people. Or we could ask at something like, you know,
we could type in some some sequence like this and it'll probably figure out that
that's a genome sequence and it'll go and look on the human genome and tell us where,
where there are matches for that particular thing. Or we could ask it all kinds of stuff.
How about something like this? Nobody could ask for something like that.
Or we could say, we'll show us where the eye assesses.
Right now, it's an interesting case of sort of a combination of a feed of actual data from the world with
computation about solving the differential equations to work out where where the thing will be.
Or we could, for example, we could we could ask it all kinds of things we could ask it about.
I don't know. How about we ask it about cell phones?
And, you know, there's lots of things one can compute in the world.
So let's see to the some. So this is.
This is telling us about some. Uh, let's ask it to do more.
Yeah, this is. This is.
It'll compute all sorts of things about, you know, the distribution of prices of cell phones and so on.
And I think you can you can ask it, you know, what is the how about the task at, you know, banana consumption and in France, let's say.
And it'll probably be able to tell us something about about that.
Oh, wow. That's that's interesting. Something something obviously happened.
Some. It's gradually recovering.
But anyway, the you know, the point now for us to kind of do the thing that is to, uh,
to sort of collect as much knowledge as possible and make it computable so that one can actually get specific questions answered.
Okay. How does this relate? So a lot of that is not about mathematics.
A lot of the knowledge that's out there in the world has absolutely nothing to do with mathematics.
I mean, there are all these different, different kinds of areas that we try to cover in Wolfram Alpha,
and we're gradually covering more and more stuff. And you can, you know, you can do things and Wolfram Alpha,
you can you can say you can not only deal with data that it already knows about, you can also, for example,
uh, upload an image, let's say, and it'll go and use the,
the image processing capabilities that Mathematica has underneath to go and process that image.
Or you could ask it questions about that image, hopefully. There we go.
And, you know, it's telling us what the dominant colours in the image are and things like this.
And we could go ahead and make this interactive and it'll now use our computable document
format that's based on Mathematica to to make this something that we can sort of interactively,
uh, do things with. Um, and you can, you can also, you know, upload, uh, blobs of data that you got from somewhere so,
you know, you could upload a database or a spreadsheet or something.
And, and then what Wolfram Alpha will do is to try to figure out what it can say that's interesting based on that data.
So here's some, a bunch of data and if it wakes up here, it'll, it'll try and tell us interesting things about that data.
It'll plotters it'll it'll work out probably some statistical kinds of computations
based on this data and try and come to various statistical conclusions about it.
So if it does that, I think that would go so somewhere down here,
it's it's telling us that various groups differ and it's it's coming to various conclusions based on statistics of this data.
Okay. So how does how does any of this relate to two things in mathematics?
Well, one of the one of the things that I've sort of been curious about is, you know,
Mathematica has a definite model of how sort of mathematical computation should work.
It's something where you give it an input, it will generate an output.
And that's you know, that's the that's the mode of interaction.
But one of the things that, you know, people say, you know, people will come and and talk to us and say,
you know, I'm a pure mathematician and I can't use Mathematica because I don't compute anything.
I don't think that's entirely correct.
I think that that's still the case, that sort of the the pieces of what happens in pure mathematics are computations.
But what some the thing that I realised recently, I've been sort of curious about these different models of, of sort of mechanistic mathematics.
I mean there was a, you know, back in the history of mathematics, you know, in 1900 or so, you know,
people like Hilbert were saying, gosh, we can we can turn mathematics into this purely mechanical process that,
you know, people were saying was like, you know,
I think there was a not not everybody liked the idea that mathematics could be turned into a mechanical process.
But that whole program got sort of thrown off track by other side ability and Gödel's theorem and things like that.
But still, we can imagine that there's sort of a system of taxation of mathematics that can be done,
and the various models of system of system ization, like the Whitehead Russell, you know,
playing Kepler Mathematica kind of the idea was let's systematise mathematics by representing the process of proving things and so on.
Well, that particular approach to Systematising kind of the doing of mathematics didn't turn out to be all that fruitful.
A much more fruitful approach turned out to be this computational approach of saying give inputs, compute,
generate an output, which in a sense is a more kind of 19th century type approach to mathematics.
So the question is with the sort of 20th century, Bourbaki, etc., types of mathematics, how might one side automate things like that?
And you know, I guess my,
my sort of amateur from the outside version of what that kind of mathematics consists of is that every paper starts with something like,
you know, let f be a field with such and such properties and so on.
It's very much describing a structure rather than having rather than saying, here's the input, compute the output.
So the question is how can one sort of do how can one think about automating a mathematics?
Well, once thinking about describe the structure and then go from there.
So I finally realised recently that WolframAlpha actually gives us a way to think about that, because if you if I type in something like I don't know,
you know, if I type in, you know, carbon dioxide or something, I'm not asking you a question.
I'm not I'm not so misspelled to.
But I figured it out. The you know, I'm just saying.
What do you know that's interesting about carbon dioxide?
And so similarly, one can imagine you state something about some mathematical structure and say,
what do you know that's interesting about this mathematical structure?
So one thing you can imagine doing is just automatically proving theorems about that structure.
And so one problem with that as well, you can go and you can start proving theorems.
You generate all these theorems, but most of these terms are completely uninteresting.
So one question is can you automate the question of which theorems are interesting?
And I actually thought that that would be that, you know, if you ask,
let's say in Boolean algebra, you say there are an infinite number of possible theorems.
Which of those theorems are interesting? So a practical definition of interesting might be it's given a name and a logic textbook,
and there are about 14 or 15 theorems that are given names in typical logic textbooks.
And you can ask the question, is there something special about those theorems, or are they just purely historical as to which ones were given names?
Just a purely historical thing? Well, I assumed that it was purely historical.
To my surprise, it is not.
And for example, what you can you can do if you just sort all of known all the true theorems, a billion algebra in some kind of simple order,
you know, some simple order of sort of number of symbols and some kind of lexical graphic order.
And then you ask the question, you just keep going through this list of true theorems of Boolean algebra,
and you say for each theorem you say, Can it be proved from theorems that are earlier in the list?
Okay, so there are certain set of theorems that cannot be proved from ones that precede them in the list.
And the fact those those theorems that can't be proved, ones that precede them in the list,
those are the first those are the simplest statements of sort of new information about Boolean algebra.
As you go on further in the list, you'll get sort of Harrier and Harrier versions of those.
But each one is the sort of the surprise as you go through the list.
Well, it turns out that the ones that are sort of the surprises as you go through the list are,
with one minor exception, precisely those ones that are the the ones that are given names in logic textbooks.
So it's sort of interesting the way one can automate this kind of notion of what's interesting in in the set of possible theorems.
And you can imagine in general for mathematics, you can imagine some network of all theorems and so on.
And you can ask questions about, you know, there are there are terms that one uses of mathematics,
you know, a powerful theorem, a surprising lemma, you know, a all these kinds of things.
And so the question is, is there some graph theoretical way of understanding what what does it mean that it's a powerful theorem?
Does it mean that, you know, there are big blobs of theorems over here and other big blobs over here?
And then there's this, you know, surprising connection between them.
What does it mean to say that it's a powerful theorem? There are probably sort of ways that one can take what what we think of as sort of the
intuition of how mathematics works and turn that into something that's automatable.
But anyway, the the thing that. So the question is, given this sort of approach to mathematics,
where you're describing a structure and they're saying what's true and interesting about the structure,
that's the one can imagine doing some automation of that. And we sort of started trying to do experiments on this kind of thing.
The other thing one can imagine doing is taking the 3 million theorems that have been proved in the literature of mathematics and curating those,
just like we curate properties of chemicals, you know, features of popular music, you know,
all kinds of, you know, medical diseases, things like this to write, all those kinds of things.
So why not curate the theorems of mathematics? So we actually started a little pilot project to do that.
It's not clear how hard it is. It's not clear, you know, it's not clear how many mathematician years it will take to do this.
It's also not completely clear how you want to represent the results.
The particular area that we happen to have picked to do sort of a pilot project is a slightly obscure area,
but it's a nice, well-defined area which is continued fractions which have a long history.
It goes back a long way that you can kind of you can get the complete literature of continued
fractions and it's a modest number of papers and it touches various different areas of mathematics.
It's not in and of itself.
It's not a particularly exciting, you know, thing to be to be curating, but it's a useful kind of proof of concept for what one can do.
So, so we started doing this fairly recently and already actually there'll be things showing up in WolframAlpha fairly soon where you can,
you can start asking it about sort of theorems, about continued fractions,
and you can say, you know, given that I have this continued fraction, what theorems have been proved that are,
you know, that relate to the convergence of this kind of continued fraction or something like that.
And because these theorems are represented in a computable way,
it's possible to just derive to automatically figure out which theorems are relevant and so on.
And actually, it's sort of interesting just in the process of doing that,
just the process of Systematising, the folks who were working on that realised,
gosh, we can systematise even further and we can prove some much more powerful theorems about these things and much generalise what was there,
which was kind of a fun thing to realise that just the very act of trying to organise these things in a way that was systematically computable,
that won't actually make sort of humans make progress too.
Well, anyway, so I'm kind of this is,
this is one of the things that if we look at sort of what what's mathematics supposed to be like in the future, one of the things that you know.
Pose that way. Back when, before Mathematica, there was such a time that people like me at least remember.
You know, any piece of mathematics, any computation you had to do. Likelihood was you were going to have to work it out by hand and you were going to
have to learn how to do those integrals by hand and all those kinds of things.
We've now been able to automate that type of thing.
We sort of systematically started to automate being able to sort of deal with mathematical facts and just, you know,
knowing, you know, things about knots or things about particular differential equations, those sorts of things.
The the thing that so, you know,
I think if we succeed in this effort to sort of curate all the theorems of mathematics and set things up
so that it's possible to to sort of automatically generate the interest in theorems about something,
then the the likelihood is that sort of the future mathematical process will involve kind of you all.
You figured out this thing. It's kind of interesting. I wonder what's true about it.
Within a few seconds, you'll get some big list of theorems that are true about this particular thing.
So that's sort of the traditional approach to mathematics. That's kind of the the potential future of that.
I kind of tend to think that there's a there's a vast sort of ocean of unexplored sort of
generalisation of mathematics that exists in this kind of computational universe of possible systems.
I think for the most part, you know,
it's typical of the progress of science that when things need to be studied in a way that is methodologically different from what's been done before,
what gets built is sort of a new science.
It could have been the case that these sort of systems that, you know, these computational systems were studied as part of, quote, mathematics.
I doubt that that will be the case because mathematics has chosen its particular sort of approach to doing things.
And those that approach is not is not so valuable in the case of these more general computational systems.
But that's sort of the separate branch of the sort of the the generalised mathematics that you can start to build.
One feature of that generalised mathematics as the primary methodology tends to be experimental at first.
And from the experiments then deducing more general principles and going from that in the way that lots of areas of science have tended to progress.
And I think that's, you know, another feature that, you know, I suspect that there is a sort of the generalised mathematics,
at least if not mathematics itself, like every other area of science will eventually be more experimental than theoretical.
But then, of course, there's there's some it's some kind of find it interesting that, you know,
I happen to have spent lots of time thinking about some generalisations of mathematics,
some ways in which the current sort of approach to science based on mathematics kind of doesn't doesn't give one the whole story.
It's it's a little bit strange that that we we now get involved in kind of building the sort of Noah's Ark of existing
mathematics and trying to sort of preserve the the collection of theorems and so on that exist in existing mathematics.
I kind of think of it, you know, I don't consider it sort of the, the,
the necessary thing that that there's that all this mathematics that's been done is sort of the only mathematics that could be done.
Rather, I consider it much like a cultural artefact.
It's kind of a fact. I would even argue that that one could say that sort of this network of all these
theorems of mathematics is the single largest artefact that's been built by our species.
The more hands having touched this thing, you know, putting together these theorems,
it's it's the largest sort of coherent artefact that's been built.
And so it's it seems like an interesting thing to try to preserve and to try to to automate sort of access to.
Well, I should probably stop there.
I'd probably go way over time anyway, but I'm more interested to hear what people have to say questions, comments, and so on.
So thank you.