Chính thức hóa lý thuyết về tập hợp hữu hạn trong lý thuyết loại


10

Hầu hết các trợ lý chứng minh đều có sự chính thức hóa khái niệm "tập hợp hữu hạn". Tuy nhiên, những hình thức này khác nhau rất nhiều (mặc dù người ta hy vọng rằng tất cả chúng đều tương đương nhau!). Điều tôi không hiểu tại thời điểm này là không gian thiết kế có liên quan, và những ưu và nhược điểm của mỗi chính thức hóa là gì.

Cụ thể, tôi muốn hiểu như sau:

  • Tôi có thể axiomatize các bộ hữu hạn (nghĩa là các loại có số lượng cư dân hữu hạn) trong lý thuyết loại đơn giản? Hệ thống F? Hạn chế của việc làm theo cách này là gì?
  • Tôi biết nó có thể được thực hiện một cách "thanh lịch" trong một hệ thống được gõ phụ thuộc. Nhưng, theo quan điểm cổ điển, các định nghĩa kết quả có vẻ cực kỳ xa lạ. [Tôi không nói rằng họ sai, xa nó!]. Nhưng tôi cũng không hiểu tại sao họ 'đúng'. Tôi hiểu rằng họ chọn ra khái niệm chính xác , nhưng lý do sâu xa hơn để 'nói theo cách đó' là điều tôi không hoàn toàn nắm bắt.

Về cơ bản, tôi muốn có một giới thiệu hợp lý về không gian thiết kế chính thức hóa khái niệm 'tập hợp hữu hạn' trong lý thuyết loại.

Câu trả lời:


8

Tôi biết nó có thể được thực hiện một cách "thanh lịch" trong một hệ thống được gõ phụ thuộc. Nhưng, theo quan điểm cổ điển, các định nghĩa kết quả có vẻ cực kỳ xa lạ.

Bạn có thể giải thích những gì bạn có nghĩa là "người ngoài hành tinh"? Dường như với tôi rằng bạn chính thức hóa khái niệm tập hợp hữu hạn theo cùng một cách chính xác trong lý thuyết loại và trong lý thuyết tập hợp.

Trong lý thuyết tập hợp, bạn tiến hành bằng cách định nghĩa tập là \ mathrm {Fin} (n) \ Triangleq \ {k \ in \ mathbb {N} \; | \; k <n \} Sau đó, bạn xác định vị từ có độ chính xác là: \ mathrm {Finite} (X) \ Triangleq \ tồn tại n \ in \ mathbb {N}. \; X \ simeq \ mathrm {Fin} (n) Trong đóFin(n)

Fin(n){kN|k<n}
Finite(X)nN.XFin(n)
AB có nghĩa là đẳng cấu của các tập hợp.

Trong lý thuyết loại, bạn có thể làm chính xác điều tương tự! Lưu ý rằng là một loại có phần tử (vì thành phần thứ hai của cặp là không liên quan). Sau đó, bạn có thể định nghĩa hàm tạo loại có độ chính xác là: Trong đó có nghĩa là sự đồng hình của các loại.

Fin(n)Σk:N.ifk<nthenUnitelseVoid
Fin(n)n
Finite(X)Σn:N.XFin(n)
AB

Alien bởi vì tôi chỉ từng thấy các định nghĩa thô mà không có bài kiểm tra đi kèm giải thích cách đọc các định nghĩa đó. Cộng với thực tế là định nghĩa Fin thông thường, được thực hiện theo quy nạp, che khuất mọi thứ hơn nữa. Giải thích ngắn gọn của bạn là những gì tôi cần để làm cho nó nhấp.
Jacques Carette

5

Hãy để tôi xem nếu tôi có thể thêm bất cứ điều gì hữu ích vào câu trả lời của Neel. "Không gian thiết kế" cho các tập hợp hữu hạn lớn hơn nhiều về mặt xây dựng vì nó mang tính kinh điển vì các định nghĩa khác nhau về "hữu hạn" không cần phải đồng ý về mặt xây dựng. Các định nghĩa khác nhau trong lý thuyết loại cho các khái niệm hơi khác nhau. Dưới đây là một số khả năng.

Các tập hữu hạn Kuratowski ( -finite) có thể được mô tả là -semilattices miễn phí : được cung cấp một tập hợp, loại hoặc đối tượng , các phần tử của -semilattice miễn phí có thể là phần phụ của phần tử hữu hạn của . Thật vậy, mỗi yếu tố như vậy được tạo ra bởi:KXK(X)X

  • phần tử trung tính , tương ứng với tập hợp trống, hoặc0
  • một trình tạo , tương ứng với singleton , hoặcxX{x}
  • tham gia gồm hai yếu tố, tương ứng với một liên minh.ST

Một công thức tương đương với là: là -finite nếu, và chỉ nếu, có tồn tại và một surjection .K(X)SXKnN e:{1,,n}S

Nếu chúng ta so sánh điều này với định nghĩa Neel của chúng ta thấy rằng ông đòi hỏi một song ánh . Số tiền này để lấy các tập con -finite có đẳng thức có thể quyết định: . Chúng ta hãy sử dụng cho bộ sưu tập của decidable tập con -finite của .e:{1,,n}SKSXx,yS.x=yxyD(X)KX

Rõ ràng bị đóng dưới các liên hiệp hữu hạn, nhưng nó không cần phải đóng dưới các giao điểm hữu hạn. Và không bị đóng dưới bất kỳ hoạt động nào. Vì mọi người mong đợi rằng các tập hợp hữu hạn hoạt động giống như "Aglebra không có đầu", người ta cũng có thể cố gắng định nghĩa chúng là đại số Boolean tổng quát miễn phí ( , , và tương đối bổ sung ), nhưng tôi thực sự không bao giờ nghe nói về một nỗ lực như vậy.K(X)D(X)0

Khi quyết định định nghĩa "chính xác" là gì, bạn phải chú ý đến những gì bạn muốn làm với các tập hữu hạn. Và không có định nghĩa đúng duy nhất. Chẳng hạn, theo nghĩa "hữu hạn" nào là tập hợp các gốc phức của một hữu hạn đa thức ?

Xem Xây dựng hữu hạn? của Thierry Coquand và Arnaud Spiwack cho một cuộc thảo luận chi tiết về sự hữu hạn. Bài học là sự hữu hạn khác xa về mặt xây dựng.


Phải, tôi biết vừa đủ điều này để biết rằng câu hỏi của tôi không tầm thường. Bây giờ tôi có thể đi và đọc lại các phần của thư viện Coq, Isabelle và Agda liên quan đến các tập hợp hữu hạn và có hy vọng hiểu được lựa chọn nào (ý định chơi chữ) mà họ đã đưa ra.
Jacques Carette

Tôi tự hỏi làm thế nào nhận thức được các tác giả của các thư viện là sự lựa chọn. Họ có lẽ chỉ cần bước vào một trong những định nghĩa. Một điều tự nhiên cần làm là giả định rằng có sự bình đẳng có thể quyết định bởi vì sau đó trùng với và mọi thứ diễn ra suôn sẻ và rất giống như trong trường hợp cổ điển. Rắc rối bắt đầu một khi không có sự bình đẳng có thể quyết định. K ( A ) D ( A ) AAK(A)D(A)A
Andrej Bauer

Để công bằng, người ta thường sử dụng các tập hợp hữu hạn để chính thức hóa các khía cạnh của xác minh chương trình, và trong trường hợp đó, bạn thường có thể giả định rằng sự bình đẳng có thể quyết định được giữ.
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.