Những phần nào của lý thuyết loại đồng luân không thể có trong Agda hoặc Coq?


16

Khi chúng ta nhìn vào cuốn sách, Lý thuyết loại Homotopy - chúng ta thấy các chủ đề sau:

Homotopy type theory 
2.1 Types are higher groupoids
2.2 Functions are functors
2.3 Type families are fibrations
2.4 Homotopies and equivalences
2.5 The higher groupoid structure of type formers
2.6 Cartesian product types
2.7 S-types
2.8 The unit type
2.9 P-types and the function extensionality axiom
2.10 Universes and the univalence axiom
2.11 Identity type
2.12 Coproducts
2.13 Natural numbers
2.14 Example: equality of structures
2.15 Universal properties

Bây giờ chúng ta biết rằng không phải tất cả các lý thuyết loại đồng luân đều có thể là Agda và Coq .

Câu hỏi của tôi là: Những phần nào của lý thuyết loại đồng luân không thể có trong Agda hoặc Coq?


4
Không phải là một câu hỏi đặc biệt tốt. Mối quan hệ giữa danh sách các chủ đề và câu hỏi là gì?
Dave Clarke

@Dave Clarke, Danh sách các chủ đề trông giống như bối cảnh tâm trí của người hỏi để người trả lời biết điểm bắt đầu của người hỏi là gì và có thể điều chỉnh câu trả lời phù hợp. Những người học khác cũng có thể đánh giá cao câu trả lời trong cùng bối cảnh và hiểu rằng câu trả lời có thể hữu ích cho họ nếu người trả lời chu đáo và can đảm về bản chất con người. Hy vọng rằng cũng sẽ giúp trong các cuộc trò chuyện khác trong tương lai.
codeshot

Câu trả lời:


21

Nếu bạn nhìn vào Ghi chú về Chương 8 , bạn sẽ thấy những gì đã đã được chính thức hóa, và tôi nghĩ rằng đó là rất nhiều. Có thư viện Coq HoTTthư viện Agda HoTT-Agda chính thức hóa các khối lớn của Lý thuyết loại Homotopy.

Để hoàn thành công việc trong Coq, chúng tôi cần một phiên bản Coq đặc biệt được vá chỉ với mục đích của HoTT. Tuy nhiên, Coq đang đi theo hướng hỗ trợ lý thuyết loại đồng luân, vì vậy trước đó chúng ta có thể làm điều đó với Coq tiêu chuẩn.

Trong Agda người ta phải bật --without-Ktùy chọn, nếu không Agda nghĩ rằng tất cả các loại là loại 0. Có một số nghi ngờ kéo dài về việc liệu có --without-Kthực sự thoát khỏi giả định rằng mọi thứ đều là 0 hay không, hoặc có lẽ người ta có thể giới thiệu lại nó vào Agda với cách sử dụng khéo léo các mẫu khớp.

Các khía cạnh sau đây của chính thức hóa Coq và Agda là không thỏa đáng:

  1. Tiên đề Univalence được nêu là một giả thuyết. Sẽ tốt hơn nếu được tích hợp vào hệ thống. Đặc biệt, chúng tôi muốn Coq và Agda hiểu các quy tắc tính toán về tiên đề Univalence.

  2. Tương tự như vậy, chúng ta phải sử dụng hack để có được các loại cảm ứng cao hơn khả thi. Một lần nữa, nó sẽ tốt hơn để có hỗ trợ trực tiếp.

Rắc rối với những thiếu sót trên là không ai biết cách khắc phục chúng ngay cả trên lý thuyết. Đây là một lĩnh vực hoạt động nghiên cứu.

Ngoài ra, tôi nghĩ thật công bằng khi nói rằng HoTT có thể được thực hiện chủ yếu ở Coq và Agda, chỉ là không theo cách tối ưu.


1
Cảm ơn, có một bài viết hay về lý do tại sao sự thống nhất và các loại quy nạp cao hơn không phù hợp với các lý thuyết loại như Agda và Coq?
Martin Berger

1
@MartinBerger đây có thể là một câu hỏi riêng biệt (với một số định nghĩa cho người đọc bình thường hơn, v.v.).
Artem Kaznatcheev

4
Vấn đề với sự hợp nhất và HIT không phải là họ "không phù hợp với các lý thuyết loại như Agda và Coq" mà là "chúng tôi không biết làm thế nào để thực hiện chúng đúng trong bất kỳ lý thuyết loại nào ".
Andrej Bauer

1
@AndrejBauer Univalence và các loại quy nạp cao hơn được định dạng trong văn bản HoTT là một lý thuyết loại (bán chính thức). Thành phần còn thiếu ngăn cản việc chính thức hóa trong Agda / Coq là gì? Liên quan, nếu bạn sẵn sàng từ bỏ Curry-Howard, có bất kỳ khó khăn nào trong việc hình thành sự thống nhất và các loại quy nạp cao hơn trong một người hoạt động theo phong cách LCF, như Isabelle, sử dụng ví dụ như ngôn ngữ meta để chính thức hóa các quy tắc chứng minh?
Martin Berger

4
Các quy tắc tính toán cho ua, hằng số chứng kiến ​​tiên đề Univalence là gì? Các quy tắc tính toán cho HIT là gì? Chúng tôi có một số ý tưởng, nhưng không có gì kín nước.
Andrej Bauer

12

Theo như tôi hiểu, ở Agda có thể đại diện cho tất cả những điều đó (tức là tất cả Chương 2 - có một thư viện trên github, điều đó đúng; AFAIK, điều tương tự cũng đúng với Coq). Chỉ đến khi bạn đến những chương sau, mọi thứ mới trở nên tồi tệ. Có hai mục rõ ràng:

  1. Hình tròn. Điều này được thể hiện (bằng Agda) bằng cách sử dụng một định đề , và do đó không đẹp như những thứ khác.

Cũng có những mục khác, nhưng tôi chưa đọc được phần đó của chính thức hóa Agda ... Nhưng nhìn chung, hầu hết HoTT có thể được chính thức hóa một cách độc đáo ở cả Agda và Coq.

Quan trọng hơn, cả hai nhóm các nhà phát triển đang tích cực làm việc để điều chỉnh hệ thống của họ để có thể xử lý nhiều HoTT hơn, ít nhất là bất cứ khi nào có một lý thuyết rõ ràng về cách triển khai các tính năng cần thiết. Điều đó đã trở thành thách thức trong các phần.

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.