Tại sao một hệ thống phân cấp vô hạn?


18

Coq, Agda và Idris có hệ thống phân cấp loại vô hạn (Loại 1: Loại 2: Loại 3: ...). Nhưng tại sao không làm điều đó thay vì như λC, hệ thống trong khối lambda đó là gần gũi nhất với các tính toán của các công trình xây dựng, trong đó có chỉ có hai loại, và , và các quy tắc?

:

ΓT1:s1Γ,x:T1t:T2Γ(λx:T1,t):(Πx:T1,T2)

ΓT1:s1Γ,x:T1T2:s2Γ(Πx:T1,T2):s2

Điều này có vẻ đơn giản hơn. Hệ thống này có những hạn chế quan trọng?

Câu trả lời:


19

Trên thực tế, cách tiếp cận của CoC mang tính biểu cảm hơn - nó cho phép định lượng tùy ý bắt buộc. Ví dụ: loại a.aa có thể được khởi tạo ngay lập tức để có được (a.aa)(a.aa) , điều này là không thể đối với hệ thống phân cấp vũ trụ.

Lý do nó không được sử dụng rộng rãi là vì định lượng dự phòng không tương thích với logic cổ điển. Nếu bạn có nó, bạn không thể đưa ra một mô hình của lý thuyết loại trong đó các loại được hiểu là các tập hợp theo cách ngây thơ --- xem phần Đa hình nổi tiếng của John Reynold không phải là lý thuyết .

Vì nhiều người muốn sử dụng lý thuyết loại như một cách để kiểm tra các bằng chứng toán học thông thường, nên họ thường không hào hứng với các tính năng lý thuyết loại không tương thích với các nền tảng thông thường. Trên thực tế, Coq ban đầu ủng hộ sự thiếu sót, nhưng họ đã dần từ bỏ nó.


9

Tôi sẽ khen câu trả lời (xuất sắc, như thường lệ) của Neel với một chút giải thích hơn về lý do tại sao các cấp độ được sử dụng trong thực tế.

Hạn chế quan trọng đầu tiên của CoC là nó tầm thường! Một quan sát đáng ngạc nhiên là không có loại mà bạn có thể chứng minh rằng nó có nhiều hơn một yếu tố, ít hơn một số lượng vô hạn của chúng. Chỉ thêm 2 vũ trụ sẽ cung cấp cho bạn các số tự nhiên với vô số yếu tố và tất cả các kiểu dữ liệu "đơn giản".

Giới hạn thứ hai là các quy tắc tính toán: CoC chỉ hỗ trợ phép lặp , tức là các hàm lặp lại không có quyền truy cập vào các điều khoản phụ của các đối số của chúng. Vì lý do này, sẽ thuận tiện hơn khi thêm các loại quy nạp như một cấu trúc nguyên thủy, tạo ra CIC. Nhưng bây giờ một vấn đề khác nảy sinh: quy tắc cảm ứng tự nhiên nhất (được gọi là loại bỏ trong bối cảnh này) không phù hợp với Trung gian bị loại trừ! Những vấn đề này không xuất hiện nếu bạn giới hạn quy tắc cảm ứng đối với các loại dự đoán có vũ trụ.

Tóm lại, có vẻ như CoC không có tính biểu cảm hay tính nhất quán mạnh mẽ mà bạn muốn trong một hệ thống nền tảng. Thêm vũ trụ giải quyết nhiều vấn đề.


Bạn có một số tài liệu tham khảo cho giới hạn đầu tiên? Nếu không, bạn có thể đưa ra gợi ý về cách vũ trụ thứ hai giúp chứng minh sự bất bình đẳng (mệnh đề? Meta?) Không?
Łukasz Lew

@ UkaszLew Đây thực sự là một hệ quả đơn giản của mô hình "bằng chứng không liên quan", có thể dễ dàng bị googled cho. Trong mô hình đó không có loại nào có nhiều hơn 1 phần tử. Có 2 vũ trụ ngăn chặn mô hình đó tồn tại. Luận án của Alexandre Miquel cung cấp một tài liệu tham khảo cho một loại có số lượng phần tử vô hạn với 2 vũ trụ.
cody
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.