Đó là một ảo tưởng rằng các quy tắc tính toán "xác định" hoặc "xây dựng" các đối tượng mà họ nói về. Bạn đã quan sát chính xác rằng phương trình cho không "định nghĩa" nó, nhưng cũng không thể quan sát rằng điều tương tự cũng đúng trong các trường hợp khác. Chúng ta hãy xem xét nguyên tắc cảm ứng cho đơn vị loại , dường như đặc biệt rõ ràng là "xác định". Theo Mục 1.5 của sách HoTT, chúng tôi có
với phương trình
Điều này "xác định" hay "xây dựng" theo nghĩa là nó không còn nghi ngờ gì về những gì "làm"? Chẳng hạn, đặt 1 i n d 1 : Π C : 1 → T y p đ C(⋆)→ Π x : 1 P(x) i n d 1 (C,c,⋆)=c. i n d 1 i n d 1 C(x)= Nind=A1
ind1:∏C:1→TypeC(⋆)→∏x:1P(x)
ind1(C,c,⋆)=c.
ind1ind1C(x)=N và và xem xét những gì chúng ta có thể nói về
cho một biểu thức đã cho loại . Suy nghĩ đầu tiên của bạn có thể là chúng ta có thể giảm điều này xuống còn vì " là yếu tố duy nhất của ". Nhưng để khá chính xác, ví dụ, phương trình cho chỉ có thể áp dụng được nếu chúng ta hiển thị , điều này là không thể khi là một biến. Chúng ta có thể cố gắng ngọ nguậy điều này và nói rằng chúng ta chỉ quan tâm đến việc tính toán với các điều khoản đóng, vì vậy nên bị đóng.
i n d 1 ( C , 42 , e ) e 1 42 ⋆ 1 i n d 1 e ≡ ⋆ e ea=42ind1(C,42,e)
e142⋆1ind1e≡⋆ee
Đây không phải là trường hợp mà mọi thuật ngữ loại đều có giá trị bằng ? Điều đó phụ thuộc vào các chi tiết khó chịu và bằng chứng phức tạp về bình thường hóa, thực sự. Trong trường hợp của Hott câu trả lời là "không" vì có thể chứa các thể hiện của Univalence Axiom, và nó không được rõ ràng những gì làm để về điều đó (đây là các vấn đề mở trong Hott).1 ⋆ ee1⋆e
Chúng ta có thể phá vỡ những rắc rối với univalance bằng cách xem xét một phiên bản của loại lý thuyết mà không có đặc tính tốt để mỗi nhiệm kỳ khép kín kiểu là phê phán những hành bằng . Trong trường hợp đó nó là công bằng để nói rằng chúng tôi làm biết làm thế nào để tính toán với , nhưng:⋆ i n d 11⋆ind1
Điều tương tự cũng sẽ áp dụng cho loại danh tính, bởi vì mọi thuật ngữ đóng của loại nhận dạng sẽ có giá trị bằng một số , và do đó phương trình cho sẽ cho biết chúng tôi làm thế nào để tính toán.i n d = Arefl(a)ind=A
Chỉ vì chúng tôi biết cách tính toán với các điều khoản đóng của một loại, điều đó không có nghĩa là chúng tôi thực sự đã định nghĩa bất cứ điều gì vì có nhiều loại hơn các điều khoản đóng của nó , như tôi đã cố gắng giải thích một lần.
Ví dụ, lý thuyết loại Martin-Löf (không có loại nhận dạng) có thể được hiểu theo lý thuyết miền theo cách chứa hai phần tử và , trong đó tương ứng với và để không kết thúc. Than ôi, vì không có cách nào để viết ra một biểu thức không kết thúc trong lý thuyết loại, không thể được đặt tên. Do đó, phương trình cho nào không cho chúng tôi biết làm thế nào để tính toán trên (hai sự lựa chọn rõ ràng là "hăm hở" và "lười biếng").⊥ ⊤ ⊤ ⋆ ⊥ ⊥ i n d 1 ⊥1⊥⊤⊤⋆⊥⊥ind1⊥
Về mặt kỹ thuật phần mềm, tôi sẽ nói rằng chúng ta có một sự nhầm lẫn giữa đặc tả và việc thực hiện . Các tiên đề HoTT cho các loại danh tính là một đặc điểm kỹ thuật . Phương trình không cho chúng ta biết cách tính toán hoặc cách xây dựng , nhưng đúng hơn là được "triển khai", chúng tôi yêu cầu nó phải thỏa mãn phương trình. Đó là một câu hỏi riêng biệt liệu có thể thu được theo kiểu xây dựng hay không.ind=C(C,c,x,x,refl(x))≡c(x)ind=Cind=Cind=C
Cuối cùng, tôi hơi mệt mỏi về cách bạn sử dụng từ "mang tính xây dựng". Có vẻ như bạn nghĩ rằng "mang tính xây dựng" giống như "được xác định". Theo cách giải thích đó, nhà tiên tri dừng là mang tính xây dựng, bởi vì hành vi của nó được xác định bởi yêu cầu chúng ta áp đặt cho nó (cụ thể là nó xuất 1 hoặc 0 tùy theo việc máy đã cho dừng). Hoàn toàn có thể mô tả các đối tượng chỉ tồn tại trong một thiết lập không mang tính xây dựng. Ngược lại, hoàn toàn có thể nói một cách xây dựng về các thuộc tính và những thứ khác thực sự không thể tính được. Đây là một: mối quan hệ được xác định bởi
H⊆N×{0,1}
H(n,d)⟺(d=1⇒n-th machine halts)∧(d=0⇒n-th machine diverges)
là mang tính xây dựng, tức là không có gì sai với định nghĩa này theo quan điểm xây dựng. Thực tế là người ta không thể chỉ ra rằng là một mối quan hệ tổng thể và bản đồ đặc trưng của nó không ảnh hưởng đến , vì vậy chúng tôi không thể "tính toán" các giá trị của nó.
HχH:N×{0,1}→Propbool
Phụ lục: Tiêu đề của câu hỏi của bạn là "Cảm ứng đường dẫn có mang tính xây dựng không?" Sau khi đã làm rõ sự khác biệt giữa "mang tính xây dựng" và "được xác định", chúng ta có thể trả lời câu hỏi. Có, cảm ứng đường dẫn được biết là mang tính xây dựng trong một số trường hợp:
Nếu chúng ta hạn chế loại lý thuyết mà không có Univalence để chúng ta có thể hiển thị chuẩn hóa mạnh, thì cảm ứng đường dẫn và mọi thứ khác đều mang tính xây dựng vì có các thuật toán thực hiện thủ tục chuẩn hóa.
Có các mô hình khả thi của lý thuyết loại, giải thích cách mọi thuật ngữ đóng trong lý thuyết loại tương ứng với máy Turing. Tuy nhiên, những mô hình này đáp ứng Axiom K của Strerich, loại trừ Univalence.
Có một bản dịch của lý thuyết loại (một lần nữa không có Univalence) thành lý thuyết tập hợp xây dựng CZF. Một lần nữa, điều này xác nhận tiên đề của Strerich K.
Có một mô hình nhóm trong các mô hình khả thi cho phép chúng ta giải thích lý thuyết loại mà không cần Stre Rich's K. Đây là công việc sơ bộ của Steve Awodey và bản thân tôi.
Chúng tôi thực sự cần phải sắp xếp trạng thái xây dựng của Univalence.