MathLabs

Lịch sử và Triết học toán học

Hình thức luận, trực giác luận, Platon luận

Ba triết lý đối lập về bản chất toán học: Platon luận cho rằng đối tượng toán học tồn tại độc lập với con người (quan điểm của Gödel); Hình thức luận của Hilbert quy toán học về thao tác ký hiệu nhất quán, chứng minh được bằng phương pháp hữu hạn; Trực giác luận của Brouwer bác bỏ luật bài trung không hạn chế P∨¬PP \vee \neg P và đòi hỏi chứng cứ tường minh. Chúng ta chứng minh câu đố kinh điển về tính vô tỉ của 22\sqrt{2}^{\sqrt{2}} theo cả hai cách phi cấu trúc và cấu trúc, và chỉ ra phép dịch Gödel–Kolmogorov nhúng logic cổ điển vào logic trực giác.

Trực giácCon số là loại vật gì?

Hãy tưởng tượng ba nhà toán học tranh luận xem con số 77 có "tồn tại" hay không. Người theo Platon luận nói: có, 77 tồn tại trong một cõi trừu tượng các đối tượng toán học, thực như số 33 đã tồn tại trước khi ai đó đếm tới nó — chúng ta khám phá định lý giống như nhà thiên văn khám phá hành tinh. Người theo Hình thức luận nói: toán học là một trò chơi ký hiệu và luật lệ, như cờ vua; "77" là chuỗi có nghĩa chỉ vì nó tuân theo tiên đề số học, và toán học thực chất nói về chuỗi ký hiệu nào suy ra được từ chuỗi nào, không phải về một cõi huyền bí. Người theo Trực giác luận nói: một đối tượng toán học chỉ tồn tại khi ta có thể xây dựng nó từng bước trong tâm trí; P∨¬PP \vee \neg P không tự động đúng, vì với một số mệnh đề PP ta có thể chẳng bao giờ có một cách xây dựng chứng minh PP lẫn một cách bác bỏ nó.

Đồ thị tương tác thể hiện Platon luận, Hình thức luận, Trực giác luận như các nút liên kết
Đồ thị khái niệm: Platon luận, Hình thức luận, Trực giác luận là ba nút bất đồng về tồn tại, chứng minh và chân lý — kéo thả để xem mỗi triết lý liên hệ ra sao với logic, tính toán và lý thuyết tập hợp.

Phổ thôngLuật bài trung

Định nghĩa: Logic cổ điển và logic trực giác

Trong logic cổ điển, P∨¬PP \vee \neg P là một tiên đề: với mọi mệnh đề PP, hoặc PP đúng hoặc ¬P\neg P đúng — không có lựa chọn thứ ba, và không cần chứng minh để biết cái nào đúng. Trong logic trực giác (Brouwer, hình thức hóa bởi Heyting), một chứng minh của P∨QP \vee Q phải chỉ ra hoặc một chứng minh của PP hoặc một chứng minh của QQ; vậy P∨¬PP \vee \neg P chỉ được chấp nhận khi ta thực sự quyết định được, với PP cụ thể, vế nào đúng. Đây không chỉ là "logic cổ điển trừ một tiên đề" về hình thức — nó thay đổi định lý nào chứng minh được, và quan trọng hơn, làm mọi chứng minh trở nên có ý nghĩa tính toán: chứng minh cấu trúc của ∃x.ϕ(x)\exists x. \phi(x) phải chứa thuật toán tạo ra chứng cứ xx.

P∨¬PP \vee \neg P

Chính công thức này, P∨¬PP \vee \neg P, được chấp nhận vô điều kiện trong logic cổ điển nhưng chỉ chấp nhận theo từng trường hợp trong logic trực giác. Điều thực sự chứng minh được theo trực giác, với mọi PP, là mệnh đề phủ định kép yếu hơn ¬¬(P∨¬P)\neg\neg(P \vee \neg P) — được chứng minh ở Định lý 2 dưới đây.

¬¬(P∨¬P)\neg\neg(P \vee \neg P)
So sánh ba trường phái
Câu hỏiPlaton luận (Gödel)Hình thức luận (Hilbert)Trực giác luận (Brouwer)
Con số có tồn tại không?Có, trong cõi trừu tượng, độc lập với tâm tríKhông liên quan — chỉ chuỗi ký hiệu và luật suy diễn có ý nghĩaChỉ khi ta có thể xây dựng chúng trong tâm trí
P∨¬PP \vee \neg P luôn đúng?Có — chân lý khách quan, độc lập chứng minhCó, như tiên đề hình thức trong hệ nhất quánKhông — chỉ khi xây dựng được chứng cứ hoặc phản chứng
Điều gì làm chứng minh hợp lệ?Theo dõi đúng chân lý toán học khách quanMột dẫn xuất hữu hạn, kiểm tra được máy móc từ tiên đềMột cấu trúc/thuật toán tường minh tạo ra đối tượng

Đại họcChương trình Hilbert và cú đánh của Gödel

Hilbert đề xuất bảo đảm toàn bộ toán học bằng cách (1) hình thức hóa nó thành một hệ TT gồm tiên đề và luật suy diễn máy móc, và (2) chứng minh, chỉ dùng phương pháp hữu hạn (không đối tượng vô hạn, không toàn thể vô hạn hoàn tất — lập luận mà cả Hình thức luận lẫn Trực giác luận đều chấp nhận được), rằng TT nhất quán: không bao giờ suy ra được cả ϕ\phi lẫn ¬ϕ\neg\phi, đặc biệt không bao giờ suy ra 0=10 = 1. Định lý bất toàn thứ hai của Gödel (1931) chỉ ra điều này bất khả thi với mọi TT nhất quán chứa số học: TT không thể chứng minh Con(T)\text{Con}(T) chỉ bằng phương pháp hình thức hóa được bên trong chính TT. Chương trình nhất quán hữu hạn cụ thể của Hilbert đã chết, nhưng lập trường nền tảng hình thức luận vẫn tồn tại — lý thuyết chứng minh (chứng minh nhất quán số học của Gentzen dùng quy nạp siêu hạn tới ε0\varepsilon_0, vượt ra ngoài chủ nghĩa hữu hạn nghiêm ngặt) và các trợ lý chứng minh hiện đại (Coq, Lean, Isabelle) là hậu duệ trực tiếp của nó.

Tồn tại các số vô tỉ a,ba, b sao cho ab∈Qa^b \in \mathbb{Q}.

Vì sao đúng?

Định lý này là minh họa sắc bén nhất trong lớp học cho chia rẽ Hình thức/Platon luận với Trực giác luận: chứng minh cổ điển (phi cấu trúc) thiết lập tồn tại bằng chia trường hợp trên một mệnh đề chưa quyết định, không bao giờ cho biết trường hợp nào là thật, còn chứng minh cấu trúc đưa ra giá trị tường minh.

Chứng minh

Chứng minh cổ điển (phi cấu trúc). Xét 22\sqrt{2}^{\sqrt{2}}. Theo luật bài trung, hoặc 22∈Q\sqrt{2}^{\sqrt{2}} \in \mathbb{Q} hoặc 22∉Q\sqrt{2}^{\sqrt{2}} \notin \mathbb{Q} — ta không cần biết cái nào đúng.

Trường hợp 1: nếu 22∈Q\sqrt{2}^{\sqrt{2}} \in \mathbb{Q}, lấy a=22,b=2a = \sqrt{2}^{\sqrt{2}}, b = \sqrt{2}: cả hai đều vô tỉ (2\sqrt{2} vô tỉ theo chứng minh phản chứng cổ điển về tính chẵn lẻ của p,qp,q trong p/q=2p/q=\sqrt 2), và ab=22a^b = \sqrt{2}^{\sqrt{2}} hữu tỉ theo giả thiết trường hợp này. Xong.

Trường hợp 2: nếu 22∉Q\sqrt{2}^{\sqrt{2}} \notin \mathbb{Q}, lấy a=22a = \sqrt{2}^{\sqrt{2}} (vô tỉ theo giả thiết trường hợp này) và b=2b = \sqrt{2} (vô tỉ). Khi đó ab=2a^b = 2: ab=(22)2=22=2a^b = (\sqrt{2}^{\sqrt{2}})^{\sqrt{2}} = \sqrt{2}^{2} = 2. Vì 2∈Q2 \in \mathbb{Q}, xong.

Dù trường hợp nào ta cũng đã chỉ ra a,ba,b vô tỉ với ab∈Qa^b \in \mathbb{Q} — nhưng chứng minh không bao giờ cho biết trường hợp nào đúng, tức 22\sqrt{2}^{\sqrt 2} hữu tỉ hay vô tỉ. Người Hình thức luận chấp nhận ngay (đây là dẫn xuất hợp lệ trong logic cổ điển bậc nhất); người Trực giác luận bác bỏ đây là chứng minh tồn tại thực sự vì nó không tạo ra một cặp (a,b)(a,b) tường minh duy nhất kèm chứng minh rằng chính cặp đó hoạt động.

Chứng minh cấu trúc (loại bỏ chia trường hợp). Lấy a=2a = \sqrt{2} và b=log⁡29b = \log_2 9. Cả hai đều vô tỉ: 2\sqrt 2 vô tỉ như trên; log⁡29\log_2 9 vô tỉ vì nếu log⁡29=p/q\log_2 9 = p/q tối giản với q>0q>0 thì 2p/q=92^{p/q}=9, nên 2p=9q2^p = 9^q, nhưng vế trái là lũy thừa của 22 còn vế phải là lũy thừa của 33 (với q≥1q \ge 1, 9q9^q chỉ có ước nguyên tố 33), buộc p=q=0p=q=0, mâu thuẫn với 9q=2p>19^q=2^p>1.

Bây giờ tính tường minh: ab=2log⁡29=212log⁡29=2log⁡23=3a^b = \sqrt{2}^{\log_2 9} = 2^{\frac{1}{2}\log_2 9} = 2^{\log_2 3} = 3, dùng 2=21/2\sqrt{2} = 2^{1/2}, nên a=2,b=log⁡29a = \sqrt{2}, b = \log_2 9 cho ab=(21/2)log⁡29=212log⁡29=2log⁡23=3∈Qa^b = (2^{1/2})^{\log_2 9} = 2^{\frac{1}{2}\log_2 9} = 2^{\log_2 3} = 3 \in \mathbb{Q}.

Lần này không chia trường hợp, không có tuyển chưa giải quyết — câu hỏi mở ban đầu của Chứng minh 1 (là 22\sqrt2^{\sqrt2} hữu tỉ hay không?) hoàn toàn bị bỏ qua, và người Trực giác luận chấp nhận cặp (2,log⁡29)(\sqrt{2}, \log_2 9) là chứng cứ thực sự. (Chú thích lịch sử: Gelfond–Schneider (1934) sau đó chứng minh 22\sqrt{2}^{\sqrt 2} thực ra vô tỉ — thậm chí siêu việt — giải quyết Trường hợp 2 là "đúng", nhưng chứng minh cổ điển ở trên không cần định lý sâu sắc đó.)

Với mọi mệnh đề PP, phủ định kép ¬¬(P∨¬P)\neg\neg(P \vee \neg P) chứng minh được trong logic trực giác — dù bản thân P∨¬PP \vee \neg P có thể không chứng minh được.

Vì sao đúng?

Kolmogorov (1925) và Gödel (1933) độc lập chỉ ra logic cổ điển nhúng được vào logic trực giác qua "phép dịch âm" này: ta không bao giờ khôi phục được LEM đầy đủ, nhưng luôn khôi phục được phủ định kép của nó, chính là điều cần thiết để nhúng chứng minh số học cổ điển vào hệ trực giác, một bước then chốt trong các trợ lý chứng minh hình thức hóa sau này.

Chứng minh

Bước 1: Cố định các luật trực giác được phép dùng. Logic trực giác giữ modus ponens và luật suy diễn tự nhiên cho ∧,∨,→\wedge, \vee, \to, và định nghĩa ¬P:=(P→⊥)\neg P := (P \to \bot) với ⊥\bot là phi lý ("từ chứng minh ⊥\bot suy ra mọi thứ" — ex falso quodlibet — hợp lệ theo trực giác). Điều không được giả định là P∨¬PP \vee \neg P hay luật khử phủ định kép ¬¬P→P\neg\neg P \to P.

**Bước 2: Chứng minh chiều dễ P→¬¬PP \to \neg\neg P theo trực giác.** Giả sử có chứng minh của PP. Ta cần tạo chứng minh của ¬¬P=((P→⊥)→⊥)\neg\neg P = (( P \to \bot) \to \bot), tức giả sử có chứng minh của (P→⊥)(P \to \bot) và suy ra ⊥\bot. Áp dụng hàm giả sử này vào chứng minh PP của ta cho ngay chứng minh ⊥\bot. Vậy P→¬¬PP \to \neg\neg P đúng mà không cần chia trường hợp — chiều này không bao giờ cần LEM.

**Bước 3: Xây trực tiếp chứng minh của ¬¬(P∨¬P)\neg\neg(P \vee \neg P).** Ta cần chỉ ra ((P∨¬P)→⊥)→⊥((P \vee \neg P) \to \bot) \to \bot. Giả sử có chứng minh hh của (P∨¬P)→⊥(P \vee \neg P) \to \bot (tức hh bác bỏ tuyển); ta cần suy ra ⊥\bot. Quan sát rằng hh, giới hạn lên vế phải tuyển, cho hàm nhận mọi chứng minh của PP tới chứng minh ⊥\bot — đó chính xác là chứng minh của ¬P\neg P (áp dụng hh sau khi bọc bằng phép nhúng phải inr\text{inr}). Gọi chứng minh suy ra này là n:¬Pn : \neg P.

Bước 4: Khép vòng. Bây giờ vì có n:¬Pn : \neg P, ta lập được inr(n):P∨¬P\text{inr}(n) : P \vee \neg P (vế phải của P∨¬PP \vee \neg P, khởi tạo với chứng minh nn). Đưa hạng tử này ngược vào hh: h(inr(n))h(\text{inr}(n)) là chứng minh của ⊥\bot, chính xác là ⊥\bot ta cần suy ra ở Bước 3. Điều này khép giả định ở Bước 3, cho chứng minh trực giác đầy đủ của ¬((P∨¬P)→⊥)\neg((P\vee\neg P)\to\bot), tức của ¬¬(P∨¬P)\neg\neg(P \vee \neg P).

*Bước 5: Vì sao điều này không* trả lại P∨¬PP \vee \neg P.** Bước 4 tạo ra ¬¬(P∨¬P)\neg\neg(P \vee \neg P), nhưng theo trực giác ¬¬Q→Q\neg\neg Q \to Q không suy ra được nói chung (điều đó đòi hỏi chính nguyên lý giống LEM mà ta thiếu). Vậy phép dịch thực sự yếu hơn: nó chỉ ra "luật" của logic cổ điển tồn tại như một khẳng định không thể bác bỏ (phủ định của nó luôn mâu thuẫn) ngay cả khi nó không thể khẳng định trực tiếp — chính khoảng cách này cho phép toán học cấu trúc cùng tồn tại với, và diễn giải, toán học cổ điển qua phép dịch âm Gödel của mọi công thức ϕ↦ϕN\phi \mapsto \phi^N (thay mỗi công thức nguyên tố và mỗi liên từ bằng tương ứng phủ định kép trực giác của nó), gửi mọi mệnh đề số học chứng minh được cổ điển thành mệnh đề chứng minh được theo trực giác.

Nâng caoỨng dụng thực tiễn và Ví dụ minh họa

Yêu cầu chứng cứ tường minh của trực giác luận hóa ra cực kỳ thực tiễn: tương ứng Curry–Howard chỉ ra chứng minh cấu trúc của ∀x∃y.ϕ(x,y)\forall x \exists y. \phi(x,y) chính là một chương trình tính yy từ xx. Điều này làm nền tảng cho các trợ lý chứng minh như Coq, Agda, Lean, dùng để kiểm chứng hình thức trình biên dịch C CompCert và định lý Feit–Thompson, và làm nền tảng cho hệ kiểu trong ngôn ngữ lập trình hàm (Haskell, ML) nơi kiểu là mệnh đề và chương trình là chứng minh. Các dẫn xuất hữu hạn, kiểm tra được máy móc của hình thức luận chính là những gì một trình kiểm chứng máy tính xác minh từng dòng — không cần viện tới trực giác Platon để máy chấp nhận chứng minh.

Ví dụ: Trích xuất thuật toán từ chứng minh tồn tại cấu trúc

Một chứng minh cấu trúc phát biểu: "với mọi n∈Nn \in \mathbb{N}, tồn tại duy nhất cặp (q,r)(q,r) với 0≤r<n0 \le r < n và cho số bị chia mm, m=qn+rm = qn + r." Hãy chỉ ra chứng minh này, nếu viết theo lối cấu trúc, cho ngay thuật toán chia Euclid.

Lời giải

Bước 1: Chứng minh tồn tại cấu trúc tiến hành bằng quy nạp trên mm. Trường hợp cơ sở m=0m=0: lấy q=0,r=0q=0, r=0; rõ ràng 0=0⋅n+00 = 0\cdot n + 0 và 0≤0<n0 \le 0 < n (giả sử n>0n>0).

Bước 2: Bước quy nạp: giả sử với mm ta đã có (q,r)(q,r) với m=qn+rm=qn+r, 0≤r<n0\le r<n. Với m+1m+1: nếu r+1<nr+1 < n, lấy (q,r+1)(q, r+1) — vì m+1=qn+(r+1)m+1 = qn+(r+1). Nếu r+1=nr+1 = n, lấy (q+1,0)(q+1, 0) — vì m+1=qn+n=(q+1)n+0m+1 = qn+n = (q+1)n + 0.

Bước 3: Chứng minh quy nạp này đã là một thuật toán: đó là hàm đệ quy tính (q,r)(q,r) từ mm bằng cách tăng dần liên tục, khớp chính xác thuật toán chia "đếm lên". Trích xuất chương trình qua Curry–Howard từ chứng minh viết theo lối hiệu quả hơn (ví dụ chia dài nhị phân, trừ liên tiếp bội số của nn) cho thuật toán chia Euclid nhanh dùng trong ALU của mọi bộ xử lý, với cấu trúc chứng minh đảm bảo tính dừng và đúng đắn miễn phí.

Ví dụ: Hình thức hóa Định lý nhỏ Fermat trong Lean

Giải thích vì sao "chứng minh" Định lý nhỏ Fermat (ap≡a(modp)a^p \equiv a \pmod p với pp nguyên tố) được trợ lý chứng minh Lean chấp nhận là bảo đảm đúng đắn mạnh hơn chứng minh chỉ được con người phản biện chấp nhận, theo quan điểm Hình thức luận.

Lời giải

Bước 1: Chứng minh được người phản biện dựa vào người phản biện đọc đúng văn xuôi toán học phi hình thức, tự điền các bước "hiển nhiên" trong đầu, và tin vào kiến thức nền của chính họ về định nghĩa — bất kỳ điều nào trong số này có thể che giấu lỗi (nổi tiếng là lần đầu Wiles chứng minh FLT có lỗ hổng chỉ được phát hiện sau phản biện sâu rộng).

Bước 2: Chứng minh Lean là một hạng tử trong lý thuyết kiểu hình thức (Calculus of Inductive Constructions); nhân Lean — vài nghìn dòng mã tin cậy — máy móc dẫn xuất lại từng bước suy luận từ tiên đề, không viện tới trực giác, văn xuôi tiếng Anh, hay "hiển nhiên đúng".

Bước 3: Đây chính xác là tầm nhìn hình thức luận của Hilbert được hiện thực hóa trong phần mềm: toán học quy về thao tác ký hiệu kiểm tra được bằng chương trình nhỏ, kiểm toán được, tránh né việc phải đồng thuận số có "thực sự tồn tại" (Platon luận) hay điều gì được coi là cấu trúc tâm trí hợp lệ (Trực giác luận) — nhân chỉ quan tâm dẫn xuất có hợp cú pháp hay không.

Triết lý nào cho rằng đối tượng toán học tồn tại độc lập với tâm trí con người, trong cõi trừu tượng, và nhà toán học khám phá chứ không phát minh định lý?

Trong chứng minh cổ điển rằng tồn tại a,ba, b vô tỉ với ab∈Qa^b \in \mathbb{Q}, nguyên lý logic nào được viện dẫn để biện minh chia trường hợp về việc 22\sqrt{2}^{\sqrt{2}} hữu tỉ hay không?

Định lý bất toàn thứ hai của Gödel chứng minh điều gì về chương trình nhất quán của hình thức luận Hilbert?

Tương ứng Curry–Howard, làm nền tảng cho các trợ lý chứng minh như Coq và Lean, đồng nhất chứng minh cấu trúc của ∀x∃y.ϕ(x,y)\forall x \exists y.\phi(x,y) với điều gì?

Tài liệu tham khảo

  1. Michael Dummett (2000). Elements of Intuitionism
  2. Kurt Gödel (1931). Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I
  3. A.S. Troelstra, D. van Dalen (1988). Constructivism in Mathematics: An Introduction
  4. The Univalent Foundations Program (2013). Homotopy Type Theory: Univalent Foundations of Mathematics