Tương tự Curry-Howard cho logic tuyến tính là gì?


8

Theo định nghĩa của Wikipedia,

(Sự tương ứng của Curry-Howard) là sự khái quát của sự tương đồng cú pháp giữa các hệ thống logic chính thức và phép tính toán được phát hiện đầu tiên bởi nhà toán học người Mỹ Haskell Curry và nhà logic học William Alvin Howard.

Liên quan đến nó là-cube, là một biểu diễn đồ họa của các trục tinh chỉnh có thể có từ các loại đơn giản đến tính toán của các công trình, có một cách hiểu logic:

https://upload.wikidia.org/wikipedia/commons/1/19/Lambda_cube.png

Theo như tôi biết, sự tương ứng của Curry-Howard là mối liên hệ giữa lý thuyết loại và logic cổ điển. Câu hỏi của tôi là: có bất kỳ sự tương ứng tương tự giữa các hệ thống loại và logic tuyến tính ?


Bạn có thể định nghĩa, bạn có ý nghĩa gì bởi "logic nhẹ?"
jmite

Tôi xin lỗi @jmite, ý tôi là Logic tuyến tính .
MaiaVictor

Câu trả lời:


8

Bạn có thể áp đặt các yêu cầu tương tự trong hệ thống loại của mình, điều này đòi hỏi các đối tượng không bao giờ bị phá hủy hoặc trùng lặp. Để biết ví dụ về một ứng dụng thực tế, hãy xem Loại tuyến tính có thể thay đổi thế giới! bởi Philip Wadler, trong đó chỉ định quy tắc gõ cho việc này. Nó cũng cho thấy làm thế nào một hệ thống loại có thể kết hợp các loại tuyến tính và phi tuyến tính.

Đối với một ứng dụng thực tế này, hãy xem std::unique_ptrtrong C ++. Ở đây, tuyến tính đảm bảo rằng sự phân bổ luôn xảy ra chính xác một lần.

Trong một ngôn ngữ chức năng, tuyến tính cũng cung cấp khả năng cập nhật phá hủy (xuất hiện thuần túy cho lập trình viên). Tuy nhiên, trong thực tế có vẻ như các đơn nguyên là một cách tiếp cận phổ biến hơn để giải quyết vấn đề này.

Cập nhật : Tôi nhận thấy rằng trong bảng Ba phương tính toán NLab, việc không có sự co lại trong logic (nghĩa là không thể lặp lại một giả định) tương ứng với Định lý Không nhân bản từ cơ học lượng tử. Tôi (không may) không hiểu ý nghĩa của việc này, nhưng tôi nghĩ bạn có thể thấy nó thú vị.


1
Có những thí nghiệm, ví dụ như trong Idris kết hợp các loại duy nhất (sẽ được đặt tên tốt hơn là tuyến tính hoặc affine: chúng có thể có nhiều hơn một cư dân!).
gallais

1
Để biết thêm về đoạn cuối của bạn, xem dx.doi.org/10.1088/1742-6596/67/1/012045 Bài viết có một bản tóm tắt hay trong phần kết luận của nó.
Fizz

8

Logic tuyến tính tương ứng với một hệ thống loại cho một phép tính quy trình (một biến thể của phép tính π bên trong ), trong đó:

  • bằng chứng tương ứng với các quy trình ;
  • các đề xuất tương ứng với các loại phiên (giao thức truyền thông).

Đây là một lĩnh vực nghiên cứu khá tích cực. Trong khi mọi người mong đợi một sự tương ứng giữa logic tuyến tính và một số mô hình tương tranh kể từ khi Girard [1987] ra đời , thì việc tìm ra thứ gì đó thỏa mãn từ cả hai khía cạnh logic và mô hình hóa đồng thời có phần khó nắm bắt.

Dưới đây là một bản tóm tắt về những phát triển quan trọng cho đến nay.

  • MộtBMộtBMộtB(một cặp, nếu bạn thích), tương ứng, và sau đó kênh không được sử dụng nữa. Ý tưởng chính là quy tắc cắt của logic tuyến tính có thể được sử dụng để gõ thực thi song song của hai quá trình giao tiếp qua một kênh riêng. Kiểm tra đối ngẫu được thực hiện bởi quy tắc cắt trong logic tuyến tính tương ứng với việc kiểm tra hai quy trình sử dụng kênh riêng được chia sẻ theo những cách tương thích.
  • Ý tưởng về tính đối ngẫu cũng tạo ra một số nguyên tắc đánh máy cho tính toán quy trình, đáng chú ý nhất là các loại tuyến tính và loại phiên, nhưng liên kết trực tiếp đến logic tuyến tính đã bị mất. Các loại phiên đặc biệt, bởi Honda [1993] , mô tả các giao thức truyền thông và khả năng ứng dụng của chúng trở nên rõ ràng khá sớm: ý tưởng đã sinh ra một lĩnh vực nghiên cứu.
  • MộtBMộtB
  • Wadler [2014] đã điều chỉnh lại sự tương ứng với các loại phiên cho logic tuyến tính cổ điển và chính thức hóa kết nối đầu tiên giữa một bản trình bày tiêu chuẩn của các loại phiên cho ngôn ngữ chức năng và logic tuyến tính.
  • P|Q

Nếu bạn đang tìm kiếm một vài giấy tờ để bắt đầu, tôi sẽ bắt đầu từ [Wadler, 2014] và sau đó [Kokke et al., 2019] (để xem hệ thống mới nhất).

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.