Tôi muốn nói rằng sự phân biệt cổ điển của "chứng minh định lý tự động" (ATP) so với "chứng minh định lý tương tác" (ITP) cần phải được xem xét lại. Nếu bạn sử dụng một hệ thống ITP nổi tiếng như Isabelle / HOL ngày hôm nay (Isabelle2013 từ tháng 2 năm 2013), thì nó tích hợp khá nhiều công cụ bổ trợ từ danh mục ATP:
Các công cụ chứng minh tự động chung trên tàu: các công cụ cũ của Isabelle như fast
và blast
(của L. Paulson) và các công cụ tự động mới hơn như metis
(của J. Hurd).
Các ATP bên ngoài cho Logic bậc nhất được gọi thông qua Sledgehammer: E prover, SPASS, Vampire. Bằng chứng được tìm thấy được phân tích để tìm ra những bổ đề đã đóng góp cho nó, giảm 10000 đến 10 giây và cho kết quả metis
.
Các SMT bên ngoài với sự tái cấu trúc một phần bằng chứng, đáng chú ý là Z3 (bởi S. Boehme).
Các công cụ để tìm các ví dụ phản biện của các tuyên bố chưa được chứng minh: Nitpick / Kodkodi (J. Blanchette) và Quickcheck (L. Bulwahn).
Có phải tất cả những thứ tự động đó làm cho Isabelle trở thành một người hoạt động theo định lý tự động?
Cuối cùng, tôi nghĩ rằng sự khác biệt của "ATP" so với "ITP" chỉ là một loại "nhãn" cho biết cách bạn muốn định vị hoặc "bán" hệ thống của mình: ATPs tuyên bố là "công cụ nhấn nút", nhưng trong thực hành bạn sẽ phải tương tác (gián tiếp), bằng cách cung cấp các tham số hoặc gợi ý, hoặc cải cách vấn đề của bạn. Điều đó thực sự có thể khá khó khăn, do thời gian chạy dài là điểm chung trong cộng đồng ATP.
Ngược lại, một hệ thống ITP được tạo ra cho những người chờ đợi tại chỗ, với quyền truy cập một nửa vào các trạng thái bằng chứng nội bộ, để xem những gì còn thiếu để hoàn thành bằng chứng. Một hệ thống ITP kết hợp các công cụ ATP theo cách của Isabelle có thể trở nên hấp dẫn hơn đối với nhiều người dùng và nhiều ứng dụng hơn là chỉ riêng ITP hoặc ATP.