Results 1 
1 of
1
Designing an Algorithmic Proof of the TwoSquares Theorem
"... Abstract. We show a new and constructive proof of the twosquares theorem, based on a somewhat unusual, but very effective, way of rewriting the socalled extended Euclid’s algorithm. Rather than simply verifying the result — as it is usually done in the mathematical community — we use Euclid’s algo ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. We show a new and constructive proof of the twosquares theorem, based on a somewhat unusual, but very effective, way of rewriting the socalled extended Euclid’s algorithm. Rather than simply verifying the result — as it is usually done in the mathematical community — we use Euclid’s algorithm as an interface to investigate which numbers can be written as sums of two positive squares. The precise formulation of the problem as an algorithmic problem is the key, since it allows us to use algorithmic techniques and to avoid guessing. The notion of invariance, in particular, plays a central role in our development: it is used initially to observe that Euclid’s algorithm can actually be used to represent a given number as a sum of two positive squares, and then it is used throughout the argument to prove other relevant properties. We also show how the use of program inversion techniques can make mathematical arguments more precise. Keywords: algorithm derivation, sum of two squares, Euclid’s algorithm, invariant, program inversion 1