Các luật bình đẳng cho các loại không là gì?


13

Tuyên bố miễn trừ trách nhiệm : trong khi tôi quan tâm đến lý thuyết loại, tôi không coi mình là một chuyên gia về lý thuyết loại.

Trong phép tính lambda được gõ đơn giản, kiểu số 0 không có hàm tạo và hàm khử duy nhất:

ΓM:0Γinitial(M):A

Từ quan điểm biểu thị, phương trình là rõ ràng (khi các loại có ý nghĩa).initial(M1)=initial(M2)

Tuy nhiên, từ quan điểm đó tôi cũng có thể suy ra rằng, khi M,M:0 , sau đó: M=M . Sự suy luận này có vẻ mạnh mẽ hơn, mặc dù một mô hình cụ thể cho thấy nó lảng tránh tôi.

(Tôi có một số trực giác lý thuyết bằng chứng: không quan trọng bạn sử dụng mâu thuẫn nào để có được một cư dân, nhưng có thể có các bằng chứng mâu thuẫn khác nhau.)

Vì vậy, câu hỏi của tôi là:

  1. Các luật bình đẳng tiêu chuẩn cho các loại không là gì?
  2. Là ai trong số họ phân loại là η hoặc β luật?

Câu trả lời:


12
  1. Các quy tắc equational tiêu chuẩn cho các loại sản phẩm nào là, như bạn phỏng đoán, . Hãy nghĩ về mô hình lý thuyết tập hợp tiêu chuẩn, trong đó các tập hợp được diễn giải theo các loại: các kiểu tổng là các liên hiệp rời rạc và kiểu trống là tập rỗng. Vì vậy, bất kỳ hai chức năng e , e ' : gamma 0 cũng phải được bình đẳng, kể từ khi họ có một đồ thị thông thường (cụ thể là, biểu đồ trống). .Γe=e:0e,e:Γ0

  2. Loại trống không có quy tắc, vì không có mẫu giới thiệu cho nó. Chỉ quy tắc equational của nó là một η -rule. Tuy nhiên, tùy thuộc vào mức độ bạn muốn diễn giải quy tắc eta nghiêm ngặt như thế nào, bạn có thể muốn chia nhỏ điều này thành η cộng với chuyển đổi đi lại. -Rule nghiêm ngặt là:βηηη

    e=initial(e)

    Bao phủ đi lại là:

    C[initial(e)]=initial(e)

BIÊN TẬP:

Đây là lý do tại sao phân phối ở loại 0 hàm ý sự bằng nhau của tất cả các bản đồ .A0

Để sửa ký hiệu, hãy viết là bản đồ duy nhất từ 0 đến A và hãy viết e : A 0 thành một bản đồ từ A đến 0 .!A:0A0Ae:A0A0

Bây giờ, điều kiện distributivity nói rằng có một đẳng cấu . Do các đối tượng ban đầu là duy nhất cho đến đẳng cấu, điều này có nghĩa là chính A × 0 là một đối tượng ban đầu. Bây giờ chúng ta có thể sử dụng điều này để chỉ ra rằng chính A là một đối tượng ban đầu.i:0A×0A×0A

là một đối tượng ban đầu, chúng tôi biết các bản đồ π 1 : A × 0 A! Aπ 2 bằng nhau.A×0π1:A×0A!Aπ2

Bây giờ, để chỉ ra rằng là một đối tượng ban đầu, chúng ta cần hiển thị một đẳng cấu giữa nó và 0 . Hãy chọn e : A 0! A :A0e:A0 là các thành phần của đẳng cấu. Chúng tôi muốn chứng minh rằng e ! A = i d 0 ! Mộte = i d Một .!A:0Ae!A=id0!Ae=idA

Thấy là ngay lập tức, vì chỉ có một bản đồ loại 0 0 và chúng tôi biết rằng luôn có một bản đồ nhận dạng.e!A=id000

Để hiển thị theo một hướng khác, lưu ý

idA=π1(idA,e)Product equations=!Aπ2(idA,e)Since A×0 is initial=!AeProduct equations

Do đó, chúng ta có một đẳng cấu , và do đó A là một đối tượng ban đầu. Do đó bản đồA0A là duy nhất, và vì vậy nếu bạn có e , e ' : Một 0 , sau đó e = e ' .A0e,e:A0e=e

EDIT 2: Hóa ra tình hình đẹp hơn tôi nghĩ ban đầu. Tôi đã học được từ Ulrich Bucholz rằng rõ ràng (theo nghĩa toán học là "hồi tưởng rõ ràng") rằng mọi biCCC đều có tính phân phối. Đây là một bằng chứng nhỏ dễ thương:

Hom((A+B)×C,(A+B)×C)Hom((A+B)×C,(A+B)×C)Hom((A+B),C(A+B)×C)Hom(A,C(A+B)×C)×Hom(B,C(A+B)×C)Hom(A×C,(A+B)×C)×Hom(B×C,(A+B)×C)Hom((A×C)+(B×C),(A+B)×C)

1
Về 1: Tôi nghĩ về một loại không là một đối tượng ban đầu. Các đối tượng ban đầu có thể có nhiều mũi tên vào chúng, nhưng chỉ có thể có một mũi tên ra số chúng. Nói cách khác, tôi không thấy ngay lập tức bất kỳ lý do nào khiến bi-CCC ngụ ý 0 là dưới da. Có một cái không?
Ohad Kammar

Có: thực tế là STLC với khoản tiền cần có một phân phối bi-CCC ( ) để giải thích nó, và sự độc đáo cho các loại 0 đến như là các phiên bản vô giá trị của điều đó. (Cố gắng viết ra cách giải thích quy tắc loại trừ cho các khoản tiền, và bạn sẽ thấy nó.)(X×A)+(X×B)X×(A+B)
Neel Krishnaswami

Tôi không làm theo. Số tiền phân phối cho có nghịch đảo. Tại sao điều đó ngụ ý rằng 0 là subterminal? initial:0A×00
Ohad Kammar

Aha! Cảm ơn vì bằng chứng đó! Và cho sự kiên nhẫn, quá!
Ohad Kammar

liên quan đến chỉnh sửa 2: Điều chỉnh bên trái bảo tồn colimits. Nếu danh mục là Cartesian đóng, thì được điều chỉnh trái với ( - ) C vì vậy ( A + B ) × C tổng A × C + B ×()×C()C(A+B)×C . A×C+B×C
Ohad Kammar

8

Phương trình chỉ nắm bắt được thực tế là 0 có ít nhất một yếu tố vì vậy tôi không nghĩ Neel được chụp toàn bộ câu chuyện. Tôi sẽ axiomatize loại trống 0 như sau.e=e:000

Không có quy tắc giới thiệu. Quy tắc loại bỏ là Phương trình làmmộtgicτ(e)=e':τnơie:0e':τ. Trong suốtτlà bất kỳ loại. Phương trình được thúc đẩy như sau: nếu bạn quản lý để tạo thành thuật ngữmagie

e:0magicτ(e):τ.
magicτ(e)=e:τ
e:0e:ττthì0có người ởmagicτ(e)0e, nhưng điều này là vô lý nên tất cả các phương trình giữ. Vì vậy, một cách khác để đạt được hiệu quả tương tự sẽ được đặt ra phương trình mà có lẽ là không quá thoải mái vì nó fiddles với bối cảnh. Mặt khác, nó cho thấy rõ hơn rằng chúng ta đang nói rằng bất kỳ hai hình thái nào từ 0
x:0,Γe1=e2:τ
0 đến đều bình đẳng (các Γ là một sự xao lãng trong một CCC).τΓ

1
Xin chào Andrej, phương trình mà bạn đề xuất có thể lấy được từ chuyển đổi đi lại mà tôi đã đưa ra. là derivable từ C [ m một g i c ( e ) ] = m một g i c ( e ) , vì m một g i c ( e ) không thực sự có xảy ra bên trái hạn. Sự tương tự là C [ c a smagic(e)=eC[magic(e)]=magic(e)magic(e) , nơi không sử dụng kết quả của một trường hợp phân tích là ok nếu bạn làm như vậy trong cả hai nhánh. C[case(e,x.e,y.e)]=case(e,x.C[e],y.C[e])
Neel Krishnaswami

Tuy nhiên, tôi nên thêm rằng tôi thích bản trình bày với bối cảnh tốt hơn - thực sự, tôi nghĩ nói chung là sạch nhất nếu bạn thực sự cho phép các phương trình trên các giá trị tổng trong ngữ cảnh! Điều đó tốt hơn nhiều cho bằng chứng thực tế so với các trò chơi có chuyển đổi đi lại, IMO. (IIRC, điều này tương đương với việc thêm giả định bổ sung các sản phẩm ổn định, nhưng đối với tất cả các mô hình tôi có thể thấy hợp lý khi quan tâm đến việc giữ này.)
Neel Krishnaswami

À đúng rồi, xuất sắc. Đã quá muộn để tôi nghĩ về việc chuyển đổi giao dịch nên tôi giả vờ bạn không viết phần đó. Bây giờ Ohad có thể có sự lựa chọn của mình.
Andrej Bauer

1
ηβ

1
Không có luật tương đương tiêu chuẩn cho các loại không. Các nhà logic học luôn sợ vũ trụ trống rỗng, và các nhà khoa học máy tính luôn sợ loại trống. Họ thậm chí đã đặt tên cho một loại không trống là "void" để từ chối loại trống.
Andrej Bauer
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.