Những hậu quả tiêu cực của việc mở rộng CIC với các tiên đề là gì?


13

Có đúng là việc thêm các tiên đề vào CIC có thể có ảnh hưởng tiêu cực trong nội dung tính toán của các định nghĩa và định lý? Tôi hiểu rằng, trong hành vi bình thường của lý thuyết, mọi thuật ngữ đóng sẽ giảm xuống dạng bình thường chính tắc của nó, ví dụ: nếu là đúng, thì phải giảm xuống một thuật ngữ của hình thức . Nhưng khi định nghĩa một tiên đề - nói tiên đề mở rộng chức năng - chúng ta chỉ cần thêm một hằng số mới vào hệ thống n ( s u c c . . . ( s u c c ( 0 ) ) )n:Nn(succ...(succ(0)))funext

funext:Πx:Af(x)=g(x)f=g

điều đó sẽ chỉ "kỳ diệu" tạo ra bằng chứng từ bất kỳ bằng chứng nào về , mà không có bất kỳ ý nghĩa tính toán nào ( theo nghĩa là chúng tôi không thể trích xuất bất kỳ mã nào từ họ? )Π x : A f ( x ) = g ( x )f=gΠx:Af(x)=g(x)

Nhưng tại sao điều này lại "xấu"?

Đối với funext, tôi đã đọc trong mục coq này và câu hỏi về dòng chảy toán học này rằng nó sẽ khiến hệ thống trở nên lỏng lẻo hoặc kiểm tra có thể quyết định. Mục coq dường như trình bày một ví dụ hay, nhưng tôi vẫn muốn có thêm một số tài liệu tham khảo về điều đó - và bằng cách nào đó tôi không thể tìm thấy bất kỳ.

Làm thế nào mà việc thêm các tiên đề bổ sung có thể khiến CIC có hành vi tồi tệ hơn? Bất kỳ ví dụ thực tế sẽ là tuyệt vời. (Ví dụ, Tiên đề Univalence?) Tôi sợ trong câu hỏi này quá mềm, nhưng nếu có ai có thể làm sáng tỏ những vấn đề đó hoặc cho tôi một số tài liệu tham khảo sẽ rất tuyệt!


PS: Mục nhập coq đề cập rằng "Thierry Coquand đã quan sát thấy rằng mô hình phù hợp với các gia đình nội tâm không phù hợp với tính mở rộng vào giữa những năm 90". Có ai biết trong giấy hay cái gì không?

Câu trả lời:


7

Một lý do đầu tiên để từ chối các tiên đề là chúng có thể không nhất quán. Ngay cả đối với các tiên đề đã được chứng minh là nhất quán, một số trong số chúng có cách giải thích tính toán (chúng tôi biết cách mở rộng sự bình đẳng xác định với nguyên tắc rút gọn cho chúng) và một số thì không - những điều đó phá vỡ tính can đảm. Điều này là "xấu" vì những lý do khác nhau:

  • Về lý thuyết, canonic cho phép bạn chứng minh mọi thứ về các giá trị của ngôn ngữ của bạn, mà không cần phải đi đến một mô hình cụ thể. Đây là một tài sản rất thỏa mãn để suy nghĩ về hệ thống của bạn; đặc biệt, nó hỗ trợ các tuyên bố về thế giới thực - chúng ta có thể nghĩ natloại được chính thức hóa trong hệ thống là "số tự nhiên" thực sự bởi vì chúng ta có thể chứng minh rằng cư dân bình thường khép kín của nó thực sự là số tự nhiên. Mặt khác, thật dễ dàng để nghĩ rằng bạn đã mô hình hóa một cái gì đó chính xác trong hệ thống của mình, nhưng thực sự đang làm việc với các đối tượng khác nhau.

  • Trong thực tế, giảm là một tài sản chính của các lý thuyết loại phụ thuộc, bởi vì nó làm cho bằng chứng dễ dàng. Chứng minh một đẳng thức mệnh đề có thể khó tùy ý, trong khi chứng minh một đẳng thức xác định là (ít thường xuyên hơn) nhưng dễ dàng hơn nhiều, vì thuật ngữ chứng minh là tầm thường. Tổng quát hơn, tính toán là một khía cạnh cốt lõi của trải nghiệm người dùng của một trợ lý chứng minh và thông thường là xác định mọi thứ chỉ để chúng giảm chính xác như bạn mong đợi. (Bạn không cần các tiên đề để làm cho việc tính toán trở nên khó khăn, ví dụ: sử dụng nguyên tắc chuyển đổi trên các đẳng thức mệnh đề có thể chặn các mức giảm). Toàn bộ kinh doanh bằng chứng bằng sự phản ánhđược dựa trên việc sử dụng tính toán để giúp chứng minh. Đây là một sự khác biệt lớn về sức mạnh và sự thuận tiện đối với trợ lý chứng minh dựa trên logic khác (ví dụ: HOL-light, chỉ hỗ trợ lý luận bình đẳng; hoặc xem Zombie cho một cách tiếp cận khác) và sử dụng các tiên đề không được kiểm soát hoặc các kiểu lập trình khác, có thể giúp bạn ra khỏi vùng thoải mái này.


+1 Cảm ơn câu trả lời của bạn! Bạn có thể cho tôi một số ví dụ về các tiên đề có một giải thích tính toán (hoặc có thể bất kỳ tài liệu tham khảo cho chủ đề)?
StudentType

Một ví dụ về tiên đề có cách giải thích tính toán là Prop-Irrelevance: tuyên bố rằng tất cả cư dân của một số họ (trong trường hợp chính xác này, những người thuộc loại Proptrợ lý chứng minh Coq, tương ứng với các tuyên bố logic thuần túy; Prop-Irrelevance tương ứng để bỏ qua cấu trúc bên trong của các bằng chứng của các tuyên bố đó) bằng nhau có thể được thực hiện chủ yếu bằng cách không quan tâm đến chúng nữa, nó không cần ảnh hưởng đến tính toán - nhưng nó cần phải được thực hiện cẩn thận để không làm cho hệ thống không nhất quán.
gasche

Một họ khác của sự quan tâm tính toán đến từ sự tương ứng giữa lý luận cổ điển và hiệu ứng kiểm soát. Phần được biết đến nhiều hơn ở đây là phần giữa bị loại trừ có thể được cung cấp một ngữ nghĩa tính toán bằng cách nắm bắt liên tục, nhưng có các hình thức kiểm soát hạn chế (ngoại lệ ở các loại tích cực) đưa ra các nguyên tắc logic chi tiết hơn (ví dụ: Nguyên tắc của Markov ). Xem Hugo Herbelin Một logic trực giác chứng minh nguyên tắc của Markov , năm 2010
gasche

5

Để hiểu tại sao việc mở rộng một câu tục ngữ định lý với một số tiên đề có thể gây ra vấn đề, cũng rất thú vị để xem khi nào là lành tính để làm như vậy. Hai trường hợp xuất hiện trong đầu và cả hai đều phải làm với thực tế là chúng tôi không quan tâm đến hành vi tính toán của các định đề.

  • Trong Lý thuyết loại quan sát, có thể đưa ra một bằng chứng về bất kỳ sự nhất quán nào Propmà không làm mất tính canonic. Thật vậy, tất cả các bằng chứng được coi là bằng nhau và hệ thống thực thi điều này bằng cách hoàn toàn từ chối xem xét các điều khoản. Kết quả là, một bằng chứng được xây dựng bằng tay hoặc đơn giản là gấu được quy định không có hậu quả. Một ví dụ điển hình sẽ là bằng chứng về "sự gắn kết": nếu chúng ta có một bằng chứng eqrằng A = B : Typesau đó cho bất kỳ tloại nào A, t == coerce A B eq ttrong đó coercechỉ đơn giản là vận chuyển một thuật ngữ dọc theo một bằng chứng bình đẳng.

  • Trong MLTT, người ta có thể định nghĩa bất kỳ tiên đề nhất quán âm mà không mất tính canonic . Trực giác đằng sau điều này là các tiên đề phủ định (tiên đề của hình thức A -> False) chỉ được sử dụng để loại bỏ các nhánh không liên quan. Nếu tiên đề là nhất quán, thì nó chỉ có thể được sử dụng trong các nhánh thực sự không liên quan và do đó sẽ không bao giờ được thực hiện khi đánh giá các điều khoản.


4

Một ví dụ thực tế về một tiên đề hành xử tồi bạn hỏi, còn cái này thì sao?

 0 = 1

Bài báo Coquand được đề cập có thể là [1], trong đó ông cho thấy ITT phụ thuộc (lý thuyết loại trực giác của Martin-Löf) được mở rộng với khớp mẫu cho phép bạn chứng minh UIP (tiên đề về tính duy nhất của bằng chứng nhận dạng ). Sau đó, Strerich và Hoffmann [2] trình bày một mô hình trong ITT làm sai lệch UIP. Do đó, khớp mẫu không phải là một phần mở rộng bảo thủ của ITT.


  1. T. Coquand, Mẫu phù hợp với các loại phụ thuộc .

  2. M. Hofmann, T. Strerich, Giải thích theo nhóm của lý thuyết loại .

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.