Khung logic và lý thuyết loại


11

Sự khác biệt giữa khung logic và lý thuyết loại là gì? Cả hai đều có loại, thuật ngữ và dựa trên tính toán lambda phụ thuộc.

Chúng tôi có Edinburg LF dựa trên tính toán lambda-pi, tuy nhiên, dường như với tôi có một số khác biệt tinh tế ở đó.

Câu trả lời:


12

Tóm lược. Khung logic là một ngôn ngữ meta để chính thức hóa các hệ thống suy diễn, trong đó các khoản khấu trừ trở thành đối tượng cú pháp.

Tất nhiên những gì được coi là một ngôn ngữ meta là khá mơ hồ, và thật hữu ích để hiểu sự phát triển lịch sử của các khung logic. Khung logic đầu tiên là de Bruijn của Automath (1), mà là dựa trên λ -calculus. Nhiều ý tưởng từ gia đình ngôn ngữ Automath đã tìm được đường vào các khung logic hiện đại. Việc Martin-LOF về xây dựng kiểu lý thuyết, cũng dựa trên λ -calculi, cũng đã có ảnh hưởng.

λABΠxA.BABΠxA.B

ΓM:ABΓN:AΓMN:BΓM:ΠxA.BΓN:AΓMN:B{N/x}

Ở bên trái, chúng ta có quy tắc cho đơn giản là gõ -calculus, bên phải quy tắc khái quát bên trái với phụ thuộc loại. Chúng tôi thấy rằng một giá trị 'chảy' vào loại trong kết luận bên phải.λ

Tôi nghĩ rằng trợ lý chứng minh tương tác Isabelle sử dụng logic thứ tự trực quan thứ hai dựa trên -calculus, không có bất kỳ số hoặc kiểu dữ liệu đệ quy nào làm khung logic. Nhiều người khác đã được đề xuất.λ

Một lợi thế của việc sử dụng -calculi làm khung logic là các cấu trúc ràng buộc như bộ lượng tử phổ có thể được triển khai bằng cách sử dụng -binder của khung. Lưu ý rằng hầu hết các khung logic đều yếu về mặt biểu thức: các khung hỗ trợ lý luận mức đối tượng, nhưng không đủ để thực hiện nhiều lý luận siêu lý thuyết ngoài thực tế rằng một câu lệnh cấp đối tượng cụ thể là một định lý. Trong thực tế, logic kim loại thường yếu đến mức thậm chí chứng minh định lý khấu trừ cho logic đối tượng kiểu Hilbert là không thể. Tất nhiên không có gì ngăn cản bạn sử dụng các lý thuyết loại mạnh mẽ hơn như một khung logic.λλ

Vì những lý do thực tế và lịch sử này, hầu hết các khung logic được sử dụng ngày nay được gõ -calculi, tức là các lý thuyết loại. Xem (3, 4) để biết thêm các thảo luận chuyên sâu về các khung logic.λ

  1. N. de Bruijn: Ngôn ngữ toán học TỰ ĐỘNG, Cách sử dụng và một số phần mở rộng của nó.

  2. RF Harper, F. Honsell, G. Plotkin: Khung xác định logic .

  3. F. Pfenning: Khung logic.

  4. F. Pfenning: Khung logic - Giới thiệu tóm tắt .


Bạn có biết về bất kỳ cuốn sách giới thiệu nào về trợ lý chứng minh (khung logic) phù hợp với người đã biết cơ bản về phép tính lambda đơn giản và logic thứ tự đầu tiên không?
Trismegistos

1
@Trismegistos Tôi sợ tôi không biết. Tôi đề nghị học một trợ lý cụ thể. Agda là dễ dàng nhất để tham gia vì về cơ bản là Haskell, nhưng với các loại phụ thuộc. Theo kinh nghiệm của tôi, khung logic không quan trọng bằng các khía cạnh khác của trợ lý chứng minh. Ví dụ, Isabelle là một người hoạt ngôn chung mà bạn có thể khởi tạo bằng các logic khác nhau, vì vậy thực sự phơi bày khuôn khổ logic. Nhưng Isabelle / HOL là cách khởi tạo duy nhất được sử dụng trong thực tế. Điều này là do tất cả các chiến thuật bằng chứng, tất cả các hỗ trợ của người hoạt động đã được viết cho logic đối tượng HOL. Và khả năng sử dụng của một người hoạt động phụ thuộc vào những người.
Martin Berger
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.