Открытые реализации автоматических теоремных доказателей евклидовой геометрии

Вопрос или проблема

Я планирую работать над расширением теоремного доказателя, специализированного на генерации доказательств для вопросов, основанных на евклидовой геометрии, которая преподаётся старшеклассникам для введения их в идеи доказательств и логического рассуждения. Некоторые открытые реализации, которые я нашёл, это JGEX (Эксперт по геометрии на Java) и GeometricTheoremProver библиотека на Julia. Тем не менее, я считаю, что эти реализации в значительной степени основаны на алгебраических методах (то есть кодирование посылок и утверждения как полинома). Я ищу реализацию, основанную на синтетических методах1. Я хочу найти реализацию, которая тесно связана с GEOM2 или QED_TUTRIX3.

  1. https://www.mat.uc.pt/~pedro/cientificos/presentationUrbino2019.pdf

  2. Coelho, Helder; Pereira, Luis Moniz, Автоматизированное рассуждение в доказательстве теорем геометрии с помощью Prolog, J. Autom. Reasoning 2, 329-390 (1986). ZBL0642.68161.

  3. Font, L., Cyr, S., Richard, P.R. и Gagnon, M., 2020. Автоматизация генерации доказательств по геометрии для старшеклассников с использованием Prolog в образовательном контексте. arXiv препринт arXiv:2002.12551.

Ответ или решение

К автоматизированным теоремным доказателям в области евклидовой геометрии, специализированным для школьников, существует множество открытых реализаций. Однако, как вы правильно отметили, многие из них, такие как Java Geometry Expert (JGEX) и GeometricTheoremProver на языке Julia, основаны на алгебраических подходах, которые взаимодействуют с уравнениями и полиномами. Вам требуется система, опирающаяся на синтетические методы. В этой статье мы рассмотрим несколько возможных открытых реализаций теоремных доказателей, которые могут быть полезны для ваших целей.

Открытые проекты на основе синтетических методов

  1. GEOM (Geometric Theorem Prover):
    GEOM является одним из самых известных доказателей теорем в области евклидовой геометрии, основывающимся на синтетических методах. Он позволяет формулировать доказательства по геометрическим конструкциям, используя аксиомы и теоремы, которые соответствуют традиционным методам обучения в школе. GEOM хорошо документирован и имеет активное сообщество. Однако важно отметить, что исходный код может быть менее доступен, чем в некоторых других современных реализациях.

  2. 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), предназначены для обработки вычислительной геометрии, что может быть интересно для вашего проекта.

Рекомендации и дальнейшие шаги

  1. Изучите проекты в деталях: Просмотрите документацию выбранных вами проектов, чтобы понять их архитектуру и возможности. Обратите внимание на то, какие синтетические методы они используют и какой функционал предоставляет.

  2. Контактируйте с сообществом: Присоединяйтесь к форумам и рабочим группам, связанным с этими проектами. Это поможет вам найти единомышленников и получить помощь в установке и расширении этих доказателей.

  3. Разработка на основе существующих систем: Попробуйте интегрировать идеи и методы из GEOM и QED_TUTRIX в ваш проект, создавая свою библиотеку на основе их подходов.

Заключение

Выбор правильного автоматизированного доказателя теорем для евклидовой геометрии, основанного на синтетических методах, — задача непростая, но с множеством доступных ресурсов. Внимательно исследуйте существующие реализации и не бойтесь экспериментировать с различными подходами. Оптимизация SEO и внимание к качеству текстов помогут вашему проекту привлечь нужное внимание и сообщество для дальнейшего развития.

Оцените материал
Добавить комментарий

Капча загружается...