
Tarski's high school algebra problem - ColinWright
http://en.wikipedia.org/wiki/Tarski%27s_high_school_algebra_problem
======
reycharles
I remember being told about this when I was introduced to type isomorphisms.
Sum types correspond to addition, product types correspond to multiplication
and function types correspond to exponentiation.

In haskell types:

    
    
        * Either a b corresponds to a+b
    
        * (a,b) corresponds to a*b
    
        * a -> b corresponds to b^a
    

Update:

I forgot 0 and 1. I don't know what 0 would be in haskell. Think of 0 as a
type that does not have a constructor. 1 is () (the unit type).

~~~
tikhonj
You can actually write an "empty" (ignoring ⊥) type:

    
    
        data Void
    

Apart from maintaining symmetry and keeping the type system elegant, this is
also very useful when you want to use types as "tags", ensuring they cannot be
instantiated.

------
flatline
A little disappointing that it all boiled down to the lack of a way to handle
a negative coefficient, but fun problem nonetheless.

~~~
brazzy
Seems to me quite interesting that you need methods involving negative
polynomial coefficients to prove statements that use only positive numbers.

Actually, it seems to be a concrete example for Gödel's incompleteness
theorems: a very simple system can be used to make statements whose veracity
can be proven only by using concepts outside the system.

~~~
carstimon
Something similar: If you want to write down a formula for solving a cubic:
ax^3+bx^2+cx+d = 0, for give a,b,c,d, you can't avoid using complex numbers.
This is true even if you only care about cubics which have real solutions.

To clarify that last sentence, contrast it with the quadratic formula, which
has no mention of the imaginary unit i. It's true that a quadratic with real
coefficients might have only complex solutions, but you might just interpret
that as having no solutions: once the formula tells you "take the square root
of a negative", you know it has no real solutions.

Maybe this could be worked into something similar to the high school algebra
problem, but with a list of axioms about real numbers.

------
csense
Isn't this just a special case of one of Godel's incompleteness theorems?

Roughly, the incompleteness theorems state that, in any sufficiently powerful,
self-consistent, decidable mathematical axiom system, there are statements
which are true, but cannot be proved. And "sufficiently powerful" means
basically "including addition and multiplication." The high school axioms look
like they're at least that powerful, so wouldn't it just be a direct
application of Godel that such statements exist?

~~~
siwei
No, the question here is not "are there statements in _this axiom system_ that
cannot be proved by this axiom system" (what incompleteness theorem says), but
"are there statements about _the positive integers_ that cannot be proved by
this axiom system". In other words, is this system of axioms equivalent to the
axioms that define positive integers.

