
The weird and wonderful world of constructive mathematics (2017) [pdf] - lainon
https://home.sandiego.edu/~shulman/papers/rabbithole.pdf
======
jimhefferon
There are a lot of folks here asking for a bit more. Here are two versions of
the same well-done talk, from Andrej Bauer: a video
[https://www.youtube.com/watch?v=21qPOReu4FI](https://www.youtube.com/watch?v=21qPOReu4FI),
and a paper
[http://www.ams.org/journals/bull/2017-54-03/S0273-0979-2016-...](http://www.ams.org/journals/bull/2017-54-03/S0273-0979-2016-01556-4/)
(sorry, the paper link may not work for everyone, but the video contains
basically the same content.)

------
vladsotirov
The remarks on computable and continuous functions can also be thought about
as follows.

The law of the excluded middle is only one non-constructive aspect of
classical mathematics. Dropping it leaves you with what is usually called
"intuionistic logic", and the characterization of constructive mathematics as
broader than classic mathematics is literally correct in that every
intuionistic theorem implies a classical theorem, and every classical theorem
is equivalent to an intuionistic theorem.

Another non-constructive aspect of classical mathematics, which remains non-
constructive in intuionistic logic, are axioms whose conclusion involves the
existential quantifier. In both classical and intuionistic logic, the
inference rule, which governs how the existential quantifer may be used, looks
as follows.

> Asserting that "the existence of x such that phi(x) holds entails psi" where
> x is a variable bound by the existential quantifer and not occurring in psi,
> is equivalent to assering that "phi(y) entails psi" where y is a free
> variable not ocurring in psi.

This inference rule (assembly language of logic) seems weird, so an example of
its use might help.

> "there exists x such that phi(x) holds entails that there exists x such that
> phi(x) holds" by tautological inference, and by the existential quantifier
> inference we have that "phi(y) entails the existence of x such that phi(x)
> holds" where y is a free variable not appearing in "exists x such that
> phi(x) holds".

When doing classical or intuionistic mathematics, you would usually use axioms
of the form "psi entails that there exists x such that phi(x) holds". But such
axioms are non-constructive because the inference rule does not allow you to
start with "there exists x such that phi(x) holds" and somehow construct an
actual term t such that phi(t) holds.

Now what Mike says in his slides is that it is consistent to modify
intuionistic mathematics into a "fully constructive mathematics" by
strengthening the existential quantifier so that "exists x such that phi(x)
holds" would imply that we can (computably) come up with a specific term t
such that phi(t) holds.

As a consequence, any statement in fully constructive mathematics involving
the existential quantifier as a conclusion is a stronger statement than such
in classical mathematics, which is roughly why all functions end up being
continuous: the definition of the notion of a function itself requires that
the function be computable, i.e. that its values exist in the sense of the
strengthened existential quantifier.

~~~
tomsmeding
> every classical theorem is equivalent to an intuionistic theorem.

I understand that every intuitionistic theorem implies a classical one: give
the same proof, and see what theorem you end up with in the classical world.
But how is every classical theorem equivalent to an intuitionistic one? Can we
construct the equivalent intuitionistic theorem in a similar way from any
classical one, or is this a nonconstructive proof?

~~~
ASipos
The double negation translation:

[https://en.wikipedia.org/wiki/Double-
negation_translation](https://en.wikipedia.org/wiki/Double-
negation_translation)

~~~
claudiawerner
The negation of the negation not being equal to what you started with always
reminds me of the Hegelian dialectic, or dialectic (in the philosophical
sense) in general.

------
andrewla
> In constructive mathematics, there can also be numbers d such that d^2 = 0
> but not necessarily d = 0.

In the footnote, it mentions that d is not a real number (which seems right).
But I find this very confusing -- this seems to be using a deliberately non-
constructible number to facilitate proofs in constructive mathematics?

Regardless of whether this meets a formal criteria for being a tool in
constructive mathematics, it does seem to be in direct opposition to the
notion of intuitionalist mathematics, which has as a fundamental goal to
dispense with axiom-of-choice-style proofs of things that are clearly
ridiculous (like Banach-Tarski).

~~~
xelxebar
We can explicitly construct such numbers using 2x2 matrices. These are called
"dual numbers"[0], and the matrix representation is essentially an analoge of
the same for complex numbers. So if you accept the complex unit, i, as a
reasonable algebraic thing, then the "dual unit" shouldn't be too much of a
stretch.

Anyway, all that is completely fine in standard foundations. The LEM
contradictions only come in when we impose other axioms. For example, in
Anders Kock's Sythetic Differential Geometry[1], we essentially start out by
assuming that every function is differentiable.

This seems sorta crazy at first blush, and it does give contradictions, but
the interesting bit as that those problems hinge solely on LEM. Thus, in a
way, we're left with chosing between universal differentiability or LEM. Kock
explores what happens if we pick the former, and it turns out to be pretty
deep, interesting and useful.

[0]:[https://en.wikipedia.org/wiki/Dual_number](https://en.wikipedia.org/wiki/Dual_number)

[1]:[http://home.imf.au.dk/kock/sdg99.pdf](http://home.imf.au.dk/kock/sdg99.pdf)

------
laichzeit0
Always see this type of slide template used in mathematics. What do people use
to build these slides? Is it a specific powerpoint template?

~~~
joppy
It’s called Beamer, which is a LaTeX template/package which generates a PDF
slideshow rather than an academic-looking paper.

------
dooglius
> we can assume powerful axioms that would classically be inconsistent

Where could I find some explicit examples of this being useful?

One idea I had is that this might actually be very useful for proving things
about cryptography. Generally, if you want to formally prove something is
cryptographically sound, you can only do so in terms of the asymptotics of
families of functions, rather than proving anything specific regarding, say,
SHA256. But if you could prove constructively a statement like (an adversary
can break program P) -> (exists x,y: x != y and SHA256(x)=SHA256(y)) it seems
that would serve as a proof that P is secure. Statements of this form are
trivially provable classically since (exists x,y: x != y and
SHA256(x)=SHA256(y)) can be proven on its own by the pigeonhole principle,
regardless of the correctness of P, but it seems that in order to prove this
constructively you would actually have to find a collision in SHA256.

~~~
man-and-laptop
No. If a set A is finite, its elements are enumerable, and some property P is
decidable, then (\forall x \in A) P(x) \vee ~P(x) is true even
intuitionistically.

A list of examples of "anti-classical" axioms:

\- All functions are continuous, and all sets automatically carry the "right"
topology. This means, for instance, that constructing the Real numbers in the
standard ways (Cauchy sequences or Dedekind cuts) also endows them with the
desired topology (the Euclidean topology in this case).

\- All functions are computable. This axiom is called "Church's thesis". It's
nice because it shows that a lot of Computability Theory is similar to
classical set theory, but with the edition of Church's thesis, and the absence
of LEM.

\- Some numbers in a set called the "smooth reals" square to 0... without
being zero. This seems to create a universe in which every geometric object is
"infinitesimally straight". I haven't fully grasped why this works. It's like
the dual numbers, but somehow made all-pervasive.

~~~
dooglius
Certainly it is _true_, since it is decidable and classically true, but I
think that the relevant question is can you come up with a proof without
actually finding a collision in SHA256? In essence, what I am asking is if
there are axioms we can add in an intuitionistic system that we know to be
inconsistent (but that we can't prove inconsistent without doing things that
we believe are hard cryptograhically), such that the resulting system
corresponds to a notion of cryptographic security.

~~~
man-and-laptop
I think this wouldn't work, because you can prove intuitionistically that
every finite set is "decidable" using the following ingredients:

\- An upper bound N on the size of the set.

\- A surjection f:[1,N] -> S where [1,N] is the set of integers from 1 to N.

\- Proof by induction that every set S where the above two ingredients can be
found is decidable. The induction will be in N. This can be carried out
internally in any intuitionistic system.

In the case of SHA-256, there is an upper bound N on the number of 256-bit
inputs (which is equal to 2^256), and a surjection f which maps integers to
corresponding bitstrings. Then the general lemma I described above is true,
and you can prove that there must be a collision.

It doesn't entirely prove you wrong. (I need to do some real work). But almost
certainly what you describe can't work. Some sort of induction will probably
thwart what you're trying to do.

~~~
fmap
You have far more freedom in modeling intuitionistic logic than you think. :)

In this case, the point is that in a logic for cryptography, you would have a
type "S" of "bit strings of arbitrary but unknown length" which is restricted
in such a way that you cannot eliminate into discrete types (such as the
natural numbers). In particular, there would be no way of proving "x != y" for
x, y in S at all unless you _assume_ that there was some function which
established this.

One way to get a model for such a logic is to interpret types as (reflexive)
graphs and functions as graph homomorphisms. The resulting category is a topos
and hence gives you a model of type theory.

There is such a wealth of knowledge about building models for intuitionistic
logic that it is difficult to say what can and cannot be done without a
thorough literature review.

------
ulucs
I’m a bit confused about the functions always being continuous. Step functions
being ill-defined makes sense, but how about modulos? f(x) = x mod 1 should be
trivially discontinuous. I should also be able to contruct the set of integers
Z (using the unit 1 and succession operator) and identify the largest integer
that is smaller than x by intersecting [x-1, x) with Z. Do I need to show the
intersection always contain only one element?

~~~
knappa
Well, x mod 1 is just x minus a series of Heaviside step functions, each of
which are non-constructive. The core problem is determining if your real
number x is equal to an integer. You might be able to prove that x is close to
a particular n, but there may not be a constructive proof of either x<n, x=n,
or x>n. Hence you don't know if x mod 1 should be x-(n-1) or x-n.

------
User23
Well I guess nearly all of the reals must not exist since we can't construct
them.

~~~
jerf
You sound to me like you think you're sarcastically saying something that's
just so obviously false that it constitutes a devastating argument against the
entire idea of constructive mathematics, but whether the reals "exist" depends
a _lot_ on your definition of "exist" and is still an ongoing debate for some
definitions of "exist" that are relevant, even without bring constructive
mathematics into it. And it's not that hard to draw a perfectly conventional
mathematician into an interesting discussion about whether the real numbers
deserve to be as fundamental as they are when we can't point to any of them.
That is, it isn't just that we can't "construct" them for some definition of
construct, but we can't even _identify_ them for _any_ definition of
"identify".

Let me highlight again that the question isn't whether they are useful, or a
mathematically valid construction; there are all kinds of other mathematically
valid constructions far stranger than the "reals". The question is whether
they deserve such a fundamental place in mathematics and education. I do
recall even in high school that _truly_ understanding the real numbers even at
that level was definitely a dividing point for the advanced math class; there
are some who really got the quirks, and there are some who never really did
and just parroted their way through the tests wondering how the question of
"numbers" got so complicated... and it was still a very partial and somewhat
ad-hoc introduction to the topic ("Dedekind" doesn't come up, etc.) just
enough to try to motivate limits.

~~~
User23
It's self-evident that for everyday usage all you need are the rationals.

------
trhway
the constructive mathematics reminds me the state of math before calculus,
i.e. Achilles and turtle. Such step back in power and expressiveness is
probably a necessary first step before the some kind of "closure" technique,
like the limit in calculus, can be developed.

------
adamnemecek
Constructive mathematics is the way forward. It's connected to linear logic
via Chu spaces [0]
([https://arxiv.org/abs/1805.07518](https://arxiv.org/abs/1805.07518)). This
correspondence is unreal as constructive mathematics / linear logic unlocks
the door to several key advantages such as being closer to computation,
probability theory, type theory, Lie groups, a generalized topology,
optimization, “differentiable Turing machines”, all the quantum shit, game
theory etc the list goes on.

[0]
[https://en.wikipedia.org/wiki/Chu_space](https://en.wikipedia.org/wiki/Chu_space)

Linear logic is fundamentally about formulating computation as an adversarial
relationship between two parties. It's also the foundation of e.g. the Rust
ownership system (I know, I know, affine types).

It's also the foundation of the min-max algorithm which in turn is the
foundation of Generative adversarial neural networks.

Ironically, this idea isn't exactly new. It's directly related to Dialectics
([https://en.wikipedia.org/wiki/Dialectic](https://en.wikipedia.org/wiki/Dialectic))
which has been present in Western philosophy since Aristotle through Kant,
Hegel and Marx (it's a funny story).

~~~
joppy
How is constructive mathematics closer to Lie groups than regular mathematics?
From what I read in that presentation, a bunch of basic assumptions in
calculus (such as the intermediate value theorem) no longer hold, and the
theory of Lie groups is built on manifolds/calculus/real analysis etc.

~~~
adamnemecek
Good question. I don’t have a direct answer answer but fundamentally the
connection has something to do with adjoints. Google for adjoints and
constructive mathematics and Lie groups and adjoints.

This particular pair I understand only indirectly, I somewhat understand the
relationship between linear logic and Lie groups and constructive mathematics
and linear logic and this is a transitive relationship.

Edit: in the presentation they mention “In constructive mathematics, there can
also be numbers† d such that d^2 = 0 but not necessarily d = 0.”. They are
talking about alternarivity, one of the three requirements for a Lie algebra
[https://en.m.wikipedia.org/wiki/Lie_algebra](https://en.m.wikipedia.org/wiki/Lie_algebra)

~~~
joppy
“Something to do with adjoints” is hopelessly vague, and what do you mean by
transitive?

In regular mathematics there can be nonzero numbers whose square is zero (for
example, the “dual numbers”). But I don’t see how this has anything to do with
constructive vs nonconstructive mathematics.

~~~
adamnemecek
> hopelessly vague,

You didn’t do the reading so hold your horses with hopelessly.

From the slides “In constructive mathematics, every function is continuous”.
(From the presentation)

Sounds like Lie groups to me.

I’m aware of dual numbers funny that you bring them up as they correspond to
Lie groups. I have been talking about dual quaternions nonstop on hn.

~~~
mikorym
I'm sorry, but he is right.

Adjoints are everywhere [1]. Referencing adjoints is indeed pretty vague. You
can't make a case for why things are interesting by quoting a bunch of
resources of other people making cases why things are interesting. (I guess
you can, but then, why make the argument at all if it is not yours?)

You don't even need funny names to get x^2=0. This is true for any of the two
elements of the group of order 2.

Linear logic is indeed having a mini revival, but so is general category
theory. I don't see the particular advantage for people to evangelise certain
parts of mathematics, especially if the case being made is not clear.

[1] Not attributed to me.

~~~
adamnemecek
> I'm sorry, but he is right.

That’s like your opinion, man.

You conveniently ignored the continousness of both constructive mathematics
and Lie groups.

Did you read the paper on chu spaces and constructive mathematics? What did it
say about adjoints?

