Все выпуски
- 2026 Том 36
- 2025 Том 35
- 2024 Том 34
- 2023 Том 33
- 2022 Том 32
- 2021 Том 31
- 2020 Том 30
- 2019 Том 29
- 2018 Том 28
- 2017 Том 27
- 2016 Том 26
- 2015 Том 25
- 2014
- 2013
- 2012
- 2011
- 2010
- 2009
- 2008
Дедуктивный синтез программ с использованием логического программирования
pdf (260K)
Эта статья представляет подход к дедуктивному синтезу программ с использованием секвенциального подхода Генцена в рамках логического программирования. Используя секвенциальное исчисление как формальную систему для структурированного логического вывода, наш метод автоматизирует вывод доказуемо корректных программ из спецификаций, выраженных в логике предикатов первого порядка без отрицаний. Мы формализуем синтаксис и семантику секвенциального исчисления, реализуя его основные правила вывода (правила введения и удаления) в виде предикатов в логическом программировании для обеспечения масштабируемого синтеза. Практические примеры демонстрируют преобразование логических спецификаций в исполняемые программы. Подход обеспечивает формальную корректность через конструктивную семантику реализуемости Клини, при этом синтезированные программы работают в субрекурсивном языке, чтобы гарантировать завершение вычислительных процессов. Мы оцениваем сильные стороны метода, включая его надежность для систем с критической безопасностью, и его ограничения, такие как вычислительная сложность для неограниченных конструкций. В сравнении с синтезом, управляемым ИИ, наш подход ставит на первое место формальные гарантии, дополняя современные тенденции. Направления будущих исследований включают оптимизацию вычислительной эффективности и расширение применимости к сложным задачам реального мира.
Deductive program synthesis using logic programming
This article presents an approach to deductive program synthesis using Gentzen’s sequent calculus within the framework of logic programming. By leveraging sequent calculus as a formal system for structured logical inference, our method automates the derivation of provably correct programs from specifications expressed in negation-free first-order predicate logic. We formalize the syntax and semantics of sequent calculus, implementing its core inference rules (introduction and elimination rules) as predicates in logic programming to enable scalable synthesis. Practical examples demonstrate the transformation of logical specifications into executable programs. The approach ensures formal correctness through a constructive semantics inspired by Kleene's realizability, with synthesized programs operating in a subrecursive language to guarantee termination. We evaluate the method's strengths, including its reliability for safety-critical systems, and its limitations, such as computational complexity for unbounded constructions. Compared to AI-driven synthesis, our approach prioritizes formal guarantees, complementing modern trends like relational programming. Future research directions include optimizing computational efficiency and extending applicability to complex real-world problems.
Журнал индексируется в Web of Science (Emerging Sources Citation Index)
Журнал входит в базы данных zbMATH, MathSciNet
Журнал включен в базу данных Russian Science Citation Index (RSCI) на платформе Web of Science
Журнал входит в систему Российского индекса научного цитирования.
Журнал включен в перечень ВАК.
Электронная версия журнала на Общероссийском математическом портале Math-Net.Ru.



