Бём, Коррадо

Коррадо Бём (Corrado Böhm; 17 января 1923, Милан, Королевство Италия23 октября 2017, Рим, Италия) — итальянский математик, специалист в области информатики и математической логики, внёсший решающий вклад в теоретическое обоснование парадигмы структурного программирования и получивший важные результаты в λ-исчислении, комбинаторной логике, семантике языков программирования; один из ранних исследователей теории языков программирования. Почётный профессор римского университета «Сапиенца», сооснователь факультетов информатики Туринского университета и «Сапиенцы».

Биография

Родился и вырос в Милане. В 1942 году уехал в Швейцарию, где поступил в Лозаннский университет. Окончил вуз в 1946 году с дипломом по электротехнике, после чего был принят ассистентом-исследователем в Высшую техническую школу Цюриха[1].

В 1949—1950 годы работал в Цюрихском институте прикладной математики (входящем в систему Высшей технической школы Цюриха) в группе Эдуарда Штифеля, среди руководителей направления в институте работал также Пауль Бернайс, который, как впоследствии отмечал учёный, оказал на него большое влияние, стимулировав интерес к теоретическим вопросам вычислимости и машинам Тьюринга.

Совместно с другим сотрудником института — Харри Лаэтом — протестировал компьютер Z4 Конрада Цузе[2], который в итоге был куплен Высшей технической школой (и стал, таким образом, первым в мире коммерческим компьютером). В 1951 году под руководством Штифеля завершил докторскую диссертацию, работа выпущена в 1952 году, формальная защита состоялась в 1954 году.

В 1951 году вернулся в Италию. В 1953 году работал в Ивреа в фирме Olivetti, в том же году принят на должность исследователя в Институт прикладного математического анализа в Риме. В институте совместно с британской фирмой Ferranti под руководством Мауро Пиконе создавался первый итальянский компьютер FINAC, и Бём занимался тестированием его производительности[1]. В основном же работы периода 1950-х годов посвящены с основному направлению института — дифференциальному и интегральному исчислению и его приложениям.

С 1960 года, продолжая работать в Институте прикладного математического анализа, начал читать курсы по информатике в римском университете «Сапиенца», там же появились первые ученики-аспиранты. В 1968 году получил профессорское звание.

В 1970 году он занял первую в Италии должность профессора информатики в Туринском университете, а в 1974 году получил назначение в римский университет «Сапиенца»[3].

В 1975 году организовал в университете международную конференцию по λ-исчислению, ставшую первым таким событием в направлении, и сыгравшем важную роль в бурном его развитии в ближайшее десятилетие. В том же году вошёл в редакционный совет журнала «Theoretical Computer Science», в котором оставался до последних лет; к 70-летию учёного в 1993 году журнал посвятил специальный выпуск.

В 1990 году избран академиком Европейской академии[4]. В 1994 году получил степень honoris causa Миланского университета[5]. В 2001 году за достижения в области теории языков программирования награждён премией Европейской ассоциации теоретической информатики[6].

В последние годы жизни он являлся почётным профессором (professor emeritus) Римского университета «Сапиенца». Коррадо Бём скончался 23 октября 2017 года в возрасте 94 лет[4].

Научный вклад

Языки программирования

В рамках диссертационной работы создал язык Formules и компилятор для него. Главным новшеством стало то, что компилятор языка был разработан на самом же языке, то есть стал первым в истории полным метациркулярным компилятором. Текст компилятора занимал всего 114 строк кода.

В 1960-х годах совместно с Вольфом Гроссом разработал функциональный язык программирования CUCH, основанный на комбинаторной логике Карри и бестиповом λ-исчислении Чёрча. Название языка является акронимом, образованным от фамилий этих двух логиков[7].[8]

В 1964 году создал язык программирования P′′ — минималистичный язык без оператора безусловного перехода. В поддержку вычислительной выразительности созданного языка в рамках совместной работы с одним из учеников в университете «Сапиенца» — Джузеппе Якопини — доказал в 1966 году тьюринг-полноту P′′, означавшую, в свою очередь, выразимость любого алгоритма лишь тремя структурами управления — последовательной передачей управления, ветвлением и циклом. Этот результат подвёл научный базис под структурное программирование: в заметке 1968 года Дейкстра сослался на теорему Бёма — Якопини как на возможность полностью искоренить оператор GOTO из практики программирования, после чего парадигма получила всеобщее признание.

С середины 1960-х годов работал над проблемами λ-исчисления. Среди полученных результатов — теорема о противоречивости утверждения об эквивалентности различных λ-термов в -нормальной форме (то есть не имеющих нераскрытых подтермов вида и , где не является свободной переменной в ). Из этого утверждения непосредственно следует полнота по Гильберту — Посту экстенсионального λ-исчисления. Кроме важности самого результата, оказались востребованы и методы доказательства утверждения: бёмовскую технику выворачивания термов использовал Барендрегт для сопоставления каждому терму конструкции, названной им деревом Бёма, примечательной тем, что в топологии Скотта на этих деревьях все определимые функции λ-исчисления непрерывны[9].

Другая работа в области λ-исчисления, оказавшая влияние на теорию языков программирования — построение в начале 1970-х годов с ученицей Марьянджолой Дедзани-Чанкальини (итал. Mariangiola Dezani-Ciancaglini) абстрактной машины со стратегией вычисления вызова по имени с автоматической обработкой -конверсии.

Теорема Бёма — Якопини

В 1964 году создал язык программирования P′′ — минималистичный язык без оператора безусловного перехода. В поддержку вычислительной выразительности созданного языка в рамках совместной работы с одним из учеников в университете «Сапиенца» — Джузеппе Якопини — доказал в 1966 году тьюринг-полноту P′′, означавшую, в свою очередь, выразимость любого алгоритма лишь тремя структурами управления — последовательной передачей управления, ветвлением и циклом.

Этот результат подвёл научный базис под структурное программирование: в заметке 1968 года Дейкстра сослался на теорему Бёма — Якопини как на возможность полностью искоренить оператор GOTO из практики программирования, после чего парадигма получила всеобщее признание.

Итальянский оригинал статьи вышел в июне 1962 года[10][11]. В современных учебниках теорема упоминается как фундаментальная основа структурного программирования. При этом отмечается её преимущественно теоретический характер: классическое доказательство требует введения дополнительных переменных, а на чисто пропозициональном уровне теорема неверна[12][13][14][15].

Лямбда-исчисление

С середины 1960-х годов работал над проблемами λ-исчисления. Среди полученных результатов — доказанная в 1968 году теорема о противоречивости утверждения об эквивалентности различных λ-термов в -нормальной форме (то есть не имеющих нераскрытых подтермов вида и , где не является свободной переменной в ), известная как теорема Бёма (или теорема о разделимости)[16][17][18][19]. Из этого утверждения непосредственно следует полнота по Гильберту — Посту экстенсионального λ-исчисления.

Кроме важности самого результата, оказались востребованы и методы доказательства утверждения: бёмовскую технику выворачивания термов использовал Барендрегт для сопоставления каждому терму конструкции, названной им деревом Бёма, примечательной тем, что в топологии Скотта на этих деревьях все определимые функции λ-исчисления непрерывны[20]. Другая работа в области λ-исчисления, оказавшая влияние на теорию языков программирования — построение в начале 1970-х годов с ученицей Марьянджолой Дедзани-Чанкальини (итал. Mariangiola Dezani-Ciancaglini) абстрактной машины CUCH-machine[21] со стратегией вычисления вызова по имени с автоматической обработкой -конверсии.

Избранная библиография

  •  публикация о P′′
  •  статья с теоремой Бёма — Якопини
  •  статья с теоремой Бёма об отделимости термов в нормальной форме и содержащая технику выворачивания термов[22]
  •  статья о стратегии вычисления с вызовом по имени с автоматической -конверсией[23]
  • λ-Calculus and Computer Science Theory / C. Böhm (editor). — Berlin: Springer-Verlag, 1975. — Т. 37. — 383 с. — (Lecture Notes in Computer Science). — ISBN 3-540-07416-3. — материалы симпозиума по λ-исчислению в информатике, прошедшего 25—27 марта 1975 года

Личная жизнь

В 1950 году женился на художнице из Падуи Еве Романин Якур.

Примечания

  1. 1 2 Биография, 2013.
  2. Herbert Bruderer. Computing History Beyond the U.K. and U.S.: Selected Landmarks from Continental Europe // Communications of the ACM. — 2017. — Т. 60, № 2. — С. 76—84. — doi:10.1145/2959085. Архивировано 18 сентября 2020 года.
  3. Corrado Böhm. Università degli Studi di Roma "La Sapienza". Дата обращения: 11 июня 2026.
  4. 1 2 Corrado Böhm. Academia Europaea (24 октября 2017). Дата обращения: 11 июня 2026. Архивировано 24 января 2021 года.
  5. In memoria di Corrado Böhm (1923—2017). Università degli Studi di Roma „La Sapienza” (23 октября 2017). Дата обращения: 8 января 2018. Архивировано 8 января 2018 года.
  6. EATCS Award. European Association of Theoretical Computer Science (1 января 2018). Дата обращения: 11 июня 2026. Архивировано 17 января 2018 года.
  7. Corrado Böhm. Curriculum Vitae. Academia Europaea. Дата обращения: 11 июня 2026.
  8. The CUCH as a Universal Language for Computable Functions. Radboud University. Дата обращения: 11 июня 2026.
  9. Барендрегт, Хенк. Глава 10. Деревья Бёма // Ламбда-исчисление. Его синтаксис и семантика = The Lambda Calculus. Its syntax and semantics / перевод с английского Г. Е. Минца. — М.: Мир, 1985. — С. 19, 46, 220—276. — 606 с. — 4800 экз.
  10. Corrado Böhm’s bio and bibliography. mazzucchelli.info. Дата обращения: 11 июня 2026.
  11. Flow diagrams, Turing machines and languages with only two formation rules. cs.unibo.it. Дата обращения: 11 июня 2026.
  12. Il teorema di Bohm-Jacopini. studenti.it. Дата обращения: 11 июня 2026.
  13. Teorema di Bohm-Jacopini. treccani.it. Дата обращения: 11 июня 2026.
  14. Теорема Бёма — Якопини. habr.com. Дата обращения: 11 июня 2026.
  15. The Bohm-Jacopini Theorem is False. cs.cornell.edu. Дата обращения: 11 июня 2026.
  16. Alcune proprietà delle forme β-η-normali nel λ-K-calcolo. gallium.inria.fr (1968). Дата обращения: 11 июня 2026.
  17. Separation in Lambda Calculus. normalesup.org. Дата обращения: 11 июня 2026.
  18. The Church-Böhm Model. cs.ru.nl. Дата обращения: 11 июня 2026.
  19. Corrado Böhm CV. ae-info.org. Дата обращения: 11 июня 2026.
  20. Барендрегт, Хенк. Глава 10. Деревья Бёма // Ламбда-исчисление. Его синтаксис и семантика = The Lambda Calculus. Its syntax and semantics / перевод с английского Г. Е. Минца. — М.: Мир, 1985. — С. 19, 46, 220—276. — 606 с. — 4800 экз.
  21. A CUCH-machine: the automatic treatment of bound variables. computer.org. Дата обращения: 11 июня 2026.
  22. Alcune proprietà delle forme β-η-normali nel λ-K-calcolo (PDF). Дата обращения: 11 июня 2026.
  23. Introduction to the CUCH. Cambridge Core. Дата обращения: 11 июня 2026.

Ссылки

Дополнительно по теме