Là cảm ứng đường dẫn mang tính xây dựng?


17

Tôi đang đọc qua cuốn sách HoTT và tôi có một khoảng thời gian khó khăn với cảm ứng đường dẫn.

Khi tôi nhìn vào loại trong phần 1.12.1 : tôi không có vấn đề gì để hiểu điều đó có nghĩa là gì (tôi vừa viết loại từ bộ nhớ, để kiểm tra xem).

ind=A:C:x,y:A(x=Ay)U((x:AC(x,x,reflx))x,y:Ap:x=AyC(x,y,p)),

Điều tôi gặp phải là câu lệnh tiếp theo: ấn tượng đầu tiên của tôi là biểu thức cuối cùng này không xác định hàm kết quả nhưng chỉ nêu tài sản .
f : x , y : A p : x = A y C ( x , y , p ) ,

with the equalityind=A(C,c,x,x,reflx):≡c(x)
f:x,y:Ap:x=AyC(x,y,p),

Điều đó trái ngược với các ví dụ trước đây về các nguyên tắc cảm ứng , hoặc - ở đó đang xác định các phương trình cho các phần tử đó - chúng tôi thực sự biết cách xây dựng hàm kết quả, dựa trên các tiền đề. Điều này phù hợp với "tính xây dựng" của lý thuyết loại được quảng cáo trong suốt chương.indA×BindA+BindN

Quay trở lại , tôi đã nghi ngờ về thực tế rằng (có vẻ như) nó không được xác định. Nói rằng phần tử chỉ tồn tại dường như không phù hợp với phần còn lại của chương. Và thực sự, phần 1.12.1 dường như nhấn mạnh rằng ấn tượng của tôi là sai và thực tế chúng tôi đã xác địnhind=Af

... các chức năng được xác định bởi đường cảm ứng từ , hơn nữa thỏa mãn ...c : x : A C ( x , x , Refl x ) f ( x , x , Refl x ) : c ( x )f:x,y:Ap:x=AyC(x,y,p),
c:x:AC(x,x,reflx)
f(x,x,reflx):≡c(x)

Điều đó khiến tôi hoàn toàn bối rối, nhưng tôi có cảm giác rằng điểm này rất quan trọng đối với tất cả các phát triển tiếp theo. Vậy tôi nên đi với bài nào trong hai bài đọc cho ? Hoặc, có lẽ, tôi đang thiếu một số sự tinh tế quan trọng và câu trả lời là "không"? ind=A


Nhân tiện, đây không thực sự là một câu hỏi dành riêng cho HoTT, mà là một câu hỏi "loại phụ thuộc" tổng quát hơn.
cody

Câu trả lời:


12

Đó 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:1TypeC()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=42
ind1(C,42,e)
e1421ind1eee

Đâ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 ee1e

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 11ind1

  1. Đ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

  2. 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 11ind1

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ả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 HN×{0,1}

H(n,d)(d=1n-th machine halts)(d=0n-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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.


Tôi tin rằng câu trả lời này đã hết hạn (một phần)
WorldSEnder

Thật vậy, trong thời gian trung bình, lý thuyết loại hình lập phương đã đưa ra một câu trả lời có ý nghĩa: có một mô hình mang tính xây dựng của lý thuyết loại Univalent.
Andrej Bauer

7

Tôi không phải là người HoTT, nhưng tôi sẽ ném hai xu của mình.

Giả sử chúng ta muốn tạo một hàm Chúng ta sẽ làm điều này như thế nào? Chà, giả sử chúng ta đã cho bất kỳ và bằng chứng về đẳng thức của chúng . Vì tôi không biết gì về loại tùy ý , tôi không biết gì về 'cấu trúc' của . Tuy nhiên, tôi biết một số điều về loại đẳng thức cụ thể: nó có một hàm tạo duy nhất, Do đó, cho một số , nhưng điều này sẽ buộc . Do đó, nếu chúng ta có một phần tử cho bất kỳ

fA:x,y:Ap:x=AyC(x,y,p)
x,y:Ap:x=AyAx,y
refla:a=Aa, for any a:A
preflaa:Ax=a=yC(x,x,reflx)x:A; tức là nếu chúng ta có hàm (đối với cụ thể của chúng ta ), thì hàm của chúng ta có thể được định nghĩa như sau: .
baseC:x:AC(x,x,reflx)
CfA
fA(x,y,p):=baseC(x,x,p)

Loại bỏ các chỉ số dẫn đến định nghĩa quy nạp chung.

Mong rằng sẽ giúp!


Tái bút Tôi không phải là người HoTT, vì vậy tôi giả sử 'Axiom K'. Chính xác hơn, tôi giả định rằng một yếu tố của kiểu phải là kết quả của các ứng dụng lặp đi lặp lại của constructor của . Theo như tôi biết, HoTT, có lẽ là chương 2 trở đi, đã loại bỏ khái niệm này ... và điều đó hoàn toàn vô nghĩa với tôi.eEE


1
Có lẽ bạn có thể hiểu ý nghĩa của nó, hoặc ít nhất là lo lắng về trực giác hiện tại của mình bằng cách kiểm tra math.andrej.com/2013/08/28/the-elements-of-an-indulation-type nơi tôi cố gắng giải thích lý do tại sao thật có hại khi nghĩ rằng các điều khoản đóng của một loại là tất cả đối với một loại.
Andrej Bauer

2
Nhân tiện, bạn không cần phải giả định Axiom K. Để câu trả lời của bạn có ý nghĩa, bạn cần biết rằng mọi thuật ngữ đóng của một loại danh tính đều bình thường hóa thành . Điều này không liên quan gì đến Axiom K, vì một tính chất bình thường hóa như vậy không chứng minh được tiên đề K, và nó cũng không tuân theo tiên đề K.refl
Andrej Bauer

3

Tôi là một chàng trai HoTT nghiệp dư , vì vậy tôi sẽ cố gắng bổ sung cho câu trả lời tuyệt vời của Moses. Hãy để tôi lấy loại làm ví dụ. Nguyên tắc cơ bản của lý thuyết kiểu xây dựng, như Martin-Löf đã vạch ra, là * mọi phần tử của được mô tả là nằm trong hình ảnh của hàm tạo: triết lý này cho phép chúng ta xác định loại trừ : để xây dựng một hàm ra của , nó cũng đủ để mô tả hành động của nó trên hình ảnh của .A×BA×B

pair : ABA×B
f A×Bpair

Nhưng vì là một hàm tạo (và đặc biệt là phần tử tiêm), nên điều này có nghĩa chính xác là để xây dựng hàm , nó đủ để mô tả hành động của nó đối với một cặp phần tử trong và , vì vậy là đủ để mô tả một như vậy . Tóm lại, có một cách chính tắc để xác định các hàm trong và điều này có thể được gói gọn trong loại nhưng điều này là chính xác loại .pairf:A×BCAB

f:ABC
fA×B
(ABC)(A×BC)
indA×B

Nhưng điều này chỉ là một nửa của câu chuyện: những gì sẽ xảy ra nếu điều này mới được xây dựng được áp dụng cho một trao ? Vậy thì nên đồng ý với hàm định nghĩa của nó , tức là tức là và điều này sẽ giữ định nghĩa (hoặc tính toán ), có nghĩa là cả hai nên có thể hoán đổi cho nhau trong mọi tình huống (khác nhiều so với cái trong HoTT).f pair(a,b)ff

f(pair(a,b)) := f a b
indA×B f pair(a,b) := f a b
=

Vì vậy, bạn thấy rằng định nghĩa của một bộ khử cho loại quy nạp với các hàm tạo đã cho có hai bước:

  1. một nguyên tắc tồn tại , mô tả loại .ind

  2. một nguyên tắc kết hợp xác định hành vi tính toán của . Trong lý thuyết thể loại, điều này sẽ tương ứng với tính duy nhất của bộ khử trong một số ý nghĩa.ind


Hãy để tôi tranh luận rằng điều này giống với loại . Chúng tôi muốn xây dựng, đưa ra và , một yếu tố của (chúng tôi quên mất các phụ thuộc để đơn giản hóa). Để làm điều đó, chúng ta cần giả sử rằng đã được xây dựng bằng cách sử dụng hàm tạo cho kiểu , chỉ có thể là cho một số . Điều này có nghĩa là để cung cấp một hàm nó đủ để cung cấp một hàm được định nghĩa cho (một lần nữa, quên đi sự phụ thuộc trong ).=Ax,y:Ap:x=yCpx=y refl(z)z

f:Πx,y:A,x=yC
f:Πz:A,C
refl(z)C

Bây giờ nguyên tắc kết hợp nói gì? Đơn giản là nếu áp dụng cho một hàm tạo đã biết, sẽ hoạt động như , có nghĩa là f f z z r e f l ( z ) : = f zff

f z z refl(z):=f z

Nhưng đó chính xác là những gì bạn có ở trên! Nguyên tắc tương tự đã cho chúng ta sự tồn tại và kết hợp cho việc loại bỏ cho chúng ta sự tồn tại và kết hợp cho việc loại bỏ .= AA×B=A

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.