Mối liên quan giữa tính quyết định kiểm tra loại, khả năng xác định kiểu chữ và chuẩn hóa mạnh


8

Yo! Đây có lẽ là một câu hỏi ngu ngốc, tuy nhiên tôi chưa bao giờ thấy nó được viết rõ ràng nếu, chẳng hạn, tính quyết định của kiểm tra loại tương đương với thuộc tính chuẩn hóa mạnh. Do đó, tôi đang hỏi câu hỏi này để làm rõ tất cả các mối quan hệ có thể có giữa kiểm tra kiểu, kiểu chữ và chuẩn hóa mạnh.

Hãy để tôi giải thích động lực của tôi. Đối với các lý thuyết loại (tôi đang cố tình mơ hồ ở đây, nhưng tôi chủ yếu quan tâm đến các lý thuyết loại phụ thuộc), chuẩn hóa mạnh được sử dụng để chứng minh tính quyết định của kiểm tra loại. Mặt khác, bất kỳ hệ thống đánh máy nào mà tôi biết có một trong các thuộc tính này cũng có một hệ thống khác. Tuy nhiên, tôi chưa bao giờ thấy rõ ràng rằng bình thường hóa mạnh mẽ tương đương với tính quyết định của kiểm tra loại.

Tương tự, để chứng minh khả năng đánh máy, người ta thường (có thể luôn luôn), giảm một thuật ngữ thành một hình thức bình thường. Tuy nhiên, người ta biết rằng khả năng đánh máy là không đúng với các lý thuyết loại phụ thuộc, trong khi chuẩn hóa mạnh có thể được giữ vững.

Bởi decidability kiểu kiểm tra, tôi có nghĩa là đối với bất kỳ loại nhất định , bối cảnh và hạn untyped , nó có thể quyết định trong một số hữu hạn các bước dù là đúng hay không.AΓaΓa:A

Theo tính quyết định của khả năng đánh máy, tôi có nghĩa là với bất kỳ thuật ngữ nào chưa được đưa ra , có thể quyết định số bước hữu hạn có tồn tại bối cảnh và loại sao cho là đúng.aΓAΓa:A

1) Có đúng là tính quyết định của kiểm tra loại tương đương với mọi thuật ngữ được chuẩn hóa mạnh mẽ không?

2) Nói chung, mối quan hệ giữa tính quyết định của kiểm tra loại, khả năng đánh máy và chuẩn hóa mạnh là gì? Cái nào ngụ ý cái kia?

Cảm ơn trước.

BIÊN TẬP

Do sự không hài lòng về mức độ chung chung của câu hỏi của tôi (điều mà tôi không biết), tôi chỉ muốn phân định nó cho Hệ thống Pure Type. Tất nhiên, các bình luận hoặc phản hồi bổ sung liên quan đến các lý thuyết loại khác sẽ rất hữu ích.


4
Không có hạn chế nào? Điều gì xảy ra nếu chúng ta sử dụng hệ thống loại tầm thường trong đó mọi thuật ngữ có mọi loại? Đó là quyết định tầm thường nhưng không bình thường hóa. Tôi sợ rằng, nói chung, trừ khi có nhiều ràng buộc hơn được đưa vào hệ thống loại, có thể không có mối quan hệ nào giữa các khái niệm bạn trích dẫn.
chi

@chi Tôi xin lỗi. Tôi đã không nhận thức được mức độ tổng quát của định nghĩa của một hệ thống đánh máy. Những gì tôi có trong tâm trí là một thứ giống như một mảnh của lý thuyết loại Martin-Löf (mở rộng) với vũ trụ. Do đó, tôi tin rằng Hệ thống đánh máy thuần túy sẽ là ràng buộc chính xác trong câu hỏi của tôi.
dùng40276

Bạn có ý nghĩa gì về việc hoãn mở rộng đã được giải quyết? Liên kết không có sẵn nữa. Sự hiểu biết của tôi cho đến nay là nó được biết là đúng với một lớp con của PTS (tôi nghĩ là bán đầy đủ) nhưng nó vẫn là một phỏng đoán mở cho trường hợp chung.
Saroupille

Câu trả lời:


12

Tôi sẽ đưa ra một câu trả lời tập trung và kỹ thuật hơn cho Martin. Nếu chúng ta quan tâm đến các lý thuyết loại phụ thuộc, thì không có hướng nào là rõ ràng, nhưng cả hai thường được coi là giữ. Tuy nhiên, hướng Decidable bình thường hóa là mở, tôi tin, ngay cả đối với các hệ thống tương đối hiểu rõ, mặc dù chúng tôi có kết quả một phần. Câu hỏi này khám phá một số vấn đề tương tự.

Về mặt kỹ thuật hơn: một khung kỹ thuật tốt cho những câu hỏi này là cài đặt Hệ thống Kiểu thuần túy trong đó chuẩn hóa nghĩa là tính quyết định của việc kiểm tra loại. Kết quả là văn hóa dân gian, nhưng không tầm thường, vì một chiến lược khi nào nên áp dụng quy tắc chuyển đổi cần phải được tìm thấy. Chiến lược rõ ràng là bình thường hóa các loại suy ra trước tất cả các ứng dụng của quy tắc ứng dụng. Có một số sự tinh tế ngay cả ở đây, nơi tính chính xác của một chiến lược tự nhiên (hiệu quả hơn) được gọi là hoãn mở rộng đã được mở trong một thời gian, nhưng đã được giải quyết kể từ đó.

Có những hệ thống đang bình thường hóa nhưng không thể giải quyết được, đáng chú ý nhất là hệ thống có các loại giao nhau , loại chính xác các thuật ngữ chuẩn hóa, và do đó phải là không thể giải quyết được (vì nếu không nó có thể được sử dụng để xác định các thuật ngữ chuẩn hóa). Ở đây sẽ rất hấp dẫn khi nói rằng hệ thống bị lỗi theo nghĩa là nó không được định hướng theo kiểu , tức là các điều khoản không chứa đủ thông tin để tìm ra loại.

Bây giờ điều ngược lại, điều sẽ gợi ý các hệ thống không bình thường hóa là không thể giải quyết được, không còn rõ ràng nữa: nó thậm chí còn mở trong một thời gian cho hệ thống nổi tiếng của Martin-Löf! Trường hợp này đã được giải quyết bằng cách đưa ra một ví dụ về một tổ hợp vòng lặp, cho phép viết các phép tính tùy ý.Type:Type

Tuy nhiên, vấn đề chung vẫn còn mở cho các hệ thống loại thuần nói chung, mặc dù nó được cho là đúng và một số kết quả một phần đã được hiển thị theo hướng này, ví dụ ở đây .


Cảm ơn câu trả lời của bạn. Điều gì về tính quyết định của khả năng đánh máy?
dùng40276

1
@ user40276 đây là một câu hỏi khá khác nhau. Với các chú thích về sự trừu tượng, kiểu chữ và suy luận kiểu cũng khó như nhau. Không có chú thích, mọi thứ trở nên không thể giải quyết gần như ngay lập tức, bất kể chấm dứt, như được giải thích trong các câu trả lời ở đây: cs.stackexchange.com/questions/12691/ Lỗi
cody

4

(1) Sai. Ví dụ về bộ đếm: Java, Scala, Haskell, ...

(2) Không có quan hệ chung giữ, thực sự phụ thuộc vào các chi tiết của hệ thống ngôn ngữ / gõ. Có một ngoại lệ: đối với các ngôn ngữ lành mạnh và hệ thống gõ, tôi tưởng tượng rằng tính quyết định của suy luận kiểu (mà tôi cho là ý của bạn là "khả năng đánh máy") ngụ ý kiểm tra kiểu. Nhưng tôi sẽ không ngạc nhiên nếu người ta có thể pha chế một hệ thống điên rồ mà ngay cả hàm ý đó cũng không giữ được.


Cảm ơn câu trả lời của bạn. Kiểu chữ đề cập đến quá trình tìm một loại sao cho một thuật ngữ thuộc về nó và không phải tất cả các loại này.
dùng40276

Làm thế nào điều này liên quan đến khái niệm thông thường của suy luận kiểu?
Martin Berger

Một ví dụ cụ thể trong đó suy luận loại có thể quyết định không đòi hỏi phải kiểm tra loại có thể quyết định: phép tính lambda đa hình bậc 2. Có tồn tại các thuật toán suy luận cho ngôn ngữ này, tuy nhiên chúng không ổn định khi thêm chữ ký loại. Đó là, chúng ta không có điều đó a: A đòi hỏi (a :: A): A trong đó tôi đang sử dụng :: cho cụm từ của ngôn ngữ đối tượng "a có loại A". Do đó, mặc dù chúng ta có thể suy ra A cho a, chúng ta không thể luôn luôn kiểm tra chống lại A.
wren romano

@wrenromano Thú vị. Hệ thống F có suy luận và kiểm tra không thể giải quyết được, và phép tính lambda đa hình bậc 2 là một hệ thống con (thuộc loại). Bạn đã có một tài liệu tham khảo cho hiện tượng này?
Martin Berger

Lấy làm tiếc. Nhận xét của tôi là sai như tôi đã viết, nó phải là: "Kiểu chữ đề cập đến quá trình tìm một loại sao cho thuật ngữ đã cho thuộc về nó và không phải tất cả các loại này". Khả năng quyết định của suy luận kiểu ngụ ý tính quyết định của khả năng đánh máy. Tôi gần như chắc chắn rằng khẳng định đối ứng không giữ được, nhưng tôi không biết về một ví dụ ngược lại.
dùng40276
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.