Professor John McCarthy
Father of AI

Articles

ALGOL 48 and ALGOL 50: ALGOLic Languages in Mathematics

This article describes how to express programs with assignment statements and conditional GOTOs in mathematical logic without any programming constructs used in Fortran and Algol.

This article describes how to express programs with assignment statements and conditional GOTOs in mathematical logic without any programming constructs used in Fortran and Algol. The names come from imagining mathematicians devising a programming language in 1948 and elaborating it in 1950. There are just two innovations regarding the values of variables as functions, of a natural number valued time, e.g. x(t) instead of a program variable x, and regarding a program counter pc(t) as just another variable. This way of writing programs has a number of advantages. One is that statements and proofs of correctness are just ordinary proofs in the domain of variables supplemented by Peano arithmetic.

Download the article in PDF.