Archive for Mathematical Logic

, Volume 49, Issue 2, pp 123–146 | Cite as

Setting-up early computer programs: D. H. Lehmer’s ENIAC computation



A complete reconstruction of Lehmer’s ENIAC set-up for computing the exponents of p modulo two is given. This program served as an early test program for the ENIAC (1946). The reconstruction illustrates the difficulties of early programmers to find a way between a man operated and a machine operated computation. These difficulties concern both the content level (the algorithm) and the formal level (the logic of sequencing operations).


ENIAC History of computer programs Number theory Derrick H. Lehmer 

Mathematics Subject Classification (2000)

11-04 11N36 11A07 01A60 11Y16 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alt F.: Archaeology of computers—reminiscences, 1945–1947. Commun. ACM 15(7), 693–694 (1972)CrossRefMathSciNetGoogle Scholar
  2. 2.
    Fritz W.B.: ENIAC—a problem solver. Ann. Hist. Comput. IEEE 16(1), 25–45 (1994)CrossRefGoogle Scholar
  3. 3.
    Goldstine H.H.: The Computer—From Pascal to von Neumann. Princeton University Press, Princeton (1973)Google Scholar
  4. 4.
    McCartney S.: ENIAC—The Triumphs and Tragedies of the World’s First Computer. Walker, New York (1999)Google Scholar
  5. 5.
    Goldstine, A.K.: Report on the ENIAC, technical report I. Technical Report, Moore School of Electrical Engineering, University of Pennsylvania, Philadelphia (1946)Google Scholar
  6. 6.
    Clippinger, R.F.: A logical coding system applied to the ENIAC. BRL 673, Ballistic Research Laboratories, Aberdeen Proving Ground (1948)Google Scholar
  7. 7.
    Neukom, H.: The second life of ENIAC: ENIAC’s converter code. Ann. Hist. Comput. IEEE (web extra) (2006)Google Scholar
  8. 8.
    Bauer F.L.: Wer erfand den Von-Neumann-Rechner?. Inform. Spektrum 21, 84–89 (1998)CrossRefGoogle Scholar
  9. 9.
    Mol, L.D., Bullynck, M.: A week-end off. The first extensive number-theoretical computation on the ENIAC. In: Beckmann, A., Dimitracopoulos, C. L., öwe, B. (eds.) Computability in Europe 2008 Logic and Theory of Algorithms Logic and Theory of Algorithms, Fourth Conference on Computability in Europe, CiE 2008, Athens, Greece, June 2008, Proceedings, Lecture Notes in Computer Science, vol. 5028, pp. 158–167 (2008)Google Scholar
  10. 10.
    Burks A.W., Burks A.R.: The ENIAC: first general-purpose electronic computer. Ann. Hist. Comput. IEEE 3(4), 310–399 (1981)CrossRefGoogle Scholar
  11. 11.
    Zoppke T., Rojas R.: The virtual life of ENIAC: simulating the operation of the first electronic computer. IEEE Ann. Hist. Comput. 28(2), 18–25 (2006)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Goldstine H., Goldstine A.: The electronic numerical integrator and computer (ENIAC). Math. Tabels Other Aids Comput. 2(15), 97–110 (1946)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Hartree D.R.: The ENIAC, an electronic computing machine. Nature 158(4015), 500–506 (1946)MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    van der Spiegel J., Tau J.F., Ala’ilima T.F., Ang L.P.: The ENIAC–history, operation and reconstruction in VLSI. In: Rojas, R., Hashagen, U. (eds) The First Computers–History and Architectures, pp. 121–178. MIT Press, Cambridge, MA (2000)Google Scholar
  15. 15.
    Hansen, P.: A Java simulation of the ENIAC. Master’s thesis, Universität Osnabrück, Osnabrück (2004)Google Scholar
  16. 16.
    Marcus M., Akera A.: Exploring the architecture of an early machine: the historical relevance of the ENIAC machine architecture. IEEE Ann. Hist. Comput. 18(1), 17–24 (1996)CrossRefGoogle Scholar
  17. 17.
    Cope W.F., Hartree D.R.: The laminar boundary layer in compressible flow. Philos. Trans. R. Soc. Lond. A Math. Phys. Sci. 241, 1–69 (1948)CrossRefMathSciNetGoogle Scholar
  18. 18.
    Goldstine, H.H., von Neumann, J.: Planning and coding problems for an electronic computing instrument. Institute for Advanced Study, Princeton, NJ (1947/1963). Reprinted in: Taub, A.A. (ed.), John von Neumann, Collected Works, pp. 80–151. Pergamon Press, Oxford (1963)Google Scholar
  19. 19.
    Curry, H.B.: The logic of program composition. In: Applications scientifiques de la logique mathématique. Actes du 2e Colloque International de Logique Mathématique, Paris, 25–30 août 1952, Institut Henri Poincaré, pp. 97–102. Gauthier-Villars, Paris (1954)Google Scholar
  20. 20.
    Knuth D.E., Pardo L.T.: The early development of programming languages. In: Belzer, J., Holzman, A., Kent, A. (eds) Encyclopedia of Computer Science and Technology, pp. 419–496. Dekker, New York (1979)Google Scholar
  21. 21.
    Lehmer D.H.: A history of the sieve process. In: Howlett, J., Metropolis, N., Rota, G.C. (eds) A History of Computing in the 20th Century, pp. 445–456. Academia, New York (1980)Google Scholar
  22. 22.
    Akera, A. (interviewer): Franz Alt interview. ACM Oral History Interviews (2006)Google Scholar
  23. 23.
    Lehmer D.H.: Tests for primality by the converse of Fermat’s theorem. Bull. Am. Math. Soc. 33, 327–340 (1927)MATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Lehmer D.H.: On the converse of Fermat’s theorem. Am. Math. Mon. 43(6), 347–354 (1936)CrossRefMathSciNetGoogle Scholar
  25. 25.
    Lehmer D.H.: Maurice Kraitchik, Recherches sur la Théorie des Nombres, v. 1, Paris, 1924 (errata). Math. Tables Other Aids Comput. 2(19), 313 (1947)Google Scholar
  26. 26.
    Lehmer D.H.: On the factors of 2n ± 1. Bull. Am. Math. Soc. 53(2), 164–167 (1947)MATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Lehmer D.H.: On the converse of Fermat’s theorem II. Am. Math. Mon. 56(5), 300–309 (1949)MATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    Hartree D.R.: Calculating Instruments and Machines. University of Illinois Press, Urbana (1949)Google Scholar
  29. 29.
    Lehmer D.H.: The influence of computing on mathematical research and education. In: Lasalle, J. (eds) The Influence of Computing on Mathematical Research and Education, Proceedings of Symposia in Applied Mathematics, vol. 20, pp. 3–12. American Mathematical Society, Providence (1974)Google Scholar
  30. 30.
    Hoffleit D.: A comparison of various computing machines used in the reduction of Doppler observations. Math. Tabels Other Aids Comput. 3(25), 373–377 (1949)CrossRefGoogle Scholar
  31. 31.
    Hopper, G.M., Mauchly, J.: Influence of programming techniques on the design of computers. Proceedings of the IRE pp. 1250–1254. (1953)Google Scholar
  32. 32.
    Dijkstra, E.W.: Notes on structured programming. In: Structured Programming, pp. 1–82. Academic Press, New York (1972)Google Scholar
  33. 33.
    Hoare C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–678 (1978)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag 2009

Authors and Affiliations

  1. 1.Université Paris 8, Vincennes à Saint-DenisParisFrance
  2. 2.CLPSUniversiteit GentGentBelgium

Personalised recommendations