Như tôi đã nói trong các ý kiến, logic trực giác không phải là điểm chính. Điểm quan trọng hơn là có một bằng chứng xây dựng. Tôi nghĩ lý thuyết loại của Martin-Löf phù hợp với lý thuyết ngôn ngữ lập trình hơn logic logic trực giác và có những chuyên gia cho rằng công việc của Martin-Löf là lý do chính cho sự hồi sinh của mối quan tâm chung trong toán học xây dựng.
Việc giải thích khả năng tính toán của tính xây dựng là một viễn cảnh có thể, nhưng nó không phải là quan điểm duy nhất. Chúng ta nên cẩn thận ở đây khi chúng ta muốn so sánh bằng chứng xây dựng với bằng chứng cổ điển. Mặc dù cả hai có thể sử dụng cùng một biểu tượng, ý nghĩa của những biểu tượng đó là khác nhau.
Luôn luôn tốt để nhớ rằng bằng chứng cổ điển có thể được dịch thành bằng chứng trực giác. Nói cách khác, theo một nghĩa nào đó, logic cổ điển là một hệ thống con của logic trực giác. Do đó, bạn có thể nhận ra (nói sử dụng các hàm tính toán) bằng chứng cổ điển theo một nghĩa nào đó. Mặt khác, chúng ta có thể nghĩ toán học xây dựng như một số hệ thống toán học trong bối cảnh cổ điển.
Cuối cùng, các hình thức, cho dù cổ điển hay xây dựng, là công cụ để chúng tôi thể hiện các tuyên bố. Lấy một định lý cổ điển và cố gắng chứng minh nó một cách xây dựng mà không có quan điểm này không có ý nghĩa gì nhiều IMHO. Khi tôi nói cách cổ điển tôi có nghĩa là một cái gì đó khác với những gì tôi nói A ∨ B một cách xây dựng. Bạn có thể tranh luận gì "nên" được ý nghĩa thực sự của " ∨ " nhưng tôi nghĩ đó không phải là thú vị nếu chúng ta không thảo luận về những gì chúng tôi muốn thể hiện ở nơi đầu tiên. Chúng tôi có nghĩa là (ít nhất) một trong số họ nắm giữ và chúng tôi biết cái nào? Hay chúng ta chỉ đơn giản có nghĩa là một trong số họ nắm giữ?A∨BA∨B∨
Giờ đây, với quan điểm này, nếu chúng ta muốn chứng minh một tuyên bố như và chúng tôi muốn liên hệ này cho một ánh xạ từ x đến một số y thỏa mãn φ ( x , y ) thì cách tốt hơn để thể hiện có thể là cách xây dựng. Mặt khác, nếu chúng ta chỉ quan tâm đến sự tồn tại của y và không quan tâm đến cách tìm ra chúng thì cách cổ điển có lẽ sẽ có ý nghĩa hơn. Khi bạn chứng minh câu lệnh một cách xây dựng, bạn cũng đang ngầm xây dựng một thuật toán để tìm y từ x∀x ∃y φ(x,y)xyφ(x,y)yyx. Bạn có thể làm điều tương tự một cách rõ ràng với một công thức phức tạp hơn như "thuật toán có tài sản đó cho tất cả x , φ ( x , A ( x ) ) ", nơi Một là một số thuật toán được một cách rõ ràng. Nếu không rõ lý do tại sao người ta có thể thích cách xây dựng này để diễn đạt điều này, hãy nghĩ về ngôn ngữ lập trình như một sự tương tự: bạn có thể viết chương trình cho thuật toán MST của Kruskal bằng ngôn ngữ lắp ráp x86 trong đó bạn phải quan tâm đến nhiều vấn đề phụ hoặc bạn có thể viết một chương trình bằng Python.Axφ(x,A(x))A
Bây giờ tại sao chúng ta không sử dụng logic trực giác trong thực tế? Có một số lý do. Ví dụ, hầu hết chúng ta không được đào tạo với thiết lập tâm trí đó. Ngoài ra, việc tìm một bằng chứng cổ điển của một tuyên bố có thể dễ dàng hơn nhiều so với việc tìm một bằng chứng mang tính xây dựng của nó. Hoặc chúng ta có thể quan tâm đến các chi tiết cấp thấp bị ẩn và không thể truy cập trong cài đặt mang tính xây dựng (xem thêm logic tuyến tính ). Hoặc đơn giản là chúng ta có thể không quan tâm đến việc có thêm những thứ đi kèm với một bằng chứng mang tính xây dựng. Và mặc dù có các công cụ để trích xuất các chương trình từ bằng chứng, các công cụ này thường cần bằng chứng rất chi tiết và không đủ thân thiện với người dùng cho lý thuyết chung. Tóm lại, quá nhiều nỗi đau cho quá ít lợi ích.
Π02PAPAPA
Tôi nhớ rằng Douglas S. Bridges trong phần giới thiệu về cuốn sách lý thuyết tính toán của mình đã lập luận rằng chúng ta nên chứng minh kết quả của mình một cách xây dựng. Ông đưa ra một ví dụ mà IIRC về cơ bản như sau:
Giả sử rằng bạn làm việc cho một công ty phần mềm lớn và người quản lý của bạn yêu cầu bạn cho một chương trình để giải quyết vấn đề. Có thể chấp nhận quay lại với hai chương trình và nói với người quản lý của bạn một trong hai giải pháp này một cách chính xác nhưng tôi không biết chương trình nào?
Cuối cùng, chúng ta nên nhớ rằng mặc dù chúng ta sử dụng cùng một biểu tượng cho logic cổ điển và trực giác, những biểu tượng này có ý nghĩa khác nhau, và biểu tượng sử dụng phụ thuộc vào những gì chúng ta muốn thể hiện.
Đối với câu hỏi cuối cùng của bạn, tôi nghĩ rằng định lý Robertson của Seymour sẽ là một ví dụ về một định lý mà chúng ta biết nó đúng theo kinh điển nhưng chúng ta không có bất kỳ bằng chứng xây dựng nào về nó. Xem thêm