Tình trạng hiện tại của các chương trình song song hoặc đồng thời trong đẳng cấu Curry-Howard là gì?


9

Trong Bằng chứng và Loại của Girard , chúng ta có thể đọc:

Từ quan điểm thuật toán, phép tính tuần tự không có sự đồng hình hóa Curry-Howard, bởi vì vô số cách viết cùng một bằng chứng. Điều này ngăn chúng tôi sử dụng nó như một -calculus, mặc dù chúng tôi nhìn thoáng qua một số cấu trúc sâu của loại này, có thể liên kết với song song.λ

Bằng chứng và các loại , JY Girard (Trang 28)

Nhưng chúng ta cũng có thể đọc (về Logic tuyến tính)

Từ quan điểm của khoa học máy tính, nó đưa ra một cách tiếp cận mới cho các câu hỏi về sự lười biếng, tác dụng phụ và phân bổ bộ nhớ [GirLaf, Laf87, Laf88] với các ứng dụng đầy hứa hẹn cho sự song song.

Bằng chứng và các loại , JY Girard (Trang 149, được viết bởi Yves Lafont)

Làm thế nào là các chương trình song song liên kết với đẳng cấu Curry-Howard? Những suy nghĩ hiện tại về điều đó là gì?

Câu trả lời:


7

Các Khung logic đồng thời là một trong những khu vực hấp dẫn bao gồm hậu duệ của nó, giống như tuyến tính MeldLolliMon . Điều này dựa trên logic tuyến tính trực giác.

Logic tuyến tính cổ điển có các kết nối với Máy trừu tượng hóa học tuyến tính (CHAM) như được mô tả bằng ví dụ: Tính toán cho các mạng tương tác dựa trên Máy trừu tượng hóa học tuyến tính mô tả rõ ràng kết quả là kết quả loại Curry-Howard.

Luận án Curry-Howard Thuật toán của Alexander Summers cho Logic cổ điển theo phong cách Gentzen mà tôi chưa đọc dường như nhắm trực tiếp vào vấn đề cung cấp thư từ Curry-Howard cho phép tính theo phong cách Gentzen. Các -calculus bởi Curien và Herbelin giới thiệu trong tính hai mặt của tính toán là một tác phẩm tinh trong tĩnh mạch này (non-linear) lambda sỏi tương ứng với logic cổ điển.λμ

Dù sao đi nữa, đây vẫn là một lĩnh vực nghiên cứu sinh động. Có nhiều bài báo gần đây về chủ đề này. Ở trên thậm chí không đề cập đến khía cạnh cấu trúc phân tầng hơn nữa của logic phân tách và Lý thuyết loại Hoare tương ứng tập trung vào các ngôn ngữ lập trình mệnh lệnh. Ví dụ, có Hướng tới ngữ nghĩa lý thuyết loại cho đồng thời giao dịch có tham chiếu mà bạn có thể theo dõi cho công việc trước đó.

(Như một chút lưu ý về phạm vi, hầu hết trong số này được tập trung vào sự tương tranh , không phải là sự song song trên mỗi se.)


Đồng ý. Tôi đã chỉnh sửa tiêu đề câu hỏi của mình để làm cho nó rộng hơn một chút. Tôi không biết đồng thời có liên kết đến Curry-Howard. Nhưng còn song song thì sao?
Boris

Theo quan điểm lập trình chức năng của Curry-Howard, bất kỳ sự song song (thuần túy) nào cũng sẽ xảy ra ở mức độ viết lại bằng chứng và thường có rất nhiều điều đó (bất cứ khi nào có nhiều lần chuyển hướng). Bạn có thể thêm các chú thích như Haskell parđể kiểm soát nó (nghĩa là một lệnh giảm song song ít hơn có thể được sử dụng theo mặc định có thể được chọn lọc song song hơn) nhưng chúng không có ý nghĩa logic.
Derek Elkins rời SE

4

Đối với đồng thời nói chung, có một dòng nghiên cứu rất tích cực, mà tôi đã cố gắng tóm tắt trong bài trả lời này: https://cs.stackexchange.com/a/102711/98901

Tôi thêm vào đây một nhận xét về song song, dưới đây.


Avron [1996] đã đưa ra khái niệm về các hậu quả , tức là các bộ sưu tập các chuỗi trong các phán đoán.

Trong [Kokke et al., 2019] , chúng tôi đã chỉ ra rằng một phần mở rộng bảo thủ của logic tuyến tính với các kết quả có thể được sử dụng để gõ song song trong tính toán quá trình. Về cơ bản, nếu bạn có hai bằng chứng độc lập về logic tuyến tính tương ứng của và , thì bạn có thể rút ra , trong đólà toán tử để soạn thảo các kết quả. Theo cách giải thích của Abramsky về "Bằng chứng là quy trình" [Abramsky, 1996] , chúng ta có một quy tắc đánh máy cho sự song song: nói rằng bạn có hai quy trình độc lập và được nhập bởi vàGHG|H|PQGHtương ứng; sau đó, thành phần song song (với và độc lập) được gõ bởi .P|QPQG|H

Chúng ta mới bắt đầu vạch ra bề mặt của việc giải thích ngữ nghĩa của điều này, nhưng đây là sự song song khá rõ ràng: ngữ nghĩa của thành phần song song cho phép nhìn thấy các hành động đồng thời từ cả hai quá trình, và có một định lý trong bài báo nói rằng hai quá trình cần chờ người kia thực hiện ít nhất một số hành động (Định lý sẵn sàng). Việc mở rộng hơn hai hành động cùng một lúc có vẻ đơn giản. (Việc đánh máy đã cho phép, nhưng ngữ nghĩa trong bài báo đó không hoàn toàn tận dụng lợi thế của 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.