Vai trò của tính dự báo trong định nghĩa quy nạp trong lý thuyết loại là gì?


16

Chúng ta thường muốn xác định một đối tượng theo một số quy tắc suy luận. Những quy tắc biểu thị một hàm tạo mà, khi nó là đơn điệu, mang lại một điểm cố định ít nhất . Chúng tôi lấy là "định nghĩa quy nạp" của . Hơn nữa, tính đơn điệu của cho phép chúng ta suy luận với "nguyên tắc cảm ứng" để xác định khi nào một tập hợp chứa (tức là khi một thuộc tính phổ biến trên ).F μ F A : = μ F A F A AAUFμFA:=μFAFAA

Trong Coq, điều này tương ứng với việc viết định nghĩa của với các thuật ngữ giới thiệu rõ ràng. Trong khi định nghĩa này biểu thị một chức năng cụ thể , chức năng đó không nhất thiết là đơn điệu. Do đó, Coq sử dụng một số kiểm tra cú pháp để đảm bảo "tính chính xác" của định nghĩa. Đối với một số xấp xỉ, nó loại bỏ sự xuất hiện của ở vị trí phủ định trong các loại điều khoản giới thiệu. A F AInductiveAFA

(Nếu sự hiểu biết của tôi cho đến thời điểm này là thiếu sót, xin vui lòng sửa cho tôi!)

Đầu tiên, một số câu hỏi trong bối cảnh của Coq:

1) Kiểm tra cú pháp trong Coq chỉ phục vụ để đảm bảo rằng định nghĩa của là dự đoán ? (Nếu vậy, sự thiếu sót là cách duy nhất mà định nghĩa sẽ không được định nghĩa?) Hay nó đang kiểm tra tính đơn điệu? (Tương ứng, là sự không đơn điệu những gì có thể giết chết nó?)A

2) Sự xuất hiện tiêu cực như vậy của nhất thiết ngụ ý rằng định nghĩa của là không bắt buộc / không đơn điệu không? Hay đơn giản là Coq không thể xác minh rằng nó được xác định rõ trong trường hợp đó?AAA

Và nói chung hơn:

3) Mối quan hệ giữa tính dự báo của định nghĩa quy nạp và tính đơn điệu của hàm tạo định nghĩa đó là gì? Có phải chúng là hai mặt của cùng một đồng tiền? Họ không liên quan? Không chính thức, cái nào quan trọng hơn?

Câu trả lời:


14

Không, trong trường hợp này, tính dự đoán và tính đơn điệu không liên quan chặt chẽ với nhau.

Kiểm tra tính tích cực trong Coq / Adga phục vụ để đảm bảo rằng bạn đang lấy điểm cố định ít nhất của một thứ đơn điệu, đại khái.

Dưới đây là cách nghĩ về các loại quy nạp theo mạng tinh thể và toán tử đơn điệu. Hãy nhớ lại rằng định lý Knaster-Tarski nói rằng trên một mạng tinh thể hoàn chỉnh , mọi toán tử đơn điệu có một điểm cố định ít nhất . Tiếp theo, chúng ta có thể nghĩ về các loại trong một lý thuyết loại là hình thành một mạng dưới khả năng chứng minh. Đó là, gõ nằm dưới nếu sự thật của đòi hỏi của . Bây giờ, những gì chúng tôi muốn làm là sử dụng toán tử đơn điệu trên các loại và sử dụng Knaster-Tarski để tìm ra cách giải thích về điểm ít cố định nhất của toán tử này . f : L L μ ( f ) S T S T F μ ( F )Lf:LLμ(f)STSTFμ(F)

Tuy nhiên, các loại trong lý thuyết loại không chỉ là một mạng: chúng tạo thành một thể loại. Đó là, cho hai loại và , có khả năng nhiều cách để được dưới , với một cách cho mỗi bằng chứng . Vì vậy, một toán tử loại cũng phải làm một cái gì đó hợp lý trên các bằng chứng này. Sự khái quát hóa thích hợp của tính đơn điệu là functoriality . Đó là, chúng tôi muốn có một toán tử trên các loại và cũng có hành động về bằng chứng, sao cho nếu , thì .T S T e : S T F F e : S T F ( e ) : F ( S ) F ( T )STSTe:STFFe:STF(e):F(S)F(T)

Bây giờ, functoriality được bảo toàn bởi các khoản tiền và sản phẩm (ví dụ: nếu và là endofunctor trên các loại, thì và (hành động theo chiều ngược lại) cũng là functor trên các loại (giả sử chúng ta có tổng và sản phẩm trong đại số của chúng ta của các loại). Tuy nhiên, nó không được bảo toàn bởi không gian hàm, vì hàm bifunctor theo hàm mũ là chống chỉ định trong đối số bên trái của nó. Vì vậy, khi bạn viết một định nghĩa kiểu quy nạp, bạn đang xác định một hàm functor để lấy một điểm cố định ít nhất của. Để đảm bảo rằng nó thực sự là một functor, bạn cần loại trừ các lần xuất hiện của tham số đệ quy ở phía bên trái của các không gian hàm --- do đó kiểm tra độ dương.G F + G F × G F GFGF+GF×GFG

Nói chung, không thể tránh khỏi (theo nghĩa của Hệ thống F), vì đó là một nguyên tắc buộc bạn phải lựa chọn giữa logic cổ điển và các mô hình lý thuyết tập hợp. Bạn không thể diễn giải các kiểu như các tập hợp trong lý thuyết tập cổ điển nếu bạn có lập chỉ mục kiểu F. (Xem phần "Đa hình không nổi tiếng" của Reynold.)

Về mặt phân loại, tính ngẫu nhiên theo kiểu F nói rằng phạm trù các loại và thuật ngữ tạo thành một phạm trù hoàn chỉnh nhỏ (nghĩa là homs và đối tượng là cả hai tập hợp và giới hạn của tất cả các sơ đồ nhỏ tồn tại). Về mặt kinh điển, điều này buộc một thể loại phải là một tư thế. Nhiều nhà xây dựng có tính xây dựng vì họ muốn các định lý của họ nắm giữ nhiều hệ thống hơn là logic cổ điển, và vì vậy họ không muốn chứng minh bất cứ điều gì sai về mặt kinh điển. Do đó, họ là tinh ranh của đa hình bẩm sinh.

F

Fmap:α,β.(αβ)(F(α)F(β))

Xem làm thế nào điều này tương ứng với functoriality? IMO, đây sẽ là một lựa chọn rất hay có trong Coq, vì nó sẽ cho phép bạn lập trình chung dễ dàng hơn nhiều. Bản chất cú pháp của kiểm tra tính tích cực là một trở ngại lớn đối với lập trình chung và tôi sẽ rất vui khi đánh đổi khả năng của các tiên đề cổ điển cho các chương trình chức năng linh hoạt hơn.

EDIT: Câu hỏi bạn đang hỏi về sự khác biệt giữa Prop và Set xuất phát từ thực tế là các nhà phát triển Coq muốn cho phép bạn nghĩ về các định lý Coq theo các thuật ngữ lý thuyết tập hợp ngây thơ nếu bạn muốn, mà không buộc bạn phải làm như vậy. Về mặt kỹ thuật, họ phân chia Prop và Set, và sau đó cấm các bộ tùy thuộc vào nội dung tính toán của Prop.

Vì vậy, bạn có thể hiểu Prop là giá trị thật trong ZFC, đó là giá trị đúng và sai. Trong thế giới này, tất cả các bằng chứng về các mệnh đề đều bằng nhau, và vì vậy rõ ràng bạn không thể phân nhánh trên bằng chứng của một mệnh đề. Vì vậy, việc cấm các bộ tùy thuộc vào nội dung tính toán của bằng chứng Prop là hoàn toàn hợp lý. Hơn nữa, mạng boolean 2 phần tử rõ ràng là một mạng hoàn chỉnh, do đó, nó nên hỗ trợ lập chỉ mục bắt buộc, vì đáp ứng giá trị tập hợp tùy ý tồn tại. Hạn chế dự báo trên Bộ phát sinh từ thực tế (đã đề cập ở trên) rằng lập chỉ mục kiểu F bị suy biến trong các mô hình lý thuyết tập hợp cổ điển.

Coq có các mô hình khác (đó là logic xây dựng!) Nhưng vấn đề là ngoài kệ nó sẽ không bao giờ chứng minh bất cứ điều gì mà một nhà toán học cổ điển sẽ bối rối.


FPropSetType

Tôi không hiểu câu hỏi của bạn: Coq ghét Inductive Blah : Prop := Foo : (Blah -> Blah) -> Blahgiống như bất cứ điều gì khác?
Neel Krishnaswami

1
Ah, có lẽ tôi đang nhầm lẫn kiểm tra tích cực cho một kiểm tra khác liên quan đến sự thiếu sót. Xem xét Inductive prop : Prop := prop_intro : Prop -> prop.so với Inductive set : Set := set_intro: Set -> set.. Tại sao sự khác biệt nếu dự đoán không liên quan đến định nghĩa quy nạp?
Scott Kilpatrick

@ScottKilpatrick: đó thực sự là một kiểm tra khác nhau và về (tính) dự đoán. Các loại Sigma mạnh mẽ giả định cho phép mã hóa nghịch lý của Girard, do đó, một kiểu dữ liệu lưu trữ một thành viên của một số vũ trụ, Type@{i}ít nhất, phải sống trong một vũ trụ lớn hơn, ít nhất là Type@{i+1}.
Blaisorblade

6

Có một mối liên hệ rất sâu sắc giữa các định nghĩa quy nạp và tính không phù hợp, nhưng sự hiểu biết của tôi là trong bối cảnh của những gì bạn đang nói về tính dự đoán (im) không liên quan đặc biệt và thử nghiệm hoàn toàn là để đảm bảo tính đơn điệu, do đó lý thuyết điểm cố định có thể áp dụng, cụ thể là nguyên tắc cảm ứng được xác định rõ. (Tôi sẵn sàng để được sửa chữa về điểm này.)

Mối quan hệ giữa tính ngẫu nhiên và định nghĩa quy nạp được khám phá trong bài nói chuyện này của Coquand. Nó quay trở lại một số kết quả từ những năm 50 của G. Takeuti rằng các định nghĩa bắt buộc có thể được rút gọn thành các định nghĩa quy nạp. Quyển sách

  • Lý thuyết bằng chứng về các hệ thống con phân tích ngẫu nhiên - Sách chuyên khảo và sách giáo khoa trong khoa học vật lý 2 của W. Buchholz, K. Schutte

đưa ra một phân tích tốt về chủ đề, nếu bạn có thể chạm tay vào nó. Những slide này cung cấp một cái nhìn tổng quan.


4

Chỉ cần hoàn thành lời giải thích tuyệt vời của Neil, sự thiếu sót có một ý nghĩa "mềm": định nghĩa về các bộ hoặc bộ sưu tập bằng cách sử dụng một tham chiếu đến chính chúng. Trong ý nghĩa đó:

Inductive Lam : Set :=
| Var : Nat -> Lam
| App : Lam -> Lam -> Lam
| Abs : (Lam -> Lam) -> Lam

là một định nghĩa bắt buộc, vì nó định nghĩa một loại quy nạp, Lam sử dụng một không gian hàm (Lam -> Lam) để chỉ chính bộ sưu tập. Trong tình huống này, sự thiếu sót là có hại : có thể sử dụng định lý của Cantor để chứng minh Sai. Trong thực tế, đây là cùng một thương hiệu của sự ngụy biện, giảm giá Lý thuyết Set ngây thơ như một nền tảng nhất quán cho toán học. Do đó, nó không được phép trong Coq. Một hình thức khác của sự thiếu sót được cho phép, như bạn biết:

Definition Unit : Prop := forall X:Prop, X -> X

Định nghĩa của Đơn vị là một đề xuất làm cho tham chiếu đến tập hợp tất cả các Đề xuất mà nó là thành viên. Tuy nhiên, vì những lý do hơi mơ hồ đối với tôi, sự thiếu sót này không có hại vì nó có trong ZFC (dưới dạng hiểu không giới hạn ) mà không được biết là không nhất quán.

Tóm lại, sự xuất hiện tiêu cực của các loại quy nạp trong các định nghĩa là một hình thức của sự thiếu sót, nhưng không phải là sự xuất hiện thường được nói đến khi nói về CoC như là một khuôn khổ dự phòng .


Tôi hiểu rằng bạn đang nói rằng ZFC có sự hiểu biết không giới hạn. Nhưng điều đó nghe có vẻ sai - math.stackexchange.com/q/24507/79293 . Chlipala thảo luận về điều này khi thảo luận -impredicative-settrong cuốn sách của mình: adam.chlipala.net/cpdt/html/Universes.html , và đề cập đến một số hạn chế trong việc loại bỏ, nhưng điều này cũng tối nghĩa với tôi.
Blaisorblade

1
AxBxB

À, cảm ơn! Tôi cũng thấy mức độ phù hợp ở trên khớp với cái trong ZFC (mặc dù ánh xạ tôi đang sử dụng có lẽ quá ngây thơ). Bạn có thể thêm liên kết trong câu trả lời?
Blaisorblade

Thật không may, điều này có vẻ khó với Google (hoặc tôi không biết từ khóa phù hợp). Tệ hơn nữa, cả Wikipedia và nLab đều phân biệt giữa "hiểu bị hạn chế" (trong ZFC, en.wikipedia.org/wiki/Axiom_schema_of_specification ) và "tách / giới hạn" (những gì bạn liên kết đến). Xem ncatlab.org/nlab/show/axiom+of+separation . Nhưng tất cả các thuật ngữ này trông giống như một sự hiểu lầm đang chờ xảy ra - tôi thường lý do rằng "tách ~ hiểu", giống như bạn và tác giả mathforum.org/kb/message.jspa?messageID=4492130 cũng vậy.
Blaisorblade

Có lẽ từ khoá tốt nhất cho các loại cuộc thảo luận là "mang tính xây dựng Set Theory", xem như wikipedia , hay này bài viết rất thoải mái bởi Rathjen.
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.