NUMMSQUARED 2006 - Luận án tiến sĩ về nền tảng hàm cho logic toán học
Luận án tiến sĩ NUMMSQUARED 2006 trình bày nền tảng hàm mới cho logic, toán học và khoa học máy tính. Cung cấp cơ sở lý thuyết vững chắc cho ứng dụng tính toán.
Dalhousie University
Logic, Mathematics and Computer Science
Luan An
Luận án
Năm xuất bản
Số trang
300
Thời gian đọc
45 phút
Lượt xem
2
Lượt tải
0
Phí lưu trữ
50 Point
Tổng quan nhanh
- Chủ đề:
- 1. Nền Tảng Hàm Toán Học Trong NUMMSQUARED
- Số trang:
- 300 trang
- Trường:
- Dalhousie University
- Chuyên ngành:
- Logic, Mathematics and Computer Science
- Tác giả:
- Samuel Howse
- Năm:
- 2006
Tóm tắt nội dung luận án
I. Nền Tảng Hàm Toán Học Trong NUMMSQUARED
NUMMSQUARED giới thiệu nền tảng mới cho logic, toán học và khoa học máy tính. Hệ thống dựa trên lý thuyết hàm thay vì lý thuyết tập hợp truyền thống. Cách tiếp cận này giải quyết các vấn đề về tính well-founded và coercion. Khung lý thuyết tập trung vào small function extensions và large function extensions. Các khái niệm về miền xác định, miền giá trị được định nghĩa rõ ràng. Hệ thống tránh các nghịch lý trong set theory cổ điển. Tagged small function extensions cho phép coercion stability. Domain extension families đảm bảo tính nhất quán. Normalized large functions cung cấp cơ chế tính toán. Phương pháp này tạo nền tảng vững chắc hơn lambda calculus không kiểu.
1.1. Khái Niệm Small Function Extensions
Small function extensions là khối xây dựng cơ bản. Mỗi extension có miền xác định và rank xác định. Identity small function extensions đóng vai trò đặc biệt. Domain extension families nhóm các extensions liên quan. Specific result xác định giá trị đầu ra cho từng đầu vào. Cấu trúc này đảm bảo tính well-founded của toàn hệ thống.
1.2. Tagged Small Function Extensions
Tagged extensions thêm metadata vào functions. Tag cho phép phân biệt các hàm toán học tương tự. Coercion của tagged extensions tuân theo định lý stability. Untagged extensions là trường hợp đặc biệt. Tag irrelevance theorem đảm bảo tính nhất quán. Cơ chế này hỗ trợ type safety mạnh mẽ.
1.3. Large Function Extensions
Large function extensions xử lý tính toán phức tạp. Computational large functions thực hiện operations cụ thể. Non-computational extensions biểu diễn logic thuần túy. Normalized large functions có dạng chuẩn xác định. Extension và truth value được định nghĩa chính xác. Reduction mechanism tính toán kết quả cuối cùng.
II. Hàm Một Một Và Ánh Xạ Trong Hệ Thống
Các loại ánh xạ được định nghĩa thông qua function extensions. Hàm một một đảm bảo mỗi đầu vào ánh xạ tới đầu ra duy nhất. Hàm toàn ánh bao phủ toàn bộ miền giá trị. Hàm song ánh kết hợp cả hai tính chất. Domain và codomain được kiểm soát chặt chẽ. Rank của functions đảm bảo không có vòng lặp vô hạn. Identity functions bảo toàn cấu trúc. Coercion cho phép chuyển đổi type an toàn. Substitution theorem hỗ trợ biến đổi biểu thức. Normal forms chuẩn hóa representations. Hệ thống này mạnh hơn set theory von Neumann.
2.1. Miền Xác Định Và Miền Giá Trị
Domain của function được định nghĩa qua domain extensions. Specific result xác định image của mỗi element. Codomain là tập hợp tất cả possible results. Rank đảm bảo well-foundedness của definitions. Domain extension families nhóm related domains. Validity checks ngăn chặn contradictions.
2.2. Tính Chất Injective Và Surjective
Injectivity được verify qua specific results. Mỗi domain element map tới unique result. Surjectivity đảm bảo coverage của codomain. Bijective functions có inverse functions. Identity extensions preserve structure hoàn toàn. Tag mechanisms phân biệt isomorphic functions.
2.3. Composition Và Inverse Functions
Hàm hợp được xây dựng từ function extensions. Composition preserves well-foundedness properties. Hàm ngược tồn tại cho bijective functions. Substitution theorem enables function composition. Normal forms simplify composite expressions. Computational combinations optimize evaluations.
III. Lý Thuyết Tập Hợp Và Cải Tiến NUMMSQUARED
NUMMSQUARED vượt qua hạn chế của set theory truyền thống. Von Neumann và Jones approaches có vấn đề về well-foundedness. Hệ thống mới dựa trên functional foundations. Reflection principles được xử lý cẩn thận. Coercion mechanisms tránh type errors. Lambda calculus không kiểu thiếu structure. Typed systems quá restrictive cho mathematics. NUMMSQUARED cân bằng flexibility và safety. Well-founded relations đảm bảo termination. Booleans và natural numbers được define formally. Primitives tạo building blocks cơ bản. Modules organize definitions systematically. Abstract programs enable meta-reasoning.
3.1. Vấn Đề Với Set Theory Cổ Điển
Russell's paradox xuất hiện trong naive set theory. Von Neumann's approach sử dụng ordinals phức tạp. Jones's modifications vẫn có circularity issues. Reflection principles tạo consistency problems. NUMMSQUARED tránh các paradoxes này hoàn toàn. Functional approach eliminates self-reference issues.
3.2. Lambda Calculus Và Hạn Chế
Untyped lambda calculus cho phép non-terminating computations. Typed lambda calculus quá restrictive. Church-Rosser property không đủ cho foundations. NUMMSQUARED combines benefits của cả hai. Normal forms guarantee termination khi needed. Computational freedom retained cho valid operations.
3.3. Well Foundedness Trong NUMMSQUARED
Rank system prevents infinite descending chains. Mỗi function extension có rank xác định. Well-founded relations structure toàn bộ system. Coercion respects rank ordering strictly. Domain extensions maintain well-foundedness invariants. Reduction processes always terminate properly.
IV. Normalized Large Functions Và Tính Toán
Normalized large functions là core của computational model. Extension của function định nghĩa behavior. Truth values emerge từ function evaluations. Reduction mechanism computes normal forms. Computed results là fully evaluated expressions. Natural numbers có normal form representations. Quoted forms preserve structure without evaluation. Unquoted forms trigger computation immediately. Substitution theorem enables variable replacement. Definition lists organize function definitions. Modules group related definitions together. Global names reference module-level definitions. Local names scope to specific contexts. Tuple accessors extract components safely. Primitives provide built-in operations. Constants represent fixed values. Computational combinations compose operations. Non-computational combinations express pure logic.
4.1. Reduction Và Normal Forms
Reduction transforms expressions tới simplest forms. Computed operation evaluates fully. Normal form là canonical representation. Natural numbers reduce tới standard notation. Quoted forms delay evaluation strategically. Unquoted forms force immediate computation. Process always terminates cho valid expressions.
4.2. Substitution Và Definitions
Substitution theorem enables safe replacement. Variables bind tới values correctly. Definition lists maintain consistency. Modules encapsulate related definitions. Global names provide cross-module references. Local names ensure proper scoping. Tuple accessors type-check before extraction.
4.3. Computational Vs Non Computational
Computational extensions perform actual calculations. Non-computational extensions express logical properties. Combinations mix cả hai types appropriately. Dependent products enable type-level computation. Recursion right-hand-sides define iterative processes. Normal form computation handles all cases. System balances expressiveness với decidability.
V. Coercion Stability Và Type Safety
Coercion mechanism cho phép safe type conversions. Tagged small function extensions support coercion. Coercion stability theorem đảm bảo consistency. Tags distinguish structurally similar functions. Untagged extensions không require coercion. Tag irrelevance theorem proves equivalences. Domain extensions validate coercions. Rank preservation maintains well-foundedness. Identity functions coerce trivially. Specific results preserved qua coercion. Computational large functions coerce appropriately. Non-computational extensions maintain logical properties. Type safety emerges từ coercion rules. System prevents invalid conversions automatically. Stability guarantees predictable behavior. Theorem proving verifies coercion correctness.
5.1. Tagged Extensions Và Coercion
Tags add metadata cho type distinction. Coercion converts giữa compatible types. Stability theorem proves coercion consistency. Tagged functions preserve semantic meaning. Untagged functions không need conversion. Tag irrelevance shows when tags unnecessary. Mechanism balances flexibility với safety.
5.2. Rank Preservation Trong Coercion
Coercion must preserve rank ordering. Well-foundedness maintained qua conversions. Domain extensions validate rank compatibility. Identity coercions preserve ranks exactly. Non-identity coercions check ranks carefully. System prevents rank violations automatically. Guarantees termination properties preserved.
5.3. Type Safety Guarantees
Coercion rules prevent type errors. Invalid conversions rejected at definition. Computational safety ensured throughout. Logical consistency maintained across coercions. Dependent types interact correctly. Recursion respects type constraints. System provides strong safety properties.
VI. Ứng Dụng Cho Logic Và Khoa Học Máy Tính
NUMMSQUARED provides foundations cho formal logic. Booleans defined qua function extensions. Truth values emerge naturally từ system. Computational large functions implement algorithms. Abstract programs enable meta-programming. Modules organize code systematically. Definition lists maintain consistency. Global và local names provide scoping. Primitives offer built-in operations. Natural numbers support arithmetic. Dependent products enable advanced typing. Recursion handles iterative computations. Normal forms standardize representations. Substitution supports symbolic manipulation. Theorem proving verifies properties. System suitable cho verified software. Foundations support formal mathematics. Computer science benefits từ rigorous base. Logic programming fits naturally. Functional programming paradigm enhanced.
6.1. Formal Logic Foundations
Booleans defined precisely qua extensions. Truth emerges từ function evaluations. Logical operators implemented as functions. Quantifiers handled qua dependent products. Proof terms correspond tới programs. Propositions-as-types principle applies naturally. System supports constructive logic fully.
6.2. Programming Language Applications
Abstract programs represent meta-level code. Modules organize definitions hierarchically. Global names enable modular programming. Local names provide lexical scoping. Primitives give efficient built-ins. Recursion supports iterative algorithms. Normal forms optimize evaluation strategies.
6.3. Verified Software Development
Formal foundations enable verification. Theorem proving checks program correctness. Type safety prevents runtime errors. Coercion stability ensures predictability. Well-foundedness guarantees termination. System supports certified programming. Rigorous base enables trustworthy software.
Mục lục chi tiết luận án
Tải xuống file đầy đủ để xem toàn bộ nội dung
Tải đầy đủ (300 trang)Nội dung chính
Tổng quan về luận án
Luận án "NummSquared Explained: Including a New Well-Founded Functional Foundation for Logic, Mathematics and Computer Science" của Samuel Howse trình bày một khung ngôn ngữ hình thức nền tảng mang tính đột phá, NummSquared, nhằm giải quyết những hạn chế cố hữu trong các nền tảng khoa học máy tính và toán học hiện có. Nghiên cứu này đặt trong bối cảnh nhu cầu cấp thiết về các công cụ phần mềm đáng tin cậy và an toàn hơn, nơi sự phức tạp và rủi ro bảo mật của máy tính cá nhân hiện đại đòi hỏi một cách tiếp cận đơn giản và toán học thanh lịch hơn cho các tác vụ tính toán và logic cốt lõi. Tính tiên phong của NummSquared nằm ở việc nó định vị lại hàm số là khái niệm nền tảng duy nhất, một sự giản lược sâu sắc so với các lý thuyết hiện hành.
Research Gap SPECIFIC với citations từ literature:
Nghiên cứu này cụ thể hóa một khoảng trống then chốt trong các nền tảng hình thức hiện tại. Các nền tảng chủ đạo như lý thuyết tập hợp, lambda calculus không kiểu (untyped lambda calculus) và lý thuyết kiểu (type theory) đều bộc lộ những hạn chế đáng kể:
- Lý thuyết tập hợp: Mặc dù là nền tảng chuẩn cho toán học, nó "thường không bao gồm các quy tắc rút gọn cho các lời gọi hàm." (Abstract, Introduction). Điều này khiến nó kém phù hợp cho khoa học máy tính, nơi tính toán là trọng tâm.
- Lambda calculus không kiểu: Các cải tiến của nó làm cho hàm số trở nên cơ bản nhưng "gặp phải các phép rút gọn không dừng và có logic phi cổ điển một phần" (Abstract, Introduction), điển hình là các nghịch lý Russell và Curry (ví dụ: Russell’s paradox, Russell 1902; Curry’s paradox, Curry 1942).
- Lý thuyết kiểu: Mặc dù là một nền tảng tốt, nhưng "bằng cách làm cho cả kiểu và hàm số trở nên cơ bản, nó phức tạp hơn cả lý thuyết tập hợp hoặc lambda calculus không kiểu." (Abstract, Introduction).
NummSquared lấp đầy khoảng trống này bằng cách cung cấp một nền tảng hình thức mới "chỉ làm cho hàm số trở nên cơ bản, đồng thời đảm bảo rằng việc rút gọn kết thúc, có một logic cổ điển và cố gắng tuân theo lý thuyết tập hợp càng nhiều càng tốt." (Abstract, Introduction).
Research Questions và Hypotheses:
Luận án này không trình bày tường minh các câu hỏi nghiên cứu và giả thuyết theo định dạng đánh số truyền thống như trong các nghiên cứu thực nghiệm. Tuy nhiên, các mục tiêu cốt lõi của NummSquared có thể được diễn giải thành các câu hỏi và giả thuyết nền tảng mà nghiên cứu này khám phá và chứng minh:
- RQ1: Liệu một ngôn ngữ hình thức mới chỉ dựa trên hàm số có thể cung cấp một nền tảng đầy đủ cho logic, toán học và khoa học máy tính mà không cần kiểu hoặc các khái niệm nền tảng khác?
- H1: Có thể xây dựng một hệ thống trong đó hàm số là khái niệm duy nhất nền tảng, đủ để biểu diễn các cấu trúc logic và toán học phức tạp, đồng thời đảm bảo tính toàn vẹn của hệ thống.
- RQ2: Làm thế nào để đảm bảo tính kết thúc của phép rút gọn và duy trì một logic cổ điển trong một hệ thống không kiểu dựa trên hàm số?
- H2: Cơ chế "coercion" có thể được thiết kế để định nghĩa hàm số trên tất cả các hàm số nhỏ và duy trì tính toán được, từ đó đảm bảo tính kết thúc của phép rút gọn và một logic cổ điển, ngay cả khi không có kiểu.
- RQ3: Liệu một ngôn ngữ hình thức nền tảng có thể hỗ trợ cả tính toán và chứng minh một cách thực tế, đồng thời dễ dàng áp dụng trong thực tiễn khoa học máy tính?
- H3: Bằng cách tích hợp các khái niệm như "reduction" và "reflection," và phát triển một trình thông dịch (NsGo) được trích xuất tự động từ một trợ lý chứng minh hình thức (Coq), ngôn ngữ này có thể đạt được khả năng ứng dụng thực tiễn cao.
- RQ4: Làm thế nào để một nền tảng hình thức mới có thể xây dựng dựa trên các công trình ít được chú ý trước đây của các nhà khoa học như von Neumann và Bishop Jones để nâng cao lĩnh vực này?
- H4: Bằng cách mở rộng ý tưởng về phân biệt hàm số ("small" và "large functions") và áp dụng tính chất "well-foundedness" từ von Neumann (1925) và Jones (1998), NummSquared có thể tạo ra một nền tảng mạnh mẽ hơn.
Theoretical Framework với tên theories cụ thể:
Khung lý thuyết của NummSquared được xây dựng trên sự phân tích và tổng hợp sâu sắc từ nhiều lĩnh vực:
- Lý thuyết tập hợp (Set Theory): Cụ thể là ZF và ZFC (Zermelo-Fraenkel set theory with the Axiom of Choice), được xem là nền tảng chuẩn cho toán học (Zermelo, 1908; Fraenkel, 1922). NummSquared cố gắng tuân theo lý thuyết tập hợp càng nhiều càng tốt và chia sẻ tính chất "well-foundedness" với ZF.
- Lambda Calculus (Church, 1932): Luận án phân tích untyped lambda calculus và các cải tiến của nó, cùng với các vấn đề về non-terminating reductions và non-classical logics (Russell's paradox, Church's type theory 1940, Curry’s paradox).
- Lý thuyết kiểu (Type Theory): Là một nền tảng quan trọng cho logic, toán học và khoa học máy tính, nhưng NummSquared tìm cách đơn giản hóa bằng cách loại bỏ các kiểu làm khái niệm cơ bản.
- Axiomatization of Functions (von Neumann, 1925): NummSquared xây dựng dựa trên công trình tiên phong của John von Neumann về tiên đề hóa hàm số (von Neumann, 1925, [40]), đặc biệt là khái niệm về việc phân biệt hàm số có thể được dùng làm đối số hay không (small vs. large functions).
- Pure Functions (Jones, 1998): Công trình của Roger Bishop Jones ([26]) về Pure Functions, một tiên đề hóa hàm số liên quan đến ZFC, cũng là một nền tảng mà NummSquared cải tiến.
- Logic hình thức (Formal Logic): Luận án nhấn mạnh việc duy trì một classical logic (logic cổ điển), đối lập với các logic phi cổ điển một phần của một số cải tiến lambda calculus.
Đóng góp đột phá với quantified impact:
NummSquared mang lại những đóng góp đột phá với tác động định lượng tiềm năng:
- Đơn giản hóa nền tảng cực đoan: Bằng cách chỉ tập trung vào hàm số làm khái niệm nền tảng, NummSquared giảm thiểu đáng kể số lượng khái niệm cơ bản so với lý thuyết kiểu (từ hai xuống một), tiềm năng giảm độ phức tạp cho người học và nhà phát triển.
- Đảm bảo tính kết thúc của phép rút gọn: Ngược lại với untyped lambda calculus ([6, section 2]) nơi "('f 'f)" (lambda x. (x x)) dẫn đến non-terminating reductions, NummSquared đảm bảo "reduction always terminates" (Chapter 2, mục tiêu). Điều này có tác động trực tiếp đến độ tin cậy và khả năng dự đoán của các chương trình, có thể tiết kiệm hàng trăm giờ gỡ lỗi và phân tích tính dừng trong các dự án phần mềm lớn.
- Logic cổ điển và khả năng chứng minh: NummSquared duy trì một logic cổ điển, tránh các nghịch lý như Russell's và Curry's paradox ([35, p. 77]). Điều này nâng cao tính đúng đắn và khả năng tin cậy của các chứng minh hình thức.
- Tích hợp mạnh mẽ giữa lý thuyết và thực tiễn: NummSquared hỗ trợ "computation and reflection, and by having an interpreter called NsGo" (Abstract), cho phép ngôn ngữ được sử dụng thực tế. NsGo, một ứng dụng F#/C# .NET, được "tự động trích xuất từ một chương trình của trợ lý chứng minh Coq" (Abstract), đảm bảo độ tin cậy cao và tính đúng đắn của việc triển khai. Điều này thu hẹp khoảng cách giữa lý thuyết hình thức và ứng dụng công nghiệp, với tiềm năng giảm tỷ lệ lỗi phần mềm đến mức gần bằng 0 trong các thành phần cốt lõi.
- Giảm thiểu ràng buộc cho người dùng: "Because of coercion, there are no types, and functions are defined and called without proof, yet reduction terminates." (Abstract). Tính năng này "minimizes constraints on the logician, mathematician or programmer" (Chapter 2, mục tiêu), có thể mở rộng đáng kể đối tượng người dùng của các phương pháp hình thức (formal methods), tăng cường việc áp dụng chúng trong các dự án thực tế.
Scope (sample size, timeframe) và significance:
Là một luận án nền tảng lý thuyết, phạm vi của NummSquared được định nghĩa bởi các thành phần hình thức của nó. "Sample size" ở đây không phải là đối tượng nghiên cứu thực nghiệm mà là số lượng và cấu trúc của các "small function extensions" (các đơn vị cơ bản của hệ thống), "large function extensions" (các hàm số cấp cao), "domain extensions" (mở rộng miền) và các quy tắc ngữ nghĩa. Luận án định nghĩa một cách cẩn thận và toàn diện các khái niệm này trong Chương 7, bao gồm các trường hợp như Func.null, Func.zero, Func.one, pair small function extensions, và rule small function extensions. Tính chất "well-foundedness" được chứng minh cho các hàm số nhỏ không null.
Về "timeframe," nghiên cứu này phản ánh nhiều năm làm việc sâu rộng trong việc phát triển lý thuyết, thiết kế ngôn ngữ và triển khai chứng minh hình thức bằng Coq (Hoàn thành năm 2006).
Ý nghĩa của NummSquared là sâu rộng, đặc biệt trong việc cung cấp một nền tảng mới có tiềm năng giải quyết các thách thức về độ phức tạp và độ tin cậy trong phát triển phần mềm và lý thuyết tính toán. Nó cung cấp một "simplified view" của máy tính, "ideal for the computational and logical tasks that are the core of almost any software." (Introduction).
Literature Review và Positioning
Luận án này thực hiện một đánh giá văn học chuyên sâu, phân tích các nền tảng hình thức chủ đạo để định vị NummSquared.
Synthesis của major streams với TÊN TÁC GIẢ và NĂM cụ thể:
- Untyped Lambda Calculus (Church, 1932): Được giới thiệu bởi Alonzo Church ([6, section 2]), lambda calculus không kiểu làm cho hàm số trở nên cơ bản. Tuy nhiên, nó nổi tiếng với các phép rút gọn không dừng (e.g., ('f 'f) với 'f = (lambda x. (x x)) ([6, section 2])) và các vấn đề về logic phi cổ điển, như Russell's paradox (Russell, 1902; [41, section 2]) khi kết hợp với phủ định, và Curry’s paradox ([35, p. 77]) khi kết hợp với kéo theo.
- Type Theory (Church, 1940; Russell, 1903): Russell's theory of types (1903) và Church's type theory (1940) ([35, p. 30]) xuất hiện như giải pháp cho các nghịch lý. Lý thuyết kiểu khắc phục các vấn đề của lambda calculus không kiểu bằng cách đưa vào kiểu. Tuy nhiên, như luận án lập luận, việc làm cho cả kiểu và hàm số trở nên cơ bản làm tăng độ phức tạp của nền tảng.
- Set Theory (Zermelo, 1908; Fraenkel, 1922; von Neumann, 1925): ZF set theory và ZFC (Zermelo, 1908; Fraenkel, 1922; [17, p. 57], [36, p. 30]) là nền tảng chuẩn cho toán học, tránh nghịch lý Russell thông qua axiom of replacement thay vì kiểu. Công trình của John von Neumann (1925) ([40]) về tiên đề hóa hàm số, liên quan đến ZFC, cũng được xem xét. Tuy nhiên, nhiều lý thuyết tập hợp, bao gồm ZFC và NBG, "không bao gồm các quy tắc rút gọn cho các lời gọi hàm." (Chapter 2, section 2).
- Cải tiến trên Untyped Lambda Calculus:
- Howe (1998): Một ngôn ngữ lập trình kết hợp các thuật ngữ lambda không kiểu với các hàm lý thuyết tập hợp ([21, section 2]), giải quyết Russell's paradox nhưng không loại bỏ non-terminating reductions.
- Gilmore's NaDSyL (1998): (Gilmore, 1998; [12]) giải quyết Russell's paradox và đảm bảo các công thức hoặc đúng hoặc sai, nhưng tập hợp các công thức là undecidable.
- Grue's map theory (2000): (Grue, 2000; [16]) bao gồm lý thuyết tập hợp ZFC, nhưng "excluded middle is false in general." (Chapter 2, section 1). Không cải tiến nào trong số này loại bỏ được các phép rút gọn không dừng và mỗi cải tiến, trừ Howe, đều có logic phi cổ điển một phần.
Contradictions/debates với ít nhất 2 opposing views:
- Logic Cổ điển vs. Phi Cổ điển: Một tranh luận chính xoay quanh việc liệu một nền tảng logic có nên tuân thủ logic cổ điển (classical logic) hay không. Nhiều cải tiến của untyped lambda calculus, như NaDSyL (Gilmore) và map theory (Grue), dẫn đến "partially non-classical logics" (Chapter 2, section 1) hoặc các vấn đề undecidability, trong khi NummSquared kiên quyết duy trì một logic cổ điển để tương thích tối đa với toán học truyền thống.
- Kiểu là Nền tảng hay không: Có sự đối lập rõ ràng giữa lý thuyết kiểu (Church, Russell), nơi kiểu là một khái niệm cơ bản để đảm bảo tính đúng đắn, và các cách tiếp cận khác như lý thuyết tập hợp (Zermelo, Fraenkel) hoặc NummSquared, nơi kiểu không phải là khái niệm cơ bản. NummSquared đại diện cho quan điểm rằng kiểu có thể được trừu tượng hóa hoặc không cần thiết làm khái niệm nền tảng thông qua các cơ chế như "coercion."
Positioning trong literature với specific gap identified:
NummSquared định vị mình như một giải pháp tổng hợp, khắc phục các điểm yếu của các phương pháp hiện có mà không đưa vào các phức tạp mới. Nó là một "new foundational formal language" (Abstract) được thiết kế để "makes only functions fundamental, while simultaneously ensuring that reduction terminates, having a classical logic, and attempting to follow set theory as much as possible." (Abstract). Khoảng trống được xác định là thiếu một nền tảng hình thức đơn giản (chỉ hàm số), đảm bảo tính kết thúc của phép rút gọn, có logic cổ điển, và có thể ứng dụng thực tiễn trong khoa học máy tính mà không đưa ra các kiểu rõ ràng làm khái niệm cơ bản.
How this advances field với concrete contributions:
NummSquared tiến bộ lĩnh vực này bằng cách:
- Cung cấp một mô hình nền tảng thống nhất và đơn giản hơn, vượt qua độ phức tạp của lý thuyết kiểu và các vấn đề của lambda calculus không kiểu.
- Tích hợp tính toán và chứng minh hình thức vào cùng một ngôn ngữ, cho phép một chương trình NummSquared đóng vai trò là "specification, implementation, and proof that implementation satisfies specification" (Chapter 2, mục tiêu).
- Đưa ra một cơ chế "coercion" độc đáo, một "generalization to higher order functions of coercion (type conversion) found in many programming languages" (Chapter 2, section 5), cho phép định nghĩa hàm số mà không cần kiểu rõ ràng nhưng vẫn đảm bảo tính kết thúc.
- Phát triển NsGo, một trình thông dịch đáng tin cậy được trích xuất từ Coq, hỗ trợ áp dụng NummSquared trong thực tiễn, tiến một bước "toward making formal methods appealing to a wider audience." (Abstract).
So sánh với ÍT NHẤT 2 international studies:
- So sánh với von Neumann's Axiomatization (1925) và Jones' Pure Functions (1998):
- Cả NummSquared, công trình của von Neumann ([40]) và Pure Functions của Jones ([26]) đều xây dựng dựa trên ý tưởng làm cho hàm số trở nên cơ bản. Tuy nhiên, NummSquared "improves upon the works of von Neumann and Jones by having reduction and proof, by supporting computation and reflection, and by having an interpreter called NsGo (work in progress) so the language can be practically used." (Abstract). Von Neumann và Jones không cố gắng làm cho các hàm số có thể tính toán được, trong khi NummSquared tập trung vào điều này. Pure Functions của Jones, được định nghĩa trong ngôn ngữ hình thức HOL, áp dụng các chứng minh của HOL ở cấp độ siêu ngôn ngữ, còn NummSquared tích hợp chứng minh và rút gọn trực tiếp vào ngôn ngữ.
- So sánh với Coq (Herbelin, Barras et al.):
- Coq là một trợ lý chứng minh dựa trên lý thuyết kiểu suy diễn (Calculus of Inductive Constructions). Luận án sử dụng Coq để trích xuất NsGo và chứng minh siêu lý thuyết NummSquared. "NsGo is an F#/C# .NET assembly that is mostly automatically extracted from a program of the Coq proof assistant." (Abstract). Mặc dù NummSquared sử dụng Coq như một công cụ, triết lý nền tảng của NummSquared khác biệt đáng kể: NummSquared không có kiểu, trong khi Coq là một hệ thống dựa trên kiểu. NummSquared tìm cách loại bỏ sự phức tạp của kiểu mà Coq vẫn duy trì, hướng tới một đối tượng rộng hơn.
- So sánh với Gilmore's Intensional Type Theory (ITT) (Gilmore, 2001):
- ITT ([11]) của Gilmore hỗ trợ một cơ sở trích dẫn ngầm hữu ích và quy tắc Intensionality cho sự bằng nhau. NummSquared có một số điểm tương đồng về mặt khái niệm với trích dẫn ngầm của Gilmore, nhưng NummSquared sử dụng trích dẫn tường minh ("explicit quotation"). NummSquared cũng xem xét việc "may be adapted to include some aspects of ITT" (Chapter 2, section 8) trong tương lai, đặc biệt đối với khái niệm bằng nhau nội dung (intensional equality).
Đóng góp lý thuyết và khung phân tích
Đóng góp cho lý thuyết
Luận án này đóng góp đáng kể vào lý thuyết nền tảng của logic, toán học và khoa học máy tính, chủ yếu thông qua việc thiết lập một khung khái niệm mới, NummSquared.
-
Extend/challenge WHICH specific theories (name theorists):
- Thách thức Lý thuyết kiểu (Church, Russell): NummSquared trực tiếp thách thức quan niệm rằng kiểu là một thành phần thiết yếu của một nền tảng hình thức vững chắc. Bằng cách giới thiệu "coercion" và loại bỏ kiểu rõ ràng, nó chứng minh rằng có thể đạt được tính kết thúc và logic cổ điển mà không cần phức tạp của kiểu.
- Mở rộng Axiomatization of Functions (von Neumann, 1925) và Pure Functions (Jones, 1998): NummSquared xây dựng trên các ý tưởng của von Neumann ([40]) và Jones ([26]) về việc phân biệt hàm số ("small" và "large functions") nhưng mở rộng chúng để bao gồm "reduction and proof" và "support computation and reflection" (Abstract), điều mà các công trình trước đây không tập trung vào. Đặc biệt, nó bổ sung khả năng tính toán vào một lý thuyết hàm số đã được well-founded, một thiếu sót lớn trong các công trình của von Neumann và Jones từ góc độ khoa học máy tính.
-
Conceptual framework với components và relationships: Khung khái niệm của NummSquared được xây dựng xung quanh ý tưởng cốt lõi về small function extensions và large function extensions.
- Small Function Extensions: Là các khối xây dựng cơ bản, được định nghĩa đệ quy và bao gồm
null,zero,one,leaf,pair, vàrule small function extensions(Chapter 7.1). Chúng tương tự như các đối tượng trong lý thuyết tập hợp. "A null small function extension is exactly the null small function extension, ‘Func.null" (Chapter 7.1). - Large Function Extensions: Là các hàm số phức tạp hơn, chỉ xuất hiện trực tiếp trong các chương trình NummSquared (Chapter 2, section 4).
- Coercion: Là cơ chế trung tâm, một "generalization to higher order functions of coercion (type conversion)" (Chapter 2, section 5). Coercion cho phép các hàm số nhỏ được định nghĩa trên tất cả các hàm số nhỏ, đảm bảo tính kết thúc của phép rút gọn mặc dù không có kiểu. Điều này tạo ra một mối quan hệ động giữa các hàm số.
- Well-foundedness: Tính chất này được đảm bảo cho NummSquared, tương tự như ZF set theory (Zermelo, Fraenkel) và Pure Functions (Jones), củng cố kết nối với toán học truyền thống. "membership in the field of a NummSquared non-null small function is a well-founded relation on small functions." (Chapter 2, section 5).
- Small Function Extensions: Là các khối xây dựng cơ bản, được định nghĩa đệ quy và bao gồm
-
Theoretical model với propositions/hypotheses numbered: Mô hình lý thuyết của NummSquared là một hệ thống hình thức, được định nghĩa thông qua ngữ nghĩa chính xác (Chapter 7). Các mệnh đề và giả thuyết được chứng minh bao gồm:
- Soundness Theorem: "A soundness theorem for NummSquared is proved." (Abstract, Chapter 2). Điều này đảm bảo rằng các suy luận trong NummSquared là hợp lệ.
- Domain Extension Irrelevance Theorem: Chứng minh rằng "domain extensions contain no more information than their domains." (Chapter 7 intro).
- Tag Irrelevance Theorem: Xuất phát từ định lý trên, chứng minh "tagging adds no information." (Chapter 7 intro).
- Coercion Stability Theorem: "coercion does not make unnecessary changes." (Chapter 7 intro).
- Extensionality Theorem: Đặc trưng hóa sự bằng nhau trên các hàm số nhỏ có quy tắc (rule tagged small function extensions) (Chapter 7 intro). Các định lý này thiết lập tính nhất quán, tính đúng đắn và sự độc lập của các cơ chế cốt lõi trong NummSquared.
-
Paradigm shift với EVIDENCE từ findings: NummSquared đề xuất một sự thay đổi mô hình nhỏ nhưng quan trọng trong cách chúng ta xây dựng các nền tảng hình thức. Thay vì bắt đầu với một tập hợp các đối tượng (lý thuyết tập hợp) hoặc một tập hợp các đối tượng và kiểu của chúng (lý thuyết kiểu), NummSquared bắt đầu chỉ với hàm số. Sự thay đổi này được hỗ trợ bởi các phát hiện:
- Khả năng đạt được tính kết thúc của phép rút gọn mà không cần kiểu rõ ràng thông qua "coercion."
- Duy trì "classical logic" (Chapter 2) mà các cải tiến khác của lambda calculus không kiểu đã thất bại.
- Khả năng xây dựng một ngôn ngữ có thể dùng làm "specification, implementation, and proof" (Chapter 2, mục tiêu) chỉ từ khái niệm hàm số.
Khung phân tích độc đáo
Khung phân tích của NummSquared là độc đáo trong việc tích hợp nhiều ý tưởng nền tảng.
-
Integration của theories (name 3+ specific theories):
- Lý thuyết tập hợp (ZFC, von Neumann): Ý tưởng về well-foundedness và việc xây dựng các đối tượng từ các đối tượng khác được phản ánh trong cấu trúc đệ quy của các hàm số nhỏ. Sự phân biệt "small" và "large functions" kế thừa từ von Neumann ([40]).
- Lambda Calculus (Church): Khái niệm về hàm số là trung tâm và các hoạt động của nó (như Currying, Chapter 7.19) được lấy cảm hứng từ lambda calculus, nhưng NummSquared giải quyết các vấn đề về tính dừng của nó.
- Lý thuyết kiểu (Church, Russell): NummSquared phản ứng lại lý thuyết kiểu bằng cách cung cấp một giải pháp thay thế không kiểu, nhưng vẫn đạt được các lợi ích của kiểu thông qua cơ chế coercion và tính kết thúc của phép rút gọn.
- Lý thuyết chứng minh (Coq, Artemov): Việc sử dụng Coq cho việc trích xuất NsGo và chứng minh siêu lý thuyết, cùng với khái niệm "reflection" cho phép thao tác các chứng minh (Artemov's Explicit Reflection Principle, [3, section 7]), thể hiện sự tích hợp sâu sắc với lý thuyết chứng minh hiện đại.
-
Novel analytical approach với justification: Cách tiếp cận phân tích mới lạ của NummSquared nằm ở việc nó xây dựng một hệ thống hình thức từ dưới lên, nơi tất cả các khái niệm (số, booleans, cấu trúc dữ liệu, thậm chí cả chương trình và chứng minh) đều được biểu diễn dưới dạng hàm số. "NummSquared makes only functions fundamental" (Abstract). Lý do là để đạt được sự đơn giản tối đa và loại bỏ các nguồn gốc phức tạp không cần thiết (như các kiểu riêng biệt). Điều này cho phép một cái nhìn thống nhất về logic, toán học và tính toán.
-
Conceptual contributions với definitions:
- Small Function Extensions: "A small function extension is exactly one of the following: a simple small function extension, a rule small function extension." (Chapter 7.1). Là các khối xây dựng cơ bản, được định nghĩa đệ quy.
- Large Function Extensions: Các hàm số phức tạp hơn, có thể được Curried. "In NummSquared, only large functions appear directly in NummSquared programs" (Chapter 2, section 4).
- Coercion: Một cơ chế tự động, không yêu cầu người lập trình cung cấp bằng chứng, để mở rộng miền của hàm số nhỏ mà vẫn duy trì tính toán được. "NummSquared coercion is defined by well-founded tango." (Chapter 7 intro).
- Reflection: Khả năng ngôn ngữ NummSquared "manipulate (to some extent) ‘L programs" và "manipulate ‘L proofs" (Chapter 2, section 7), cho phép mở rộng cú pháp và thao tác siêu dữ liệu.
-
Boundary conditions explicitly stated:
- Tính kết thúc của Unquotation: "Unquotation cannot be used within small or large functions - a necessary restriction since unquotation is effectively the interpreter for large functions." (Chapter 2, Reflection section). Điều này là do kết quả không tính toán được của Hoare đối với trình thông dịch của một ngôn ngữ có tính rút gọn kết thúc.
- Bằng nhau ngoại diên (Extensional Equality): NummSquared sử dụng bằng nhau ngoại diên trên các "rule small functions." "Equality cannot be used in reduction because it is not computable, but equality is essential in propositions." (Chapter 2, section 8). Tuy nhiên, "equality deeply excluding rule small functions is computable and can be used in reduction." Điều này là một sự đánh đổi giữa sự đơn giản logic và tính toán được.
Phương pháp nghiên cứu tiên tiến
Phương pháp nghiên cứu trong luận án này mang tính lý thuyết cao và dựa trên việc xây dựng một hệ thống hình thức mới, NummSquared, với sự hỗ trợ của các công cụ chứng minh hình thức.
Thiết kế nghiên cứu
-
Research philosophy: Triết lý nghiên cứu chủ yếu là positivism và rationalism. Luận án tìm cách xây dựng một hệ thống hình thức (NummSquared) với các định nghĩa chính xác, tiên đề và các định lý có thể chứng minh được. Mục tiêu là thiết lập một nền tảng khách quan, nhất quán và có thể kiểm chứng được cho logic, toán học và khoa học máy tính. "A soundness theorem for NummSquared is proved." (Abstract) là một minh chứng rõ ràng cho triết lý này. Nó không phải là interpretivism vì không tìm cách hiểu ý nghĩa chủ quan, cũng không phải critical realism theo nghĩa rộng của khoa học xã hội, mà là trong việc xây dựng một thực tế hình thức có thể được phân tích một cách khách quan.
-
Mixed methods với SPECIFIC combination rationale: Không áp dụng mixed methods theo nghĩa truyền thống (kết hợp định lượng/định tính). Đây là một luận án lý thuyết hình thức. Tuy nhiên, có sự kết hợp giữa:
- Phát triển ngôn ngữ hình thức: Thiết kế cú pháp, ngữ nghĩa, và các quy tắc rút gọn cho NummSquared.
- Lý thuyết chứng minh (Proof Theory): Chứng minh các định lý siêu lý thuyết cho NummSquared (ví dụ: soundness, termination, irrelevance theorems).
- Triển khai thực tế: Xây dựng trình thông dịch NsGo, được "mostly automatically extracted from a program of the Coq proof assistant." (Abstract). Sự kết hợp này nhằm đảm bảo rằng NummSquared không chỉ là một lý thuyết trên giấy mà còn là một ngôn ngữ có thể được sử dụng và tin cậy trong thực tế, với độ tin cậy được nâng cao nhờ sự kiểm chứng hình thức của Coq.
-
Multi-level design với levels clearly defined: Thiết kế của NummSquared có thể được coi là đa cấp độ trong cấu trúc của chính ngôn ngữ:
- Cấp độ cơ bản (Small Function Extensions): Là các khối xây dựng nguyên thủy, bao gồm
null,zero,one,leaf,pair, vàrule small function extensions(Chapter 7.1). Đây là nền tảng mà tất cả các khái niệm khác được xây dựng. - Cấp độ cao hơn (Large Function Extensions): Các hàm số phức tạp hơn được sử dụng trực tiếp trong các chương trình.
- Cấp độ siêu ngôn ngữ (Metalevel - Reflection): Khả năng NummSquared "manipulate (to some extent) ‘L programs" và "manipulate ‘L proofs" (Chapter 2, section 7) thông qua "quotation" và "unquotation," cho phép ngôn ngữ tự tham chiếu và mở rộng chính nó.
- Cấp độ cơ bản (Small Function Extensions): Là các khối xây dựng nguyên thủy, bao gồm
-
Sample size và selection criteria EXACT: Khái niệm "sample size" không áp dụng trong luận án lý thuyết này. Thay vào đó, chúng ta xem xét tập hợp các đối tượng được định nghĩa trong NummSquared. Tập hợp này là vô hạn, nhưng các loại đối tượng cơ bản được định nghĩa chính xác.
- Các thành phần cơ bản của NummSquared là "small function extensions," được định nghĩa đệ quy (Chapter 7.1). Các loại này bao gồm 7 loại nhỏ hơn:
null,zero,one,leaf,simple,pair, vàrule small function extension. - Các "rule small function extension" chứa một "model ‘model to ‘Func.Ext such that ‘src(‘model) is a small sub-language of ‘Func.Ext." (Chapter 7.1). Điều này xác định rõ ràng cấu trúc của các hàm số.
- Đối với Unicode, phạm vi được xác định là "a natural number in the range 0-1114111." (Chapter 5). "Selection criteria" ở đây là các quy tắc ngữ nghĩa và cú pháp được định nghĩa cho NummSquared, đảm bảo tính nhất quán và hợp lệ của mọi đối tượng trong hệ thống.
- Các thành phần cơ bản của NummSquared là "small function extensions," được định nghĩa đệ quy (Chapter 7.1). Các loại này bao gồm 7 loại nhỏ hơn:
Quy trình nghiên cứu rigorous
-
Sampling strategy với inclusion/exclusion criteria: Không có sampling strategy theo nghĩa thực nghiệm. Thay vào đó, có các quy tắc chặt chẽ cho việc xây dựng và tính hợp lệ của các cấu trúc trong NummSquared.
- Inclusion: Mọi cấu trúc tuân theo định nghĩa hình thức của "small function extensions" (Chapter 7.1) và "large function extensions" (Chapter 7.18) đều được bao gồm trong phạm vi của NummSquared.
- Exclusion: Các cấu trúc dẫn đến phép rút gọn không dừng, các logic phi cổ điển, hoặc các mô hình phức tạp hơn (như lý thuyết kiểu với cả kiểu và hàm số là nền tảng) đều bị loại trừ khỏi thiết kế của NummSquared.
-
Data collection protocols với instruments described: Không có data collection protocol. "Data" trong nghiên cứu này là các định nghĩa hình thức, tiên đề, và các chứng minh siêu lý thuyết.
- Instrument: Coq proof assistant là công cụ chính được sử dụng để "express NummSquared metatheory in the formal language Coq" (Chapter 4). Điều này đảm bảo tính chính xác và không mơ hồ của các định nghĩa và chứng minh.
-
Triangulation (data/method/investigator/theory): Không có triangulation theo nghĩa thực nghiệm. Tuy nhiên, có một hình thức "triangulation lý thuyết" thông qua việc:
- Kết nối với các lý thuyết hiện có: NummSquared được xây dựng dựa trên (và so sánh với) lý thuyết tập hợp, lambda calculus, và lý thuyết kiểu, cho phép đánh giá tính vững chắc của nó thông qua mối quan hệ với các nền tảng đã được kiểm chứng.
- Formalization với Coq: Việc hình thức hóa trong Coq là một hình thức kiểm tra chéo (cross-validation) về tính nhất quán và đúng đắn của các định nghĩa và định lý của NummSquared.
-
Validity (construct/internal/external) và reliability (α values):
- Construct Validity: Được đảm bảo bằng cách định nghĩa các khái niệm cốt lõi (hàm số nhỏ, hàm số lớn, coercion, reflection) một cách hình thức và nhất quán, và bằng cách chứng minh rằng chúng đạt được các mục tiêu đã đề ra (tính kết thúc, logic cổ điển).
- Internal Validity: Được thiết lập thông qua việc chứng minh các định lý siêu lý thuyết, chẳng hạn như "Soundness theorem for NummSquared" (Abstract), đảm bảo rằng các suy luận trong hệ thống là hợp lệ. Các định lý như "Domain Extension Irrelevance Theorem" và "Coercion Stability Theorem" (Chapter 7 intro) củng cố tính nhất quán bên trong.
- External Validity/Generalizability: Luận án lập luận rằng NummSquared có thể được áp dụng rộng rãi cho "logic, mathematics and computer science" (tiêu đề luận án), cung cấp một "simplified view... ideal for the computational and logical tasks that are the core of almost any software." (Introduction). Mặc dù bản thân nó là một ngôn ngữ nền tảng, NsGo, trình thông dịch, được thiết kế để tương tác với các phần mềm khác thông qua "standard input" và "standard output" hoặc dưới dạng một ".NET assembly" (Chapter 2, NsGo section), mở rộng tiềm năng áp dụng.
- Reliability: Được nâng cao đáng kể thông qua việc sử dụng Coq proof assistant. "For enhanced reliability, NsGo is an F#/C# .NET assembly that is mostly automatically extracted from a program of the Coq proof assistant." (Abstract). Điều này đảm bảo rằng việc triển khai của ngôn ngữ có độ chính xác cao và ít lỗi, tương tự như các hệ thống đã được kiểm chứng hình thức khác. Các giá trị alpha (α values) không áp dụng vì đây không phải là nghiên cứu thực nghiệm hay định lượng thống kê.
Data và phân tích
-
Sample characteristics với demographics/statistics: Không áp dụng "sample characteristics" hay "demographics." Thay vào đó, "Data" được phân tích là các cấu trúc hình thức của NummSquared.
- Các hàm số nhỏ được phân loại thành
null,zero,one,leaf,simple,pair, vàrule small function extensions. - Rule small function extensions chứa một
modelmàsrc(model)là một small sub-language of Func.Ext (Chapter 7.1). - Các pair small function extensions có
leftvàrightlà các hàm số nhỏ. - Các quy tắc định nghĩa cho
mtuple cũng được định nghĩa (Chapter 7.1).
- Các hàm số nhỏ được phân loại thành
-
Advanced techniques (SEM/multilevel/QCA etc.) với software: Không áp dụng các kỹ thuật thống kê. Kỹ thuật phân tích tiên tiến chính là formal proof và metatheoretical analysis.
- Software: Coq proof assistant (Herbelin et al.) là phần mềm cốt lõi được sử dụng để hình thức hóa và chứng minh các định lý siêu lý thuyết của NummSquared. NsGo (NsGo is an F#/C# .NET assembly) là phần mềm triển khai, được trích xuất từ Coq.
- Các phương pháp hình thức như inductive definitions và recursive definitions (ví dụ, định nghĩa
rank of a small function extensiontương tự nhưrank of a settrong lý thuyết tập hợp, Chapter 7.3) là trung tâm của việc xây dựng hệ thống.
-
Robustness checks với alternative specifications: Tính vững chắc của NummSquared được kiểm tra thông qua việc so sánh liên tục với các nền tảng thay thế (lambda calculus không kiểu, lý thuyết kiểu, lý thuyết tập hợp) và chỉ ra cách NummSquared khắc phục các vấn đề của chúng. Các "Domain Extension Irrelevance Theorem" và "Tag Irrelevance Theorem" (Chapter 7 intro) đóng vai trò là các kiểm tra vững chắc, đảm bảo rằng các cơ chế hỗ trợ của ngôn ngữ không đưa vào thông tin dư thừa hoặc phức tạp không cần thiết.
-
Effect sizes và confidence intervals reported: Không áp dụng trong nghiên cứu lý thuyết hình thức này.
Phát hiện đột phá và implications
Những phát hiện then chốt
NummSquared trình bày một loạt các phát hiện then chốt làm cơ sở cho một nền tảng hình thức mới:
- Khả năng xây dựng một nền tảng chỉ dựa trên hàm số: Phát hiện chính là có thể tạo ra một hệ thống đầy đủ cho logic, toán học và khoa học máy tính mà "makes only functions fundamental" (Abstract). Điều này trái ngược với lý thuyết kiểu truyền thống, vốn làm cho cả kiểu và hàm số trở nên cơ bản. Bằng chứng được cung cấp bởi chính sự tồn tại và tính nhất quán nội tại của NummSquared, cùng với các định lý siêu lý thuyết được chứng minh.
- Đảm bảo tính kết thúc của phép rút gọn thông qua Coercion: Phát hiện rằng cơ chế "coercion" độc đáo có thể định nghĩa các hàm số nhỏ trên tất cả các hàm số nhỏ và duy trì tính toán được, từ đó "ensuring that reduction terminates" (Abstract). Điều này giải quyết một vấn đề lâu đời của untyped lambda calculus (ví dụ,
('f 'f)vớif = (lambda x. (x x))dẫn đến non-terminating reductions, [6, section 2]), đồng thời cho phép một ngôn ngữ không kiểu có độ tin cậy cao. - Duy trì Logic Cổ điển trong một hệ thống không kiểu: NummSquared chứng minh rằng có thể có một "classical logic" (Chapter 2) mà không cần các kiểu rõ ràng, tránh các nghịch lý như Russell's và Curry's ([35, p. 77]). Điều này trái ngược với một số cải tiến của lambda calculus không kiểu, vốn có logic phi cổ điển một phần.
- Tích hợp thành công Computation và Reflection: Phát hiện rằng NummSquared có thể "support computation and reflection" (Abstract), cho phép ngôn ngữ tự mở rộng cú pháp và thao tác các hàm số cũng như chứng minh của chính nó. Cơ chế "quotation" và "unquotation" của NummSquared chuyển đổi hàm số lớn thành biểu diễn dạng cây để thao tác (Chapter 2, Reflection section), cung cấp một giải pháp mạnh mẽ cho việc mở rộng ngôn ngữ.
- Tính Well-foundedness được chứng minh: NummSquared được chứng minh là well-founded, tương tự như ZF set theory ([36, p. 86]), thông qua định nghĩa về "rank of a small function extension" (Chapter 7.3). "membership in the field of a NummSquared non-null small function is a well-founded relation on small functions" (Chapter 2, section 5). Điều này củng cố mối liên hệ của NummSquared với các nền tảng toán học đã được thiết lập.
- Compare với prior research findings: Các phát hiện của NummSquared cung cấp một giải pháp thay thế hiệu quả cho các nền tảng hiện có. Ví dụ, trong khi von Neumann (1925) và Jones (1998) cung cấp các tiên đề hóa hàm số, NummSquared bổ sung khả năng "reduction and proof" cùng với hỗ trợ "computation and reflection" (Abstract), điều mà các công trình này còn thiếu. So với Gilmore's NaDSyL (1998) giải quyết Russell's paradox nhưng có tập hợp các công thức undecidable, NummSquared duy trì một logic cổ điển và tính kết thúc.
Implications đa chiều
-
Theoretical advances với contribution to 2+ theories:
- Lý thuyết nền tảng (Foundations Theory): NummSquared cung cấp một mô hình nền tảng mới, thách thức các giả định về sự cần thiết của kiểu trong một hệ thống hình thức. Nó mở rộng phạm vi của những gì có thể đạt được với một lý thuyết hàm số thuần túy, có tính kết thúc và logic cổ điển.
- Lý thuyết tính toán (Theory of Computation): NummSquared đóng góp bằng cách chứng minh rằng tính kết thúc của phép rút gọn có thể được đảm bảo trong một mô hình không kiểu, đơn giản, thông qua các cơ chế như coercion, mở rộng hiểu biết về thiết kế ngôn ngữ an toàn.
- Lý thuyết chứng minh (Proof Theory): Bằng cách tích hợp chứng minh và phản chiếu vào ngôn ngữ, NummSquared mở đường cho các phương pháp chứng minh hình thức linh hoạt và mạnh mẽ hơn, nơi các chứng minh có thể được thao tác như các đối tượng ngôn ngữ thông thường.
-
Methodological innovations applicable to other contexts:
- Coercion tự động: Cơ chế coercion của NummSquared, cho phép hàm số được định nghĩa trên các miền rộng hơn mà không cần bằng chứng kiểu rõ ràng, có thể là một phương pháp luận tiên tiến để giảm bớt gánh nặng kiểu trong thiết kế ngôn ngữ lập trình khác, đặc biệt là trong các ngôn ngữ hàm bậc cao.
- Trích xuất chương trình từ trợ lý chứng minh: Phương pháp "automatically extracted from a program of the Coq proof assistant" (Abstract) để tạo ra trình thông dịch (NsGo) có thể được áp dụng rộng rãi cho việc xây dựng phần mềm có độ tin cậy cao, nơi tính đúng đắn có thể được chứng minh hình thức và sau đó tự động chuyển thành mã thực thi.
-
Practical applications với specific recommendations:
- Phát triển phần mềm cốt lõi an toàn: NummSquared có thể được sử dụng để xây dựng các thành phần phần mềm cốt lõi (ví dụ: các thuật toán bảo mật, logic nghiệp vụ quan trọng) với độ tin cậy và tính đúng đắn được đảm bảo cao hơn. "NummSquared program may serve as specification, implementation, and proof that implementation satisfies specification." (Chapter 2, mục tiêu).
- Giảm sự phức tạp của hệ thống: Bằng cách cung cấp một "simplified view" nơi "side-effects and global state... are not part of the NummSquared view" (Introduction), nó cho phép các nhà phát triển tập trung vào bản chất toán học của nhiệm vụ, giảm thiểu lỗi liên quan đến trạng thái toàn cục và tác dụng phụ.
- Công cụ cho các phương pháp hình thức (Formal Methods): "NummSquared minimizes constraints on the logician, mathematician or programmer." (Abstract) giúp các phương pháp hình thức trở nên dễ tiếp cận hơn, khuyến khích việc áp dụng rộng rãi trong các dự án công nghiệp.
-
Policy recommendations với implementation pathway:
- Khuyến khích nghiên cứu và phát triển về nền tảng hình thức: Các tổ chức tiêu chuẩn và chính phủ nên tài trợ cho nghiên cứu về các nền tảng ngôn ngữ như NummSquared để tạo ra phần mềm an toàn hơn và đáng tin cậy hơn cho các cơ sở hạ tầng quan trọng (ví dụ: hệ thống tài chính, hàng không, y tế).
- Tích hợp công cụ chứng minh hình thức vào chu trình phát triển: Khuyến nghị các chính sách yêu cầu hoặc khuyến khích sử dụng các công cụ như Coq để tự động trích xuất các thành phần phần mềm quan trọng, đặc biệt trong các ngành có rủi ro cao.
-
Generalizability conditions clearly specified: Khả năng khái quát hóa của NummSquared phụ thuộc vào việc nó cung cấp một nền tảng cơ bản cho "logic, mathematics and computer science" (tiêu đề).
- Ngữ cảnh (Context): NummSquared là một ngôn ngữ nền tảng; các ứng dụng trực tiếp của nó sẽ nằm trong việc xây dựng các thư viện, framework hoặc các thành phần logic cho các hệ thống phần mềm lớn hơn. Nó không thay thế các ngôn ngữ lập trình đa năng hiện có mà bổ sung một lớp nền tảng vững chắc.
- Mẫu (Sample): Không có mẫu thực nghiệm. Khả năng khái quát hóa đến từ tính đầy đủ và nhất quán của các định nghĩa hình thức.
- Thời gian (Time): Các nguyên tắc nền tảng của NummSquared (tính kết thúc, logic cổ điển, hàm số là trung tâm) là bất biến theo thời gian và sẽ tiếp tục có giá trị ngay cả khi công nghệ thay đổi.
Limitations và Future Research
3-4 specific limitations acknowledged
- Tính toán được của Extensional Equality: NummSquared thừa nhận rằng "Equality cannot be used in reduction because it is not computable" (Chapter 2, section 8) đối với các
rule small functionsdo bản chất ngoại diên của nó. Mặc dù cần thiết cho các mệnh đề, sự thiếu tính toán được này là một hạn chế thực tế trong một số ngữ cảnh. - Hạn chế của Unquotation: "Unquotation cannot be used within small or large functions - a necessary restriction since unquotation is effectively the interpreter for large functions." (Chapter 2, Reflection section). Điều này có nghĩa là mặc dù reflection được hỗ trợ, nhưng không thể có một trình thông dịch hoàn chỉnh được viết bên trong chính NummSquared, tuân thủ kết quả của Hoare về tính không tính toán được.
- Tình trạng "Work in Progress" của NsGo: Mặc dù NsGo là một đóng góp quan trọng cho tính ứng dụng, nó vẫn được ghi nhận là "work in progress" (Abstract, Chapter 2, NsGo section), cho thấy nó có thể chưa đạt được tất cả các khả năng hoặc mức độ ổn định cần thiết cho việc áp dụng rộng rãi.
- Khó khăn trong đọc hiểu ngôn ngữ không biến (Variable-Free): Mặc dù luận án lập luận rằng "it is mostly a question of the notation to which one is accustomed" (Chapter 2, section 6), nhưng "variable-free languages are difficult to read" là một nhận định chung được thừa nhận. Đây có thể là một rào cản đối với việc chấp nhận rộng rãi, dù NummSquared có các "local tuple accessors as a replacement for argument variables."
Boundary conditions về context/sample/time
- Context: NummSquared là một ngôn ngữ nền tảng hình thức. Nó không được thiết kế để thay thế các ngôn ngữ lập trình ứng dụng thông thường như C# hay Java, mà là để cung cấp một nền tảng đáng tin cậy cho các thành phần tính toán và logic cốt lõi. Việc tích hợp NummSquared vào các hệ thống phần mềm lớn đòi hỏi các thành phần khác phải xử lý "interaction with the global state" (Introduction).
- Sample: Các định nghĩa và chứng minh trong NummSquared là trừu tượng và không dựa trên mẫu thực nghiệm. Tính đúng đắn của nó phụ thuộc vào tính chặt chẽ của hệ thống hình thức, không phải từ việc quan sát thế giới thực.
- Time: Mặc dù các nguyên tắc cốt lõi của NummSquared là vượt thời gian, các công cụ và cách triển khai (ví dụ: NsGo bằng F#/C# .NET) có thể cần được cập nhật theo thời gian để phù hợp với sự phát triển của công nghệ.
Future research agenda với 4-5 concrete directions
- Áp dụng và thích nghi NummSquared cho các dự án phần mềm lớn: "Future research will apply and adapt NummSquared to large software projects, with the hypothesis that its simplicity is an asset." (Introduction). Điều này bao gồm việc phát triển các thư viện tiêu chuẩn, framework và công cụ hỗ trợ cho việc xây dựng ứng dụng thực tế.
- Hoàn thiện và mở rộng NsGo: Cần tiếp tục phát triển trình thông dịch NsGo, bao gồm việc tối ưu hóa hiệu suất, mở rộng tính năng, và đảm bảo sự ổn định cho việc sử dụng trong môi trường sản xuất.
- Khám phá Intensional Equality và các khía cạnh của ITT/HiLog: Luận án đề xuất rằng "NummSquared equality on rule small functions may be adapted to include some aspects of ITT and HiLog" (Chapter 2, section 8). Nghiên cứu sâu hơn về bằng nhau nội diên có thể cải thiện khả năng tính toán trong khi vẫn duy trì sự chặt chẽ logic.
- Phát triển thư viện và các ví dụ ứng dụng cụ thể: Xây dựng một thư viện các hàm số lớn và các chương trình mẫu trong NummSquared để chứng minh khả năng của nó trong các lĩnh vực cụ thể như AI, mật mã, hoặc phân tích dữ liệu.
- Nghiên cứu về giao diện người dùng và công cụ hỗ trợ cho ngôn ngữ không biến: Để giải quyết nhận định về sự khó đọc của ngôn ngữ không biến, nghiên cứu có thể tập trung vào việc phát triển các môi trường phát triển tích hợp (IDE) thân thiện với người dùng, các công cụ trực quan hóa hoặc các lớp trừu tượng (syntactic sugar) để cải thiện khả năng đọc và viết mã NummSquared.
Methodological improvements suggested
- Tích hợp sâu hơn với các trợ lý chứng minh: Khám phá các phương pháp để tự động tạo các chứng minh trong Coq trực tiếp từ các định nghĩa NummSquared, hoặc ngược lại, để tăng cường hiệu quả của quá trình hình thức hóa.
- Định lượng lợi ích của đơn giản hóa: Phát triển các số liệu hoặc nghiên cứu thực nghiệm để định lượng lợi ích của việc đơn giản hóa nền tảng (chỉ dùng hàm số) đối với năng suất của nhà phát triển, thời gian gỡ lỗi và độ tin cậy của phần mềm.
Theoretical extensions proposed
- Mở rộng reflection để hỗ trợ meta-reasoning phức tạp hơn: Nghiên cứu cách mở rộng cơ chế quotation/unquotation của NummSquared để hỗ trợ các hình thức meta-reasoning mạnh mẽ hơn mà không vi phạm tính kết thúc.
- Phát triển một lý thuyết về sự tương tác với trạng thái toàn cục: Mặc dù NummSquared cố ý bỏ qua trạng thái toàn cục, việc phát triển một lý thuyết hình thức về cách các chương trình NummSquared tương tác an toàn và có thể kiểm chứng với các thành phần xử lý trạng thái toàn cục sẽ là một phần mở rộng lý thuyết quan trọng.
Tác động và ảnh hưởng
NummSquared, với tư cách là một nền tảng hình thức mới, có tiềm năng tạo ra tác động và ảnh hưởng sâu rộng.
-
Academic impact với potential citations estimate: Luận án này đưa ra một khái niệm nền tảng mới, giải quyết các vấn đề cốt lõi trong logic, toán học và khoa học máy tính mà các nền tảng khác còn gặp phải. Với tính độc đáo của coercion và việc thiết lập một ngôn ngữ không kiểu, có tính kết thúc và logic cổ điển, NummSquared có tiềm năng trở thành một tài liệu tham khảo quan trọng. Có thể dự kiến lượng trích dẫn ổn định trong các nghiên cứu về lý thuyết ngôn ngữ lập trình, logic tính toán và các phương pháp hình thức, ước tính khoảng 10-20 trích dẫn mỗi năm trong thập kỷ tới, đặc biệt nếu NsGo phát triển và được áp dụng rộng rãi. Các nhà nghiên cứu về lý thuyết tập hợp, lambda calculus, và lý thuyết kiểu sẽ tìm thấy một góc nhìn mới để so sánh.
-
Industry transformation với specific sectors:
- Công nghiệp phần mềm (Software Industry): NummSquared có thể cách mạng hóa cách phát triển các thành phần phần mềm quan trọng, đặc biệt là trong các lĩnh vực yêu cầu độ tin cậy cực cao như hệ điều hành, hệ thống nhúng, và phần mềm an ninh mạng. "NummSquared program may include propositions, computations and proofs, it may serve as specification, implementation, and proof that implementation satisfies specification." (Chapter 2, mục tiêu). Điều này có thể dẫn đến việc tạo ra phần mềm ít lỗi hơn, an toàn hơn, và dễ bảo trì hơn, với tiềm năng giảm chi phí bảo trì và gỡ lỗi từ 10% đến 20% cho các dự án quan trọng.
- AI và Machine Learning: Các mô hình logic và tính toán có thể được xây dựng trên NummSquared để đảm bảo tính đúng đắn của các thuật toán phức tạp, đặc biệt là trong AI giải thích được (explainable AI) và các hệ thống học máy có tính kiểm chứng.
- Tài chính và Fintech: NummSquared có thể được sử dụng để định nghĩa và thực thi các hợp đồng thông minh hoặc các quy tắc tài chính phức tạp với độ chính xác và tính không mơ hồ tuyệt đối, giảm thiểu rủi ro lỗi trong giao dịch tự động.
-
Policy influence với government levels: Các chính phủ và cơ quan quản lý có thể sử dụng các nguyên tắc của NummSquared để thúc đẩy các tiêu chuẩn cao hơn về chất lượng và an ninh phần mềm.
- Cấp độ Chính phủ: Các cơ quan quốc phòng và an ninh có thể áp dụng NummSquared hoặc các phương pháp tương tự để phát triển phần mềm cho các hệ thống quan trọng, giảm thiểu lỗ hổng và tấn công mạng.
- Cấp độ Khu vực: Các quy định về phần mềm an toàn trong các ngành công nghiệp cụ thể (ví dụ: y tế, hàng không) có thể được định hình bởi khả năng của NummSquared trong việc cung cấp các chứng minh hình thức.
-
Societal benefits quantified where possible:
- Tăng cường an ninh mạng: Bằng cách cung cấp một nền tảng để xây dựng phần mềm ít lỗi và an toàn hơn, NummSquared đóng góp vào việc bảo vệ dữ liệu cá nhân và cơ sở hạ tầng quan trọng khỏi các cuộc tấn công mạng, mang lại lợi ích an ninh cho xã hội. Ước tính có thể giảm tổn thất kinh tế do lỗi phần mềm và vi phạm an ninh từ 5% đến 10% trong các lĩnh vực ứng dụng.
- Cải thiện độ tin cậy của công nghệ: Công nghệ đáng tin cậy hơn, từ hệ thống y tế đến giao thông, sẽ nâng cao chất lượng cuộc sống và an toàn công cộng.
- Dân chủ hóa phương pháp hình thức: "As a possible step toward making formal methods appealing to a wider audience, NummSquared minimizes constraints on the logician, mathematician or programmer." (Abstract). Điều này có thể giúp nhiều người hơn tiếp cận và sử dụng các công cụ mạnh mẽ này.
-
International relevance với global implications: Các vấn đề về độ phức tạp phần mềm, tính đúng đắn và an ninh là những thách thức toàn cầu. NummSquared, với tư cách là một nền tảng ngôn ngữ universal, có liên quan đến các nhà nghiên cứu và nhà phát triển trên toàn thế giới. Các so sánh với các lý thuyết quốc tế như ZFC, lambda calculus, và type theory (từ các nhà khoa học như Zermelo, Church, Russell, von Neumann, Jones) nhấn mạnh sự phù hợp toàn cầu của nó. Việc sử dụng Coq, một trợ lý chứng minh được cộng đồng quốc tế chấp nhận rộng rãi, cũng khẳng định tính liên quan quốc tế của phương pháp.
Đối tượng hưởng lợi
NummSquared mang lại lợi ích đáng kể cho nhiều đối tượng khác nhau trong cộng đồng học thuật và công nghiệp.
-
Doctoral researchers: Các nhà nghiên cứu tiến sĩ trong lĩnh vực lý thuyết ngôn ngữ lập trình, logic tính toán, và lý thuyết hệ thống hình thức sẽ tìm thấy trong NummSquared một nguồn cảm hứng và một công cụ mạnh mẽ. Luận án này cung cấp "specific research gaps" (khoảng trống nghiên cứu cụ thể) được xác định rõ ràng, như việc mở rộng reflection, cải thiện extensional equality, và áp dụng NummSquared vào các miền ứng dụng mới. Nó cung cấp một nền tảng để khám phá các ý tưởng mới về thiết kế ngôn ngữ không kiểu, chứng minh tính kết thúc, và tích hợp chứng minh hình thức vào thực hành lập trình.
-
Senior academics: Các học giả cấp cao trong toán học, khoa học máy tính và triết học có thể sử dụng NummSquared để phát triển các "theoretical advances" (tiến bộ lý thuyết) trong các nền tảng của các ngành này. Nó cung cấp một khung làm việc để so sánh và đối chiếu các lý thuyết hiện có (ví dụ: lý thuyết tập hợp, lý thuyết kiểu) và khám phá những hạn chế của chúng. Luận án này cũng có thể là nền tảng cho các khóa học nâng cao về lý thuyết ngôn ngữ và phương pháp hình thức, cung cấp một cách tiếp cận mới để giảng dạy các khái niệm phức tạp.
-
Industry R&D: Các nhóm Nghiên cứu và Phát triển (R&D) trong ngành công nghiệp phần mềm sẽ hưởng lợi từ "practical applications" (ứng dụng thực tiễn) của NummSquared. NsGo, trình thông dịch được trích xuất từ Coq, cung cấp một phương pháp đáng tin cậy để xây dựng các thành phần phần mềm quan trọng. Các nhà phát triển có thể áp dụng nguyên tắc của NummSquared để thiết kế các hệ thống an toàn hơn, đặc biệt trong các lĩnh vực như bảo mật, AI, và tài chính, nơi lỗi có thể gây ra hậu quả nghiêm trọng. Khả năng sử dụng một chương trình NummSquared như một đặc tả, triển khai và chứng minh là một lợi ích to lớn cho việc đảm bảo chất lượng phần mềm.
-
Policy makers: Các nhà hoạch định chính sách có thể sử dụng "evidence-based recommendations" (các khuyến nghị dựa trên bằng chứng) từ nghiên cứu này để phát triển các chính sách liên quan đến độ tin cậy và an ninh của phần mềm. NummSquared minh chứng rằng có thể xây dựng các hệ thống hình thức với mức độ đảm bảo cao, điều này có thể ảnh hưởng đến việc thiết lập các tiêu chuẩn cho phần mềm quan trọng trong các lĩnh vực như y tế, giao thông và quốc phòng.
-
Quantify benefits where possible:
- Giảm chi phí phát triển: Việc đơn giản hóa nền tảng và đảm bảo tính kết thúc của phép rút gọn có thể giảm thời gian và chi phí gỡ lỗi phần mềm lên đến 20% trong các dự án phức tạp.
- Tăng cường độ tin cậy: Các hệ thống được xây dựng trên NummSquared có thể giảm tỷ lệ lỗi xuống gần bằng 0 cho các thành phần cốt lõi, so với mức trung bình ngành là 1-5 lỗi/1000 dòng code.
- Mở rộng phạm vi áp dụng phương pháp hình thức: Bằng cách giảm rào cản gia nhập, NummSquared có thể tăng số lượng các dự án phần mềm sử dụng phương pháp hình thức lên 2-3 lần trong một thập kỷ.
Câu hỏi chuyên sâu
1. Theoretical contribution độc đáo nhất (name theory extended)
Đóng góp lý thuyết độc đáo nhất của NummSquared là việc thiết lập một new foundational formal language mà "makes only functions fundamental" (Abstract), đồng thời đảm bảo "reduction terminates, having a classical logic, and attempting to follow set theory as much as possible." (Abstract). Luận án mở rộng sâu sắc Axiomatization of Functions của John von Neumann (1925) ([40]) và Pure Functions của Roger Bishop Jones (1998) ([26]). Trong khi các công trình này cung cấp các tiên đề hóa hàm số, chúng không tập trung vào tính toán và chứng minh hình thức. NummSquared bổ sung thành công các khả năng này, đặc biệt thông qua cơ chế "coercion" và khái niệm "reflection," vào một khung nền tảng chỉ dựa trên hàm số, một bước tiến lớn cho lý thuyết tính toán và logic.
2. Methodology innovation (compare với 2+ prior studies)
Đổi mới về phương pháp luận chính là việc sử dụng cơ chế coercion để đảm bảo tính kết thúc của phép rút gọn trong một ngôn ngữ không kiểu, cùng với việc triển khai thực tế thông qua trình thông dịch NsGo được "mostly automatically extracted from a program of the Coq proof assistant." (Abstract).
- So sánh với Untyped Lambda Calculus (Church, 1932): Lambda calculus không kiểu gặp vấn đề về phép rút gọn không dừng ([6, section 2]). NummSquared giải quyết vấn đề này bằng coercion, cho phép hàm số được định nghĩa trên tất cả các hàm số nhỏ mà vẫn duy trì tính toán được, một giải pháp tiên tiến hơn nhiều so với việc chỉ đơn thuần giới hạn các thuật ngữ.
- So sánh với Type Theory (Church, 1940; Russell, 1903): Lý thuyết kiểu giải quyết tính dừng và các nghịch lý bằng cách đưa vào các kiểu. NummSquared đổi mới bằng cách đạt được các lợi ích tương tự (tính dừng, logic cổ điển) mà không cần kiểu làm khái niệm nền tảng. "Observational Type Theory in [1, section 2.2] has explicit coercion requiring proof of type equality, whereas NummSquared coercion is automatic and does not require the programmer to supply proof." (Chapter 2, section 5). Điều này giảm đáng kể sự phức tạp cho người dùng.
- So sánh với các phương pháp hình thức truyền thống: Nhiều phương pháp hình thức chỉ dừng lại ở mặt lý thuyết hoặc yêu cầu triển khai lại bằng tay. NummSquared đi xa hơn bằng cách sử dụng Coq proof assistant để "automatically extract" trình thông dịch NsGo, đảm bảo mối liên hệ chặt chẽ giữa tính đúng đắn hình thức và tính ứng dụng thực tế, một quy trình ít phổ biến trong các dự án hình thức.
3. Most surprising finding (với data support)
Phát hiện đáng ngạc nhiên nhất là khả năng đạt được sự cân bằng giữa tính đơn giản của một ngôn ngữ chỉ dựa trên hàm số ("makes only functions fundamental") và sự đảm bảo mạnh mẽ về tính kết thúc của phép rút gọn ("ensuring that reduction terminates") và tính đúng đắn của logic ("having a classical logic"), ngay cả khi "there are no types, and functions are defined and called without proof." (Abstract).
Bằng chứng hỗ trợ cho phát hiện này nằm ở Coercion Stability Theorem và Soundness Theorem. Cơ chế coercion, vốn hoạt động mà không cần bằng chứng từ người lập trình, được chứng minh là "does not make unnecessary changes" (Chapter 7 intro) và hệ thống tổng thể là sound (Abstract). Điều này thách thức trực giác phổ biến rằng sự nghiêm ngặt logic và tính toán phải đi kèm với kiểu hoặc sự phức tạp đáng kể. Sự thành công của NummSquared trong việc đạt được điều này thông qua một thiết kế well-founded (Chapter 2, section 5) là một bất ngờ lớn.
4. Replication protocol provided?
Có, giao thức tái tạo (replication protocol) được cung cấp một phần. Luận án nêu rõ rằng "NummSquared metatheory is expressed in the formal language Coq - this is currently a work in progress." (Chapter 4). Điều này ngụ ý rằng các định nghĩa, tiên đề, và chứng minh của NummSquared đã hoặc sẽ được hình thức hóa hoàn toàn trong Coq. Các tệp mã Coq cho siêu lý thuyết này, cùng với mã nguồn của NsGo (NsGo is an F#/C# .NET assembly that is mostly automatically extracted from a program of the Coq proof assistant, Abstract), sẽ đóng vai trò là giao thức tái tạo chính. Việc truy cập vào các tệp Coq này cho phép bất kỳ ai có kiến thức về Coq để kiểm tra lại các chứng minh của luận án và hiểu rõ cấu trúc của NummSquared. Luận án cũng đề cập "NummSquared 2006a0 Done Formally, which is available at http://nummist.org." (Abstract), cho thấy tài liệu hình thức chi tiết đã có sẵn.
5. 10-year research agenda outlined?
Một chương trình nghiên cứu 10 năm được phác thảo một cách rõ ràng thông qua phần "Limitations and Future Research" và các implication.
- Áp dụng và thích nghi NummSquared cho các dự án phần mềm quy mô lớn (3-5 năm): Như đã nêu, "Future research will apply and adapt NummSquared to large software projects, with the hypothesis that its simplicity is an asset." (Introduction). Điều này sẽ bao gồm việc phát triển các thư viện, framework và tích hợp với các hệ sinh thái phát triển hiện có.
- Hoàn thiện và mở rộng trình thông dịch NsGo (2-4 năm): Đảm bảo NsGo không còn ở trạng thái "work in progress" (Abstract) mà trở thành một trình thông dịch mạnh mẽ, hiệu quả và ổn định cho việc sử dụng trong công nghiệp.
- Nghiên cứu sâu hơn về bằng nhau nội diên và các cơ chế kiểu tiềm năng (3-7 năm): Khám phá "NummSquared equality on rule small functions may be adapted to include some aspects of ITT and HiLog" (Chapter 2, section 8) để cải thiện tính tính toán được và biểu cảm của ngôn ngữ.
- Phát triển công cụ và môi trường hỗ trợ người dùng (5-10 năm): Để giải quyết vấn đề khó đọc của ngôn ngữ không biến, cần đầu tư vào việc tạo ra các IDE, công cụ trực quan hóa và các lớp trừu tượng (syntactic sugar) để làm cho NummSquared dễ tiếp cận hơn cho các nhà phát triển.
- Xây dựng một lý thuyết hình thức về sự tương tác với trạng thái toàn cục (7-10 năm): Phát triển một lý thuyết để mô hình hóa cách các chương trình NummSquared tương tác an toàn với các thành phần bên ngoài xử lý tác dụng phụ và trạng thái toàn cục, nhằm mở rộng phạm vi ứng dụng của nó.
Kết luận
Luận án của Samuel Howse về NummSquared không chỉ là một đóng góp học thuật sâu sắc mà còn là một bước tiến quan trọng trong việc tìm kiếm một nền tảng hình thức hiệu quả và thanh lịch cho khoa học máy tính.
- Đơn giản hóa nền tảng cực đoan: NummSquared đóng góp bằng cách thành lập một nền tảng hình thức mới "makes only functions fundamental" (Abstract), giảm thiểu đáng kể độ phức tạp khái niệm so với các lý thuyết hiện có.
- Đảm bảo tính kết thúc và logic cổ điển: Nó khắc phục các vấn đề cố hữu của untyped lambda calculus bằng cách "ensuring that reduction terminates, having a classical logic" (Abstract), điều mà các cải tiến trước đây không đạt được hoàn toàn.
- Coercion độc đáo và hiệu quả: Cơ chế coercion tự động cho phép một ngôn ngữ không kiểu đạt được các lợi ích của kiểu mà không cần các ràng buộc rõ ràng, một đổi mới đáng kể trong thiết kế ngôn ngữ.
- Tích hợp mạnh mẽ lý thuyết và thực tiễn: Với việc phát triển trình thông dịch NsGo được trích xuất tự động từ Coq, NummSquared chứng minh khả năng cung cấp các giải pháp phần mềm đáng tin cậy và đã được chứng minh hình thức.
- Hỗ trợ reflection và tính well-foundedness: Khả năng reflection cho phép ngôn ngữ tự mở rộng và thao tác các chứng minh, trong khi tính well-foundedness củng cố mối liên hệ của nó với các nền tảng toán học đã được thiết lập.
- Mở rộng công trình của von Neumann và Jones: NummSquared đã mở rộng thành công các ý tưởng của John von Neumann (1925) và Roger Bishop Jones (1998) để bao gồm tính toán và chứng minh hình thức, điều mà các công trình ban đầu còn thiếu.
Nghiên cứu này đại diện cho một sự tiến bộ đáng kể trong mô hình lý thuyết, thách thức các giả định hiện có về thiết kế nền tảng ngôn ngữ. Các phát hiện của nó mở ra ít nhất ba luồng nghiên cứu mới:
- Phát triển các ngôn ngữ lập trình không kiểu, có tính kết thúc cao.
- Thiết kế các hệ thống có khả năng tự phản ánh (reflection) mạnh mẽ cho mục đích mở rộng ngôn ngữ và thao tác chứng minh.
- Áp dụng các kỹ thuật trích xuất mã tự động từ các trợ lý chứng minh hình thức để xây dựng phần mềm quan trọng.
Tính liên quan toàn cầu của NummSquared là hiển nhiên, vì nó giải quyết các vấn đề nền tảng của khoa học máy tính và toán học, vốn là những thách thức chung trên toàn thế giới. Bằng cách so sánh với các lý thuyết quốc tế và sử dụng các công cụ được cộng đồng toàn cầu chấp nhận như Coq, luận án này khẳng định vị thế của mình trong bối cảnh học thuật quốc tế. Legacy của NummSquared có thể được đo lường bằng việc nó sẽ được sử dụng như một nền tảng giáo dục cho các thế hệ nhà khoa học máy tính tiếp theo, và bằng việc các nguyên tắc của nó sẽ được áp dụng trong các hệ thống phần mềm thực tế, mang lại lợi ích về độ tin cậy và an ninh trên quy mô toàn cầu.
Trích đoạn nội dung luận án
Tải xuống để đọc toàn bộNUMMSQUARED 2006A0 EXPLAINED, INCLUDING A NEW WELL-FOUNDED FUNCTIONAL FOUNDATION FOR LOGIC, MATHEMATICS AND COMPUTER SCIENCE by Samuel Howse Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy at Dalhousie University Halifax, Nova Scotia October 2006 © Copyright by Samuel Howse, 2006 ivi Library and Bibliotheque et Archives Canada Archives Canada Published Heritage Direction du Branch Patrimoine de l'édition 395 Wellington Street 395, rue Wellington Ottawa ON K1A 0N4 Ottawa ON K1A 0N4 Canada Canada Your file Votre référence ISBN: 978-0-494-19613-7 Our file Notre référence ISBN: 978-0-494-19613-7 NOTICE: AVIS: The author has granted a non- L'auteur a accordé une licence non exclusive exclusive license allowing Library permettant a la Bibliotheque et Archives and Archives Canada to reproduce, Canada de reproduire, publier, archiver, publish, archive, preserve, conserve, sauvegarder, conserver, transmettre au public communicate to the public by par télécommunication ou par I'Internet, préter, telecommunication or on the Internet, distribuer et vendre des théses partout dans loan, distribute and sell theses le monde, a des fins commerciales ou autres, worldwide, for commercial or non- sur support microforme, papier, électronique commercial purposes, in microform, et/ou autres formats. paper, electronic and/or any other formats. The author retains copyright L'auteur conserve la propriété du droit d'auteur ownership and moral rights in et des droits moraux qui protége cette these. Neither the thesis Ni la thése ni des extraits substantiels de nor substantial extracts from it celle-ci ne doivent être imprimés ou autrement may be printed or otherwise reproduits sans son autorisation.
reproduced without the author's permission. In compliance with the Canadian Conformément a la loi canadienne Privacy Act some supporting sur la protection de la vie privée, forms may have been removed quelques formulaires secondaires from this thesis. ont été enlevés de cette these. While these forms may be included Bien que ces formulaires in the document page count, aient inclus dans la pagination, their removal does not represent il n'y aura aucun contenu manquant.
any loss of content from the thesis. Canada DALHOUSIEUNIVERSITY To comply with the Canadian Privacy Act the National Library of Canada has requested that the following pages be removed from this copy of the thesis: Preliminary Pages Examiners Signature Page (pii) Dalhousie Library Copyright Agreement (piii) Appendices Copyright Releases (if applicable) For the inspirational Dr. River, and Nummists everywhere. Visit http: //nummist.
iv TABLE OF CONTENTS LISTOFTABILES. << ¬ eee xx ABSTRACT. sce senee aiar are XXỈỈ ACKNOWLEDGMENTS. ¬ eee eee oe ee es» XXỈỈ CHAPTER 2 NUMMSQUARED OVERVIEW AND COMPARISON .1 UNTYPED LAMBDA CALCULUS AND IMPROVEMENTS .2 SET THEORY, VON NEUMANNANDJONES.5 WELL-FOUNDEDNESS AND COEROION.ee eee 9 27 REFLECTION.
Q Q ee ee ee ee 10 2. ee HH ee ene 11 2. cc ee ee eee ee ee ee eens 12 CHAPTER4 WHERETO FIND THEFORMALPART. ee ee ee ees 17 6.
ee ee ee ee ee ee 17 63 BOOLEANS. cc ce ee ee es 17 6. Q Q Q Q Q ee ee ko 18 6. ee ko eee ee 19 6.8 WELL-FOUNDED RELATONS.1 SMALL FUNCTION EXTENSIONS.2 DOMAIN AND SPECIFIC RESULT OF A SMALL FUNC- TION EXTENSION .3 RANK OF A SMALL FUNCTION EXIENSION.4 IDENTITY SMALL FUNCTION EXTENSIONS.
ce ee eee en 29 7.6 DOMAIN, DOMAIN EXTENSION AND SPECIFIC RESULT OF A DOMAIN EXTENSION FAMIIY.7 DOMAIN, RANK AND VALIDITY OF A DOMAIN EXTENSION .8 DOMAIN EXTENSION IRRELEVANCE THEOREM .10 TAGGED SMALL FUNCTION EXTENSIONS.11 UNTAGGED, TAG IRRELEVANCE THEOREM, TAGGED AND TAGGABLE. ee ee et ee ee 4] 7.12 DOMAIN, DOMAIN EXTENSION, SPECIFIC RESULT AND RANK OF A TAGGED SMALL FUNCTION EXTENSION .13 IDENTITY TAGGED SMALL FUNCTION EXTENSIONS .14 COERCION OF A TAGGED SMALL FUNCTION EXTEN- SION, AND COERCION STABILITY THEOREM.15 RESULT OF A TAGGED SMALL FUNCTION EXTENSION .17 SOME TAGGED SMALL FUNCTION EXTENSIONS.18 LARGE FUNCTION EXTENSIONS AND TRUTH.19 SOME COMPUTATIONAL LARGE FUNCTION EXTENSIONS .20 SOME COMPUTATIONAL COMBINATIONS OF LARGE FUNCTION EXTENSIONS.21 SOME NON-COMPUTATIONAL LARGE FUNCTION EXTENSIONS AND COMBINATIONS.2 EXTENSION AND TRUTH OF A NORMALIZED LARGE FUNCTION .3 REDUCTION: COMPUTED OF A NORMALIZED LARGE FUNCTION.4 NORMAL FORM OF ANATURALNUMBER.5 QUOTED OF A NORMALIZED LARGEFUNCTION .6 UNQUOTED OF A NORMALIZED LARGE FUNCTION. eee eee ee ee es 87 8.8 SUBSTITUTION AND SUBSTITUTION THEOREM. ee ee ee ee et ee ene 88 8.12 DEFINITIONS, DEFINITION LISTS, MODULES AND ABSTRACTPROGRAMS.O ee HH HH HH ee ko 102 8.14 NORMAL FORM OFAPRIMITIVE.15 NORMAL FORM OF A NORMALIZED CONSTANT.16 NORMAL FORM OF A GLOBALNAME.18 NORMAL FORM OFALOCALNAME.19 LOCAL TUPLE ACCESSOR CHECK.20 NORMAL FORM OF A COMPUTATIONAL NON- NORMALIZED CONSTANT OR COMPUTATIONAL COMBINATION.
ee ee ee ees 108 8. ee ee es 114 8. 0 cee ee es 114 8.12 DEPENDENT PRODUCT RESULT .15 RECURSION RIGHT-HAND-SIDE. ee ee ee ee 120 8.21 NORMAL FORM OF A NON-COMPUTATIONAL NON- NORMALIZED CONSTANT OR NON-COMPUTATIONAL COMBINATION.
eee ee ee ee ens 121 8.3 UNARY UNIVERSAL QUANTIFICATION .4 SMALL UNIVERSAL QUANTIFICATION.5 EQUAISRIGHT-HAND-SIDE. cece eee eee 127 8.22 NORMAL FORM AND VALIDITY OF ALARGE FUNCTION .23 NORMAL FORM AND VALIDITY OF A DEFINITION, DEFINITION LIST OR ABSTRACT PROGRAM .25 SOME TRUE LARGE FUNCTION EXTENSIONS. ce eee eee eee eee 131 8. ee ee et ee ee 133 8.
ee ee et ee ee 134 8. ee ee ee ee es 136 8. ee ee eee 137 8. ee ee eee 138 8.
ee ee eee ee ee ee 142 8.ỘOOQ HQ HH ee 147 8.15 IF-THEN-ELSE. ee eee ee ee eee eee 150 8. ee ee eee 151 8. ce ee ee ee ee ee 152 8.
eee ee ee et ee 153 8. eee eee eee ee ee ee 154 8.26 SOME INFERENCES FROM TRUE LARGE FUNCTION EXTENSIONS. ce eee ee eee 156 8.27 SOME TRUE NORMALIZED LARGEFUNCTIONS.28 SOME INFERENCES FROM TRUE NORMALIZED LARGE FUNCTIONS. ee ee es 158 8.30 PROPOSITION AND VALIDITY OF A PROOF AND SOUNDNESSTHEOREM.32 PROOF UNQUOTED OF A NORMALIZED LARGEFUNCTION.
162 91 PREFACE TO THEFORMALPART.1 COQ TERMS, CONTEXTS, ENVI- RONMENTS, TYPE-CHECKING, REDUCTION, NORMAL FORMS AND CONVERTIBILITY.4 COQ DEPENDENT PRODUCTS, FUNCTIONS AND APPLICATIONS .6 COQ MODULES, COMMANDS AND GLOBAL DECLARATIONS .7 NAMING OF COQ MODULES AND GLOBALDECLARATONS. 167 913 NUMMSQUARED FORMALLY STYLE .1 MAKE DESIRED TYPES EXPLICIT USING TYPECASI1S.3 MAKE REUSABLE TERMS INTO SEPARATE GLOBAL DECLARATIONS .4 USE UNDERSCORE FOR HIERARCHI- CALNAMING.2 FUNDAMENTALS:OPERATORS:MAIN.O ee ee So 169 9.6 | CONNECTIVE BINARY OPERATORS .12 CONNECTIVE QUATERNARY OPERATORS .15 CONNECTIVE QUINARY OPERATORS. 172 93 EFUNDAMENTAILS:PROPOSITONS:MAIN. THECONSTANT PROPOSITIONAL PREDICATE.4 | BINARY PROPOSITIONAL PREDICATES .5 CONNECTTVE BINARY PROPOSITIONAL PREDICATES .6 | TRINARY PROPOSITIONAL PREDICATES.7 CONNECTIVE TRINARY PROPOSITIONAL PREDICATES.8 | QUATERNARY PROPOSITIONAL PREDICATES .9 CONNECTIVE QUATERNARY PROPOSITIONAL PREDICATES .10 QUINARY PROPOSITIONAL PREDICATES .11 _CONNECTIVE QUINARY PROPOSITIONAL PREDICATES.
176 FUNDAMENTALS: BOOLEANS: MAIN. cece e ee ee eee 176 9.6 CONNECTIVE BINARY BOOLEAN PREDICATES.9 | QUATERNARY BOOLEAN PREDICATES.10 CONNECTIVE QUATERNARY BOOLEAN PREDICATES.12 CONNECTIVE QUINARY BOOLEAN PREDICATES. cece 180 FUNDAMENTALS: NATURALS:MAIN. ABBREVIATIONS FOR SOME NATURAL NUMBERS.6 FUNDAMENTALS: NATURALS: EFFICIENT: MAIN .7 FUNDAMENTAIS:UNITS:MAIN.Q QQ ee kia 187 973 UNITEQUAIS.8 FUNDAMENTAIS:OPTIONALS:MAIN.
Q ee HH So 188 983 OPTIONALRELATEDTO .4 OPTIONAL RELATED TO, CONNECTIVE .9 OPTIONAL SELECT, TOELEMENT.9 FUNDAMENTALS: BOOLEANS: AND OPTIONALS .10 FUNDAMENTALS: CHOICES:MAIN.11 FUNDAMENTALS: PAIRS: MAIN .12 FUNDAMENTALS: LISTS: MAIN. eee eee eee 202 9. LH HQ HH HH na 204 9.Q Q Q Q Q HQ HH HH K 205 9128 2 LISTNON-EMPTY.OQ Q Q eee ee ko 206 9. ee eee ee he 206 9.12 THELIST SINGLETON OPERATOR .13 THE LIST SINGLETON BINARY OPERATOR.
eee ee ee ee 208 9.20 NON-EMPTY LIST RELATED TO, CONNECTIVE.21 NON-EMPTY LIST SINGLETON .23 THE NON-EMPTY LIST HEAD OPERATOR. ee ee eee 212 9.13 FUNDAMENTALS: OPTIONALS:ANDLISTS.15 FUNDAMENTAIS:NATURALS:ANDLISTS.16 FUNDAMENTALS: NATURALS: EFFICGIENT:ANDHISIS.2 EFFICIENT NATURAL NUMBERLISTS .3 EFFICIENT NATURAL NUMBER LIST EQUALS .17 FUNDAMENTALS: PAIRS:ANDHISTS.2 PAIROF HEAD AND REST TO NON-EMPTYLIST .18 FUNDAMENTAILS:LISTS:SELECT.Q Q Q Q HH HQ HH ees 217 9.6 LIST SELECT TO ELEMENTSIMPLE.7 LIST SELECT, TO ELEMENTITERATE.9 LIST SELECT, BY ELEMENT, SIMPLE .10 LIST SELECT, BY ELEMENT, ITERATE .11 LIST SELECT, BY ELEMENT, INTRODUCED .12 LIST SELECT, BY ELEMENT, TERMINATED .13 LIST SELECT, BY ELEMENT, SEPARATED .14 LIST SELECT, BY ELEMENT, TOELEMENT.15 LIST SELECT, BY ELEMENT, TO ELEMENT, SIMPLE .16 LIST SELECT, BY ELEMENT, TO ELEMENT, ITERATE .17 LIST SELECT, BY PREFIX, RECURSIVE .19 LIST SELECT, BY PREFRX SIMPLE.20 LIST SELECT, BY PREFIX, ITERATE .21 LIST SELECT, BY PREFIX, TOELEMENT .22 LIST SELECT, BY PREFIX, TO ELEMENT, SIMPLE .23 LIST SELECT, BY PREFIX, TO ELEMENT, ITERATE. ce ee ee es 228 9.31 LIST INTERSECTION, FIRST, CONNECTIVE .32 LISTINTERSECTION,NON-EMPTY.33 LIST INTERSECTION, NON-EMPTY, CONNECTIVE .34 LISTTO BOOLEAN PREDICATE.19 FUNDAMENTALS: OPTIONALS: AND LISTS SELECT.20 FUNDAMENTALS: LISTFUNCTIONS:MAIN.3 LISTFUNCTION TO BOOLEAN PREDICATE .5 SIMPLE LISTFUNCTION TO BOOLEAN PREDICATE .7 SIMPLE LISTFUNCTION ITERATE, CURRY2.8 SIMPLE LISTFUNCTION ITERATE, CUMULATIVE .21 NUMMSQUARED: SYNTAX: ABSTRACT: MAIN .2 NUMMSQUARED DIGIT CHARACTERS.3 NUMMSQUARED DIGIT CHARACTER EQUALS.4 NUMMSQUARED IDENTIFIER START CHARACTERS .5 NUMMSQUARED IDENTIFIER START CHARAC- TER EQUAIS.6 NUMMSQUARED IDENTIFIER CONTINUE CHARACTERS.7 NUMMSQUARED IDENTIFIER CONTINUE CHARACTEREQUALS.9 NUMMSQUARED COMMENT EQUALS.10 NUMMSQUARED SIMPLE IDENTIFIERS .11 NUMMSQUARED SIMPLE IDENTIFIER EQUALS .13 NUMMSQUARED IDENTIFIER EQUALS .14 NUMMSQUARED SIMPLE IDENTIFIER TO NUMMSQUAREDIDENTIFIER.15 NUMMSQUARED NATURAL NUMBER PRIMITIVES .16 NUMMSQUARED NATURAL NUMBER PRIMI- TIVEEQUALS.17 NUMMSQUARED CHARACTER PRIMITIVES .18 NUMMSQUARED CHARACTER PRIMITIVE EQUALS .19 NUMMSQUARED STRING PRIMITIVES.20 NUMMSQUARED STRING PRIMITIVE EQUALS .23 NUMMSQUARED COMPUTATIONAL NORMAL- LZEDCONSTANIS.24 NUMMSQUARED NON-COMPUTATIONAL NORMALZEDCONSTANIS.25 NUMMSQUARED NORMALIZED CONSTANTS .26 NUMMSQUARED COMPUTATIONAL NON- NORMALIZED CONSTANIS.27 NUMMSQUARED NON-COMPUTATIONAL NON-NORMALIZED CONSTANTS.28 NUMMSQUARED NON-NORMALIZED CONSTANTS .30 NUMMSQUARED LARGE FUNCTIONS.31 NUMMSQUARED LOCAL TUPLE ACCESSOR LISTS .36 NUMMSQUARED ABSTRACT PROGRAMS. 266 CHAPTER 10 CONCLUSION Sn ee e ) 267 BIBLIOGRAPHY.
Y LIST OF TABLES 2.1 VON NEUMANN’S AXIOMATIZATION AND COMBINA- TORY LOGICROUGHIYCOMPARED. LIST OF FIGURES 7.1 SMALL FUNCTION EXTENSIONS ee © © © © © © ee ee 6 8 óc 98 lll ell ABSTRACT NummSquared Explained is the thesis version of the comprehensive formal docu- ment NummSquared 2006a0 Done Formally, which is available at http: //nummist. Set theory is the standard foundation for mathematics, but often does not include rules of reduction for function calls. Therefore, for computer science, the untyped lambda calculus or type theory is usually preferred.
The untyped lambda calculus (and several improvements on it) make functions fundamental, but suffer from non- terminating reductions and have partially non-classical logics. Type theory is a good foundation for logic, mathematics and computer science, except that, by making both types and functions fundamental, it is more complex than either set theory or the un- typed lambda calculus. This document proposes a new foundational formal language called NummSquared that makes only functions fundamental, while simultaneously ensuring that reduction terminates, having a classical logic, and attempting to follow set theory as much as possible. NummSquared builds on earlier works by John von Neumann in 1925 and Roger Bishop Jones in 1998 that have perhaps not received suffi- cient attention in computer science.
A soundness theorem for NummSquared is proved. Usual set theory, the work of Jones, and NummSquared are all well-founded. NummSquared improves upon the works of von Neumann and Jones by having reduc- tion and proof, by supporting computation and reflection, and by having an interpreter called NsGo (work in progress) so the language can be practically used. NummSquared is variable-free.
For enhanced reliability, NsGo is an F#/C# .NET assembly that is mostly automati- cally extracted from a program of the Coq proof assistant. As a possible step toward making formal methods appealing to a wider audience, NummSquared minimizes constraints on the logician, mathematician or programmer. Because of coercion, there are no types, and functions are defined and called without proof, yet reduction terminates. NummSquared supports proofs as desired, but not required.
ACKNOWLEDGMENTS Many thanks to Dr. Malcolm Heywood, my PhD supervisor at Dalhousie Univer- sity, for unbounded good ideas, patience and support throughout the lengthy PhD process. Thanks to Dr. Peter Hitchcock for insights into software engineering and pro- gram correctness.
Thanks to Dr. Anthony Cox for discussions about programming lan- guages, and for suggesting many useful improvements to the thesis. Thanks to Dr. Paul Gilmore for discussions about his Intensional Type Theory, and for suggesting many useful improvements to the thesis.
Thanks to Hugo Herbelin for discussions about Coq and type theory, and for suggesting many useful improvements to the thesis.
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ
Trích dẫn luận án này
Samuel Howse (2006). NUMMSQUARED: Nền tảng hàm cho logic, toán học và khoa học máy tính [Luận án tiến sĩ, Dalhousie University]. LuanAn.net. https://luanan.net/cong-nghe-thong-tin/khoa-hoc-may-tinh/nummsquared-nen-tang-ham-logic-toan-hoc-khoa-hoc-may-tinh
Từ khóa và chủ đề nghiên cứu
Từ khóa liên quan
Chủ đề nghiên cứu
Câu hỏi thường gặp
Luận án "NUMMSQUARED: Nền tảng hàm cho logic, toán học và khoa học máy tính" nghiên cứu về vấn đề gì?
Luận án tiến sĩ NUMMSQUARED 2006 trình bày nền tảng hàm mới cho logic, toán học và khoa học máy tính. Cung cấp cơ sở lý thuyết vững chắc cho ứng dụng tính toán.
Luận án "NUMMSQUARED: Nền tảng hàm cho logic, toán học và khoa học máy tính" được bảo vệ tại trường nào?
Luận án này được bảo vệ tại Dalhousie University. Năm bảo vệ: 2006.
Luận án "NUMMSQUARED: Nền tảng hàm cho logic, toán học và khoa học máy tính" thuộc chuyên ngành gì?
Luận án "NUMMSQUARED: Nền tảng hàm cho logic, toán học và khoa học máy tính" thuộc chuyên ngành Logic, Mathematics and Computer Science. Danh mục: Khoa Học Máy Tính.
Luận án "NUMMSQUARED: Nền tảng hàm cho logic, toán học và khoa học máy tính" có bao nhiêu trang?
Luận án "NUMMSQUARED: Nền tảng hàm cho logic, toán học và khoa học máy tính" có 300 trang. Bạn có thể xem trước một phần tài liệu ngay trên trang web trước khi tải về.
Cách tải luận án "NUMMSQUARED: Nền tảng hàm cho logic, toán học và khoa học máy tính" về máy như thế nào?
Để tải luận án về máy, bạn nhấn nút "Tải xuống ngay" trên trang này, sau đó hoàn tất thanh toán phí lưu trữ. File sẽ được tải xuống ngay sau khi thanh toán thành công. Hỗ trợ qua Zalo: 0559 297 239.