34.519.347
lần sửa đổi
(link) |
n (replaced: ) → ) (2), . → . (11), : → : (2), ; → ; (2) using AWB) |
||
Trong [[toán học]], [[logic]] và [[khoa học máy tính]], một '''lý thuyết hình thái''' hoặc một '''hệ hình thái''' là một hệ thống hình thức trong đó mọi '''đối tượng''' đều có một '''hình thái''' (hay mọi ''biến'' đều có một ''kiểu'', mọi ''từ'' đều có một ''loại'',...). Hình thái của một đối tượng hạn chế các ''tác động'' (hay ''phép toán'', ''cách dùng'') có thể được thực hiện trên đối tượng (hay ''biến'', ''từ'') ấy. Ngành nghiên cứu các hệ hình thái cũng được gọi là Lý thuyết Hình Thái.
Một số lý thuyết hình thái có thể đóng vai trò thay thế [[lý thuyết tập hợp]] để làm nền tảng cho toán học. Hai lý thuyết như vậy khá nổi tiếng là lý thuyết [[Phép tính lambda|phép tính lambda hình thái]] của Alonzo và lý thuyết hình thái trực giác của Per Martin-Löf.
▲Trong [[toán học]], [[logic]] và [[khoa học máy tính]], một '''lý thuyết hình thái''' hoặc một '''hệ hình thái''' là một hệ thống hình thức trong đó mọi '''đối tượng''' đều có một '''hình thái''' (hay mọi ''biến'' đều có một ''kiểu'', mọi ''từ'' đều có một ''loại'',...). Hình thái của một đối tượng hạn chế các ''tác động'' (hay ''phép toán'', ''cách dùng'') có thể được thực hiện trên đối tượng (hay ''biến'', ''từ'') ấy. Ngành nghiên cứu các hệ hình thái cũng được gọi là Lý thuyết Hình Thái.
Lý thuyết hình thái có quan hệ chặt chẽ với, và đôi khi trùng lặp với, [[hệ thống kiểu]] trong khoa học máy tính.
▲Lý thuyết hình thái có quan hệ chặt chẽ với, và đôi khi trùng lặp với, [[hệ thống kiểu]] trong khoa học máy tính.
== Lịch sử ==
Trong khoảng thời gian từ năm 1902 đến năm 1908, [[Bertrand Russell]] đã đề xuất nhiều "lý thuyết hình thái" khác nhau để giải quyết vấn đề mà chính ông trước đó khám phá ra: rằng phiên bản [[Lý thuyết tập hợp ngây thơ|lý thuyết tập ngây thơ]] của [[Gottlob Frege]] bị ảnh hưởng bởi [[nghịch lý Russell]].
== Các khái niệm cơ bản ==
Trong phần tiếp theo, ''từ'' và ''đối tượng'' mang cùng một nghĩa; ''loại'' và ''hình thái'' mang cùng một nghĩa.
Trong một hệ hình thái, mỗi '''từ''' có một '''loại'''. Ví dụ, <math>4</math>, <math>2+2</math> và <math>2\cdot 2</math> là các từ phân biệt đều có loại <math>\mathrm{nat}</math> của các số tự nhiên. Theo truyền thống, loại của từ được viết sau dấu hai chấm, chẳng hạn như <math>2
Các hệ hình thái có các phép tính tường minh được thể hiện qua các luật viết lại. Các luật viết lại này được gọi là '''quy tắc chuyển đổi''' hoặc, nếu luật chỉ hoạt động theo một chiều, '''quy tắc rút gọn'''. Ví dụ, <math>2 + 2</math> và <math>4</math> là những từ khác nhau về mặt cú pháp, nhưng từ đầu tiên có thể được rút gọn thành từ thứ hai. Phép rút gọn này được viết là <math>2 + 2 \twoheadrightarrow 4</math>
Các hàm trong hệ hình thái có một quy tắc rút gọn đặc biệt: một biến xuất hiện trong định nghĩa hàm sẽ được thay thế bởi đối số tương ứng. Giả sử hàm <math>\mathrm{double}</math> được định nghĩa là <math>x \mapsto x+x </math>. Phép gọi hàm <math>\mathrm{double}\ 2</math> sẽ được rút gọn bằng cách thay thế <math>2</math> cho mọi <math>x</math> trong định nghĩa hàm. Như vậy ta có phép rút gọn <math>\mathrm{double}\ 2 \twoheadrightarrow 2+2</math>
Loại hàm được ký hiệu bằng một mũi tên <math>\to</math> từ loại tham số đến loại trả về của hàm. Như vậy, ta viết <math>\mathrm{double}
== Khác biệt với lý thuyết tập hợp ==
Có nhiều lý thuyết tập hợp khác nhau và nhiều hệ thống khác nhau của lý thuyết hình thái. Tuy nhiên, ta có thể nêu ra một số nhận xét chung.
* Lý thuyết tập hợp được xây dựng trên nền tảng logic. Nó đòi hỏi một hệ thống riêng như logic vị từ bên dưới nó. Trong lý thuyết hình thái, các khái niệm như "và" và "hoặc" có thể được mã hóa thành các ''hình thái''. Tức là, lý thuyết hình thái có thể làm nền tảng cho logic.
* Trong lý thuyết tập hợp, một phần tử có thể là phần tử của nhiều tập hợp. Trong lý thuyết hình thái, mỗi đối tượng chỉ thuộc về một hình thái.
* Lý thuyết tập hợp thường mã hóa các số dưới dạng tập hợp. (0 là tập hợp rỗng, 1 là tập hợp chứa tập hợp rỗng, v.v.
* Lý thuyết hình thái có quan hệ gần với toán học xây dựng thông qua diễn giải BHK
== Tính chất khác ==
=== Chuẩn hóa ===
Từ <math>2 + 1</math> được rút gọn về <math>3</math>
Đối với một hệ chuẩn hóa, một '''phần tử''' là một lớp các từ có cùng một dạng chuẩn hóa. Một '''từ đóng''' là một từ không có tham số. (Một từ như <math>x + 1</math> với tham số <math>x</math> được gọi là một '''từ mở'''
=== Các loại phụ thuộc ===
Một '''loại phụ thuộc''' là một loại mà phụ thuộc vào một từ hoặc loại khác. Ví dụ, loại trả về của một hàm có thể phụ thuộc vào đối số đưa vào hàm.
Ví dụ, một danh sách <math>\mathrm{nat}</math> s có độ dài 4 có thể có loại khác với một danh sách <math>\mathrm{nat}</math> s có độ dài 5.
=== Các loại đẳng thức ===
Nhiều hệ hình thái có một loại đại diện cho ''sự bằng nhau'' của các loại và các từ. Loại này khác với quy tắc chuyển đổi, và được gọi là ''đẳng thức mệnh đề''.
Trong lý thuyết hình thái trực giác, loại đẳng thức được gọi là <math>I</math>. Có một loại <math>I\ A\ a\ b</math> với <math>A</math> là một loại và <math>a</math>, <math>b</math> là các từ có loại <math>A</math>
Trong thực tế, có thể xây dựng một loại <math>I\ \mathrm{nat}\ 3\ 4</math> nhưng loại đó sẽ không có từ nào cả (vì <math>3</math> khác <math>4</math>). Trong lý thuyết loại trực giác, ta xây dựng các từ đẳng thức bắt đầu từ các đẳng thức đồng nhất. Nếu <math>3</math> là một từ loại <math>\mathrm{nat}</math>, tồn tại một từ với loại <math>I\ \mathrm{nat}\ 3\ 3</math>
== Các lý thuyết hình thái ==
* Lý thuyết hình thái trực giác;
* Hệ F;
* Phép tính xây dựng và các dẫn xuất
=== Phụ ===
* Automath
* Lý thuyết hình thái ST
=== Hiện đang được nghiên cứu ===
* Andrews B., Peter (2002). ''An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof'' (2nd ed.). Kluwer. ISBN <bdi>978-1-4020-0763-7</bdi>.
* Covers type theory in depth, including polymorphic and dependent type extensions. Gives categorical semantics.
* Cardelli, Luca (1996). "Type Systems". In Tucker, Allen B. (ed.). ''The Computer Science and Engineering Handbook''. CRC Press. pp.
* Constable, Robert L. (2012) [2002]. "Naïve Computational Type Theory" ([http://www.nuprl.org/documents/Constable/naive.pdf PDF]). In Schwichtenberg, H.; Steinbruggen, R. (eds.). ''Proof and System-Reliability''. Nato Science Series II. '''62'''. Springer. pp.
* Coquand, Thierry (2018) [2006]. "Type Theory". ''Stanford Encyclopedia of Philosophy''.
* Thompson, Simon (1991). ''Type Theory and Functional Programming''. Addison–Wesley.
|
lần sửa đổi