Вопрос или проблема
Я планирую работать над расширением теоремного доказателя, специализированного на генерации доказательств для вопросов, основанных на евклидовой геометрии, которая преподаётся старшеклассникам для введения их в идеи доказательств и логического рассуждения. Некоторые открытые реализации, которые я нашёл, это JGEX (Эксперт по геометрии на Java) и GeometricTheoremProver библиотека на Julia. Тем не менее, я считаю, что эти реализации в значительной степени основаны на алгебраических методах (то есть кодирование посылок и утверждения как полинома). Я ищу реализацию, основанную на синтетических методах1. Я хочу найти реализацию, которая тесно связана с GEOM2 или QED_TUTRIX3.
-
https://www.mat.uc.pt/~pedro/cientificos/presentationUrbino2019.pdf
-
Coelho, Helder; Pereira, Luis Moniz, Автоматизированное рассуждение в доказательстве теорем геометрии с помощью Prolog, J. Autom. Reasoning 2, 329-390 (1986). ZBL0642.68161.
-
Font, L., Cyr, S., Richard, P.R. и Gagnon, M., 2020. Автоматизация генерации доказательств по геометрии для старшеклассников с использованием Prolog в образовательном контексте. arXiv препринт arXiv:2002.12551.
Ответ или решение
К автоматизированным теоремным доказателям в области евклидовой геометрии, специализированным для школьников, существует множество открытых реализаций. Однако, как вы правильно отметили, многие из них, такие как Java Geometry Expert (JGEX) и GeometricTheoremProver на языке Julia, основаны на алгебраических подходах, которые взаимодействуют с уравнениями и полиномами. Вам требуется система, опирающаяся на синтетические методы. В этой статье мы рассмотрим несколько возможных открытых реализаций теоремных доказателей, которые могут быть полезны для ваших целей.
Открытые проекты на основе синтетических методов
-
GEOM (Geometric Theorem Prover):
GEOM является одним из самых известных доказателей теорем в области евклидовой геометрии, основывающимся на синтетических методах. Он позволяет формулировать доказательства по геометрическим конструкциям, используя аксиомы и теоремы, которые соответствуют традиционным методам обучения в школе. GEOM хорошо документирован и имеет активное сообщество. Однако важно отметить, что исходный код может быть менее доступен, чем в некоторых других современных реализациях. -
QED_TUTRIX:
QED_TUTRIX (QED – Qualitative Euclidean Domain) также ориентирован на автоматизацию доказательства геометрических теорем с синтетическим подходом. Этот проект собрал в себе множество методов автоматического доказательства, разработанных специально для применения в евклидовой геометрии. Несмотря на то, что он может не быть полностью открытым, стоит ознакомиться с доступными публикациями и исходными кодами, которые могут быть полезны для дальнейшей разработки.
Другие интересные проекты
-
GAP (Groups, Algorithms, Programming):
Хотя GAP в первую очередь посвящен групповой теории, он имеет модули и библиотеки, которые можно использовать для геометрических доказательств. Обратите внимание на пакеты, которые фокусируются на алгебраической геометрии и могут быть адаптированы для синтетических методов. -
Geosynth:
Это еще один проект, который разработан для работы с геометрическими построениями и доказательствами. Он предоставляет инструменты для разработки синтетических доказательств и может быть интересным для вас.
Библиотеки и языки программирования
-
Prolog:
Как упомянуто в ваших источниках, Prolog является мощным инструментом для автоматизации доказательства теорем, включая евклидовой геометрии. Обширные исследования, такие как работа Coelho и Pereira, демонстрируют его применение. Вы можете использовать программные интерфейсы и библиотеки, такие как SWI-Prolog, для интеграции с вашим проектом. -
Constructive Geometry Libraries:
Исследуйте существующие библиотеки, которые фокусируются на конструктивной геометрии и могут предложить интересные инструменты для синтетических доказательств. Библиотеки, такие как CGAL (Computational Geometry Algorithms Library), предназначены для обработки вычислительной геометрии, что может быть интересно для вашего проекта.
Рекомендации и дальнейшие шаги
-
Изучите проекты в деталях: Просмотрите документацию выбранных вами проектов, чтобы понять их архитектуру и возможности. Обратите внимание на то, какие синтетические методы они используют и какой функционал предоставляет.
-
Контактируйте с сообществом: Присоединяйтесь к форумам и рабочим группам, связанным с этими проектами. Это поможет вам найти единомышленников и получить помощь в установке и расширении этих доказателей.
-
Разработка на основе существующих систем: Попробуйте интегрировать идеи и методы из GEOM и QED_TUTRIX в ваш проект, создавая свою библиотеку на основе их подходов.
Заключение
Выбор правильного автоматизированного доказателя теорем для евклидовой геометрии, основанного на синтетических методах, — задача непростая, но с множеством доступных ресурсов. Внимательно исследуйте существующие реализации и не бойтесь экспериментировать с различными подходами. Оптимизация SEO и внимание к качеству текстов помогут вашему проекту привлечь нужное внимание и сообщество для дальнейшего развития.