Я, как и многие люди, увлекаюсь математическими программами, такими как Mathematica и Maple. Однако меня все больше расстраивают многочисленные случаи, когда такое программное обеспечение просто дает вам неправильный ответ без предупреждения. Это может произойти при выполнении всех видов операций от простых сумм до оптимизации среди многих других примеров.
Мне было интересно, что можно сделать с этой серьезной проблемой. Необходим какой-то способ, позволяющий пользователю проверить правильность ответа, который дан, чтобы у него была определенная уверенность в том, что ему говорят. Если бы вы получили решение от математического коллеги, она или он могли бы просто сесть и показать вам, как они работают. Однако в большинстве случаев это невозможно для компьютера. Может ли компьютер вместо этого дать вам простой и легко проверяемый свидетель правильности их ответа? Проверка, возможно, должна быть сделана компьютером, но, надеюсь, проверка алгоритма проверки будет намного проще, чем проверка алгоритма для получения свидетеля в первую очередь. Когда это будет возможно и как именно это можно будет формализовать?
Итак, в заключение, мой вопрос заключается в следующем.
Возможно ли, по крайней мере, теоретически, для математического программного обеспечения предоставить краткое проверяемое доказательство вместе с ответом, который вы просили?
Тривиальный случай, когда мы можем сделать это немедленно, это, конечно, факторизация целых чисел или многих классических NP-полных задач (например, гамильтонова схема и т. Д.).