[Agda] Concepts within Type Theory – Re: [Coq-Club] Type Theory vs. Set Theory – Re: Why dependent type theory?
Martin Escardo
m.escardo at cs.bham.ac.uk
Fri Mar 13 20:49:13 CET 2020
On 13/03/2020 16:06, mail at kenkubota.de wrote:
> Concerning constructivism (intuitionism) and intensionality, these are
> philosophical debates with little relevance for mathematics nowadays.
Constructive mathematics may be of little relevance for mathematics -
and it is for mathematicians to decide for themselves, for their own
consumption, whether this is really the case.
But clearly constructive mathematics is relevant for computation. I
understand that most mathematicians are not interested in computation,
and this is fine (and in fact most computer scientists are not
interested in constructive mathematics either).
But we now have computers and we compute with them and we want to
compute more, and constructive mathematics gives a tool to do that -
among other tools, most of which are based on non-constructive
mathematics, indeed.
But regarding applications of constructive mathematics to computation,
for example, a former PhD student of mine, Chuangjie Xu, constructed a
sheaf topos (in dependent type theory, in its Agda incarnation), for the
sole purpose of computing a number.
Good luck using a Turing Machine or a Java program for defining and
computing this number (which Agda computed under a minute).
This number is the modulus of uniform continuity of an arbitrary
function defined on the Cantor space in a certain kind of laguage
(spoiler: this language can be chosen to be dependent type theory
itself, among others).
This may not be progress in mathematics, but it is certainly progress in
computation / computability (and in logic, if mathematicians are
suspicious of it as well): We can compute an integer, in theory and in
practice (and fast), using a Grothendieck topos. Rather than coming up
with a contrived Turing Machine, or an awkward Java program, or even an
"elegant" Haskell program, just write a constructive proof - that is, a
mathematical proof that is like a normal proof but doesn't use excluded
middle.
I think the mathematics and computer science communities should, at this
point of history, be joining forces rather than arguing about the sex of
the angels.
There is only one mathematics, and it includes both non-constructive and
constructive mathematics. You don't need to like both branches, in the
same way that you don't need to like every branch of mathematics (and I
am sure you don't). If you don't like one of them - and I have in mind
Thorsten and Kevin, please keep quiet and do your own thing, instead of
insisting that what you do is the ultimately good and correct and
mainstream and accepted and blessed kind of mathematics. :-)
Best,
Martin
More information about the Agda
mailing list