Để rõ ràng, chúng ta cần phân biệt các hàm toán học (tôi sẽ gọi chúng là các hàm và thường có rất nhiều trong số chúng để chúng không thể đếm được) và các hàm bạn có thể viết: Tôi sẽ gọi chúng là các chương trình hoặc cũng có thể tính toán được .
Một tập hợp con của một tập hợp đếm được E được gọi là tính toán nếu có một chương trình, đưa ra một yếu tố x của E trả lời "yes" nếu x ∈ S và "no" nếu x ∉ S . (Và anh ta luôn phải trả lời một cái gì đó) Một tập hợp được gọi là đệ quy vô số nếu chương trình được ủy quyền không trả lời thay vì nói "không". (tương đương với yêu cầu chương trình phải in tất cả các phần tử của S theo bất kỳ thứ tự nào)SExEx∈Sx∉SS
Tập hợp của tất cả các chương trình mà là tổng trên một tập hợp hữu hạn là đếm được vì bạn có thể viết một thông dịch viên mà chỉ cần chạy chương trình trên tất cả các yếu tố của tập hữu hạn và trở lại "yes" nếu tất cả họ đều chấm dứt. (Nhưng không thể xem có ai trong số họ không)
Giáo sư của bạn nói rằng tập hợp tất cả các chương trình có tổng số trên một tập hợp vô hạn là không thể đếm được vì bạn không thể chạy chương trình của mình với vô số phần tử.
Nhưng điều này không có nghĩa là điều này là xấu:
Ví dụ tập nếu tất cả các chương trình mà là provably tổng là đếm được vì bạn có thể liệt kê tất cả các bằng chứng và cách máy móc kiểm tra xem họ chứng minh chương trình của bạn là tổng.
Ngay cả một bộ vô số cũng sẽ không thực tế, bởi vì bạn có thể phải đợi mãi mà không chắc chắn liệu thủ tục có chấm dứt một ngày không. Tôi không thấy cách sử dụng một chương trình liệt kê tất cả các chức năng ...
Có một số ngôn ngữ lập trình trong đó mọi thứ bạn viết được đảm bảo chấm dứt chỉ bằng cách gõ tĩnh! Thậm chí có một số đảm bảo cho bạn đa thức ràng buộc. Hiện tại chúng chủ yếu mang tính học thuật, viết bằng những thứ đó có thể sẽ khiến bạn cảm thấy những hạn chế hơn khi viết bằng Python, nhưng có rất nhiều nhà nghiên cứu làm việc này.
Vì vậy, để trả lời câu hỏi của bạn: trong một ý nghĩa, có. Không chấm dứt tiềm năng là cần thiết để hoàn thành Turing (sức mạnh tính toán cao nhất hiện nay). Nhưng tôi không thấy điều này có liên quan trực tiếp đến thực tế là tổng số hàm có thể đếm được hay không. Bạn vẫn có thể viết tất cả các chương trình!