Giới thiệu về Logic (Logic)
Logic (Logic) là gì? (What is Logic?)
Logic (Logic học) là ngành nghiên cứu về các nguyên tắc (principles) hướng dẫn chúng ta suy nghĩ như thế nào cho đúng — không phải như thế nào cho tiện, không phải như thế nào cho dễ chịu, mà như thế nào cho chính xác trước mối quan hệ giữa các sự thật (facts).
Nói ngắn gọn: Logic (Logic học) cung cấp bộ công cụ (tools) để phân biệt giữa lập luận (argument) hợp lệ (valid) và lập luận sai lầm (fallacious).
Hình 2: Minh họa cân bằng logic (Logic balance) — Logic (Logic học) đảm bảo rằng Kết luận (Conclusion) phải cân xứng với Tiền đề (Premises).
Logic mệnh đề (Propositional Logic)
Logic mệnh đề (Propositional Logic) là phiên bản đơn giản nhất của Logic (Logic học). Trong đó, mỗi câu (sentence) được xem như một mệnh đề (proposition) — thứ có thể nhận một trong hai giá trị: Đúng (True) hoặc Sai (False).
Các mệnh đề (propositions) này được nối với nhau bằng các toán tử logic (logical operators) như:
- VÀ (AND) — ký hiệu:
∧ - HOẶC (OR) — ký hiệu:
∨ - KHÔNG (NOT) — ký hiệu:
¬ - NẾU…THÌ… (IMPLIES) — ký hiệu:
→ - TƯƠNG ĐƯƠNG (IFF) — ký hiệu:
↔
Hình 3: Các toán tử logic (Logical operators) cơ bản trong Logic mệnh đề (Propositional Logic) — AND (∧), OR (∨), NOT (¬), IMPLIES (→).
Quy tắc suy luận (Rules of Inference)
Một trong những đóng góp vĩ đại nhất của Aristotle (Aristotle — nhà triết học Hy Lạp cổ đại) cho tư duy nhân loại chính là việc phát hiện ra rằng có những mẫu suy luận (reasoning patterns) luôn đúng — bất kể nội dung cụ thể của chúng là gì. Những mẫu này được gọi là quy tắc suy luận (rules of inference).
Khi bạn áp dụng (apply) một quy tắc suy luận (rule of inference) lên một tập tiền đề (premises), bạn sẽ nhận được một kết luận (conclusion) bị hệ quả (entailed) bởi các tiền đề đó. Một chứng minh (proof) đơn giản là một chuỗi (sequence) các bước áp dụng quy tắc suy luận (rule of inference) nối tiếp nhau. Bạn có thể hình dung mỗi bước suy luận (reasoning step) như một nguyên tử (atom), và từ những nguyên tử đó, bạn xây dựng nên những phân tử (molecule) — tức là toàn bộ một chứng minh (proof) logic (Logical proof).
Nói một cách chính xác hơn:
- Một quy tắc suy luận (rule of inference) là một mẫu (pattern) gồm một số tiền đề (premises) ở trên và một số kết luận (conclusions) ở dưới.
- Một chứng minh (proof) là một dãy (sequence) các câu (sentences), trong đó mỗi câu (sentence) hoặc là một tiền đề (premise) đã cho, hoặc là kết quả (result) của việc áp dụng (applying) một quy tắc suy luận (rule of inference) lên các câu (sentence) xuất hiện trước nó trong dãy.
Hình 4: Cấu trúc của một chứng minh (Proof) — Tiền đề (Premises) qua Quy tắc suy luận (Rule of Inference) tạo ra Kết luận (Conclusion), và quá trình có thể tiếp diễn thành chuỗi.
Ví dụ về Quy tắc Suy luận (Sample Rule of Inference)
Hãy xem xét một ví dụ gần gũi với cuộc sống hàng ngày ở Việt Nam. Bạn sống trong một khu tập thể (apartment building). Tòa nhà A có đặc điểm: mọi người sống trong đó đều sử dụng bể nước trên mái nhà (rooftop water tank). Tòa nhà B cũng vậy. Giờ đặt vấn đề: nếu bạn biết tất cả cư dân khu A đều dùng bể nước trên mái, và tất cả cư dân khu B đều biết cách sử dụng bể nước trên mái, thì bạn có thể suy ra điều gì?
Tất cả cư dân khu A đều biết dùng bể nước trên mái nhà. Tất cả cư dân khu B đều biết dùng bể nước trên mái nhà. Do đó, mọi người từ khu A và khu B đều biết dùng bể nước trên mái nhà.
Ví dụ này tuy đơn giản nhưng minh họa đúng cấu trúc của một suy luận hợp lệ (valid inference).
Bây giờ là một ví dụ khác, mang hơi hướng Việt Nam hơn một chút. Bạn là một người yêu thích xe máy (motorbikes). Bạn biết rằng tất cả xe Honda Wave đều là xe máy (motorbikes), và tất cả xe máy (motorbikes) đều cần xăng để chạy. Từ đó bạn có thể kết luận:
Tất cả xe Honda Wave đều cần xăng để chạy.
Rõ ràng, đúng không? Nhưng điều quan trọng ở đây không phải là kết luận — mà là cách bạn đạt được kết luận đó. Quy tắc bạn vừa dùng có tên là Silogism (Syllogism) — một trong những quy tắc suy luận (rule of inference) cổ xưa nhất, được Aristotle (Aristotle) ghi nhận từ hơn 2.300 năm trước.
Và đây, một ví dụ trừu tượng hơn. Giả sử bạn gặp ba từ hoàn toàn mới: bingo, blorg, và zizzle. Bạn được cho biết:
Tất cả bingo đều là blorg. Tất cả blorg đều là zizzle. Do đó, tất cả bingo đều là zizzle.
Dù bạn không biết bingo, blorg, hay zizzle nghĩa là gì — dù chúng có tồn tại trong thế giới thực hay không — thì cấu trúc của lập luận này vẫn đúng. Tính hợp lệ (validity) của suy luận (reasoning) không phụ thuộc vào nội dung (content), mà phụ thuộc vào hình thức (form).
Hình 5: Silogism (Syllogism) minh họa bằng biểu đồ Venn (Venn diagram) — ba tập hợp lồng nhau, thể hiện tính chất bắc cầu (transitive property) của quan hệ “là một phần của”.
Quy tắc Suy luận Tổng quát (General Rule of Inference)
Điều đáng kinh ngạc về các ví dụ trên là chúng đều chia sẻ chung một cấu trúc (structure). Bạn có thể trừu tượng hóa (abstract) chúng thành mẫu sau:
Tất cả x đều là y. Tất cả y đều là z. Do đó, tất cả x đều là z.
Có hai điểm then chốt (key points) ở đây.
Thứ nhất, tính đúng đắn (correctness) của suy luận (reasoning) được xác định bởi cấu trúc hình thức (formal structure) — chứ không phải bởi nội dung (content) của các khái niệm (concepts) được nhắc đến. Bạn có thể thay x, y, z bằng bất cứ thứ gì — tên người, loại xe, hay từ giả định — và quy tắc vẫn đúng.
Thứ hai, kết luận (conclusion) chỉ đảm bảo đúng (true) khi và chỉ khi (if and only when) tất cả các tiền đề (premises) đều đúng (true). Nếu một tiền đề (premise) sai, kết luận (conclusion) có thể vẫn đúng một cách ngẫu nhiên — nhưng suy luận đó không còn đáng tin cậy (reliable) nữa.
Nhà triết học Bertrand Russell (Bertrand Russell) đã tóm tắt bản chất (essence) này trong một trích dẫn nổi tiếng:
Logic (Logic học) “là ngành mà trong đó chúng ta không bao giờ biết chúng ta đang nói về cái gì, và cũng không biết những gì chúng ta nói có đúng hay không.”” — Bertrand Russell
Nghĩa là: Logic (Logic học) quan tâm đến hình thức (form), không quan tâm đến nội dung (content). Nó giống như một chiếc máy (machine) — bạn bỏ vào đầu vào (input) là các tiền đề (premises), máy vận hành theo các quy tắc (rules) đã định sẵn, và đầu ra (output) là kết luận (conclusion). Nếu đầu vào đúng, đầu ra chắc chắn đúng. Nếu đầu vào sai, đầu ra có thể đúng hoặc sai — nhưng bạn không thể tin tưởng nó.
Hình 6: Trích dẫn của Bertrand Russell (Bertrand Russell) về bản chất của Logic (Logic học) — Logic (Logic học) quan tâm đến hình thức (form), không quan tâm đến nội dung (content).
Quy tắc Suy luận Không Hợp lệ (Unsound Rule of Inference)
Tuy nhiên, không phải mọi mẫu suy luận (reasoning pattern) đều đúng. Một số mẫu sai lầm (faulty) — nghĩa là chúng có thể dẫn bạn từ những tiền đề (premises) đúng (true) tới một kết luận (conclusion) sai (false).
Xét mẫu sau:
Tất cả x đều là y. Một số y đều là z. Do đó, một số x đều là z.
Mẫu này SAI. Hoàn toàn sai. Và dưới đây là hai ví dụ chứng minh điều đó.
Ví dụ 1 — Kết luận đúng một cách ngẫu nhiên (accidentally true):
Tất cả xe Honda Wave đều là xe Nhật Bản (nhãn Honda có nguồn gốc Nhật). Một số xe Nhật Bản được sản xuất tại Việt Nam. Do đó, một số xe Honda Wave được sản xuất tại Việt Nam. ← Đúng, nhưng chỉ là trùng hợp.
Ví dụ 2 — Kết luận rõ ràng sai (clearly false):
Tất cả xe Honda Wave đều là xe hai bánh. Một số xe hai bánh là xe đạp. Do đó, một số xe Honda Wave là xe đạp. ← Vô lý!
Rõ ràng, cùng một quy tắc suy luận (rule of inference) có thể cho ra kết quả đúng trong trường hợp này và sai trong trường hợp khác. Đó chính là dấu hiệu của một quy tắc không hợp lệ (invalid rule).
Hình 7: Minh họa quy tắc suy luận không hợp lệ (Invalid Rule of Inference) — cùng một mẫu có thể cho kết quả đúng trong trường hợp này và sai trong trường hợp khác.
Suy diễn (Deduction)
Sự khác biệt giữa một mẫu đúng (correct) và một mẫu sai (incorrect) nằm ở chỗ: mẫu đúng phải luôn luôn dẫn đến kết luận đúng — trong mọi trường hợp, không có ngoại lệ. Đây chính là định nghĩa (defining criterion) của suy diễn (deduction).
Trong mọi loại hình suy luận (reasoning) mà con người sử dụng, suy luận diễn dịch (deductive reasoning) là loại duy nhất đảm bảo (guarantees) tính đúng đắn (validity) của kết luận (conclusion) trong mọi tình huống.
Một quy tắc suy luận (rule of inference) được gọi là hợp lệ (sound) nếu và chỉ nếu (if and only if): mỗi khi các tiền đề (premises) đúng (true), thì kết luận (conclusion) cũng phải đúng (true).
Việc áp dụng các quy tắc suy luận hợp lệ (sound rules of inference) được gọi là suy diễn (deduction).
Hình 8: Suy diễn (Deduction) — Quy tắc hợp lệ (Sound rule) đảm bảo rằng nếu Tiền đề (Premises) đúng thì Kết luận (Conclusion) chắc chắn đúng.
Quy nạp (Induction)
Tuy nhiên, không phải mọi suy luận (reasoning) hữu ích đều là suy diễn (deduction). Có những mẫu suy luận (reasoning patterns) không đảm bảo 100% tính đúng đắn — nhưng vẫn cực kỳ hữu ích trong thực tế. Một trong số đó là quy nạp (induction).
Quy nạp (Induction) là suy luận (reasoning) đi từ cái cụ thể (specific) đến cái tổng quát (general). Ví dụ:
Tôi đã thấy 1000 con chim cò (pigeons) ở công viên Lê Văn Tám — tất cả đều màu xám. Tôi chưa từng thấy con nào có màu khác. Do đó, mọi con chim cò đều có màu xám.
Đây được gọi là quy nạp không đầy đủ (incomplete induction). Lý do: dù bạn đã thấy rất nhiều trường hợp (instances) xác nhận quy luật, bạn chưa thấy tất cả trường hợp. Vẫn có khả năng tồn tại một con chim cò bạch tạng (albino pigeon) mà bạn chưa từng gặp. Vì vậy, quy nạp không đầy đủ (incomplete induction) không hợp lệ (not sound) — kết luận có thể sai, dù xác suất sai rất thấp.
Điểm thú vị là: quy nạp (induction) tuy không đảm bảo 100%, nhưng nó là nền tảng (foundation) của khoa học thực nghiệm (experimental science) — và cả của học máy (machine learning) nữa.
Hình 9: Quy nạp (Induction) — Suy luận từ các quan sát cụ thể (specific observations) đến quy luật tổng quát (general rule), nhưng không đảm bảo 100% tính đúng.
Quy nạp versus Suy diễn (Induction versus Deduction)
Để phân biệt rõ ràng hơn:
| Quy nạp (Induction) | Suy diễn (Deduction) | |
|---|---|---|
| Hướng | Cụ thể → Tổng quát | Tổng quát → Cụ thể |
| Đảm bảo | Không (có thể sai) | Có (luôn đúng nếu tiền đề đúng) |
| Sinh kiến thức mới? | Có | Không (chỉ áp dụng kiến thức có sẵn) |
| Vai trò | Nền tảng của Khoa học (Science) | Nền tảng của Logic (Logic học) |
Nói ngắn gọn:
Khoa học (Science) khao khát khám phá (discover) và đề xuất (propose) kiến thức mới (new knowledge). Logic (Logic học) khao khát áp dụng (apply) và phân tích (analyze) kiến thức hiện có (existing knowledge).
Hai lĩnh vực này bổ sung cho nhau — khoa học dùng quy nạp (induction) để tạo ra giả thuyết (hypothesis), rồi logic (logic) dùng suy diễn (deduction) để kiểm tra tính hợp lệ (validity) của giả thuyết đó.
Hình 10: So sánh Quy nạp (Induction) và Suy diễn (Deduction) — hai hướng suy luận ngược chiều nhau.
Niels Bohr gửi Albert Einstein
Sự phân biệt (distinction) giữa quy nạp (induction) và suy diễn (deduction) nằm ở trái tim của một bất đồng (disagreement) nổi tiếng giữa hai nhà vật lý (physicist) vĩ đại: Albert Einstein (Albert Einstein) và Niels Bohr (Niels Bohr).
Bohr cho rằng Einstein đã quá nhấn mạnh (overemphasize) vào suy diễn (deduction) — tức là xây dựng lý thuyết từ các tiên đề (axioms) và nguyên lý (principles) — thay vì dựa vào quy nạp (induction) từ dữ liệu thực nghiệm (experimental data). Ông được cho là đã nói với Einstein:
“Bạn không đang suy nghĩ; bạn chỉ đang bị logic (being logical) thôi.” — Niels Bohr nói với Albert Einstein
Theo Bohr, Einstein xây dựng thuyết tương đối (theory of relativity) từ những suy nghĩ trừu tượng (thought experiments) trong đầu — thay vì quan sát thế giới tự nhiên (natural world) rồi rút ra quy luật. Bohr là một người hâm mộ quy nạp (induction) và tin rằng khoa học (science) phải bắt đầu từ quan sát (observation), không phải từ suy diễn (deduction).
Tuy nhiên, lịch sử đã chứng minh cả hai đều đúng theo cách riêng của họ: quy nạp (induction) tạo ra lý thuyết, và suy diễn (deduction) kiểm tra tính nhất quán (consistency) của lý thuyết đó.
Hình 11: Tranh luận giữa Niels Bohr (Niels Bohr) và Albert Einstein (Albert Einstein) — Quy nạp (Induction) so với Suy diễn (Deduction) trong phương pháp khoa học (scientific method).
Hệ quả (Entailment) versus Khả năng Chứng minh được (Provability)
Khi nói về Logic (Logic học), chúng ta encounter hai khái niệm (concepts) then chốt:
1. Hệ quả logic (Logical Entailment): Một tập hợp các tiền đề (premises) hệ quả logic (logically entails) một kết luận (conclusion) nếu và chỉ nếu (if and only if) mọi thế giới khả dĩ (possible world) thỏa mãn (satisfies) các tiền đề (premises) cũng thỏa mãn (satisfies) kết luận (conclusion). Nói cách khác: không tồn tại bất kỳ thế giới nào (không có tình huống nào) mà các tiền đề (premises) đúng nhưng kết luận (conclusion) sai.
2. Khả năng chứng minh được (Provability): Một câu (sentence) là có thể chứng minh được (provable) từ một tập hợp các tiền đề (premises) nếu và chỉ nếu (if and only if) tồn tại một chứng minh (proof) hữu hạn (finite) — tức là một dãy (sequence) hữu hạn (finite) các bước suy luận (reasoning steps), bắt đầu từ các tiền đề (premises) và kết thúc bằng kết luận (conclusion).
Hai khái niệm (concepts) này rất khác biệt (quite different):
- Entailment dựa trên thế giới khả dĩ (possible worlds) — một khái niệm mang tính ngữ nghĩa (semantic).
- Provability dựa trên thao tác ký hiệu (symbolic manipulation) — một khái niệm mang tính cú pháp (syntactic).
Nói nôm na: entailment hỏi “Kết luận này có đúng trong mọi tình huống không?” còn provability hỏi “Tôi có thể viết ra một chuỗi bước chứng minh cho kết luận này không?”
Hình 12: So sánh Logical Entailment (Hệ quả logic) và Provability (Khả năng chứng minh được) — một bên dựa trên thế giới khả dĩ (possible worlds), một bên dựa trên chuỗi chứng minh hữu hạn (finite proof sequence).
Tính Hợp lệ (Soundness) và Tính Đầy đủ (Completeness)
Mặc dù hai khái niệm (concepts) — logical entailment (⊨) và provability (⊢) — được định nghĩa (defined) theo hai cách hoàn toàn khác nhau (một bên ngữ nghĩa, một bên cú pháp) — đối với các hệ thống logic (logical systems) “tốt” (well-behaved), chúng trùng khớp (coincide) với nhau:
Một tập hợp các tiền đề (premises) hệ quả logic (logically entails) một kết luận (conclusion) nếu và chỉ nếu (if and only if) kết luận (conclusion) đó có thể chứng minh được (provable) từ các tiền đề (premises).
⊨ ⇔ ⊢
Đây là một kết quả cực kỳ sâu sắc (profound result). Nó có nghĩa là:
- Bạn có thể tiếp cận vấn đề logic (logic problem) theo hai con đường khác nhau — hoặc là kiểm tra bằng cách xem xét mọi thế giới khả dĩ (possible worlds) (semantic approach), hoặc là xây dựng một chuỗi chứng minh (proof sequence) (syntactic approach).
- Bạn có thể yên tâm rằng dù chọn cách nào, bạn sẽ đạt được cùng một kết quả (same result).
Tính chất này được gọi là Định lý Soundness và Completeness (Soundness and Completeness Theorem) — một trong những kết quả quan trọng nhất trong toán học logic (mathematical logic).
- Soundness (Tính hợp lệ): Nếu
⊢ C(C có thể chứng minh được), thì⊨ C(C bị hệ quả bởi các tiền đề). Nói cách khác: không có chứng minh nào sai. - Completeness (Tính đầy đủ): Nếu
⊨ C(C bị hệ quả bởi các tiền đề), thì⊢ C(C có thể chứng minh được). Nói cách khác: mọi điều đúng đều có thể chứng minh được.
Hình 13: Định lý Soundness và Completeness — Logical Entailment (⊨) và Provability (⊢) trùng khớp (coincide) đối với các hệ thống logic well-behaved.
Logic Ký hiệu (Symbolic Logic)
Trong các ví dụ chúng ta đã xem xét, các câu (sentences) đều được viết bằng ngôn ngữ tự nhiên (natural language) — cụ thể là tiếng Anh (English). Ngôn ngữ tự nhiên (natural language) hoạt động khá tốt trong nhiều tình huống (situations), nhưng nó không hoàn hảo (not perfect).
Các câu (sentences) của ngôn ngữ tự nhiên (natural language) có thể:
- Phức tạp (Complex) — cấu trúc câu dài, nhiều mệnh đề con, khiến việc phân tích trở nên khó khăn.
- Gây mơ hồ (Ambiguous) — một câu có thể được hiểu theo nhiều nghĩa khác nhau.
- Dễ gây hiểu lầm (Misleading) — ý nghĩa bề mặt (surface meaning) có thể khác với ý nghĩa thực tế (actual meaning).
Tất cả những vấn đề (problems) này đều có thể dẫn đến lỗi suy luận (errors in reasoning) — ngay cả khi bạn đang cố gắng suy nghĩ một cách logic (logically).
Đó chính là lý do tại sao các nhà toán học (mathematicians) và triết học gia (philosophers) phát minh ra Logic ký hiệu (Symbolic Logic) — một ngôn ngữ (language) chính xác, không mơ hồ (unambiguous), và hoàn toàn hình thức (formal).
Hình 14: Lý do cần Logic Ký hiệu (Symbolic Logic) — Ngôn ngữ tự nhiên (Natural language) phức tạp và mơ hồ, trong khi Logic ký hiệu (Symbolic logic) chính xác và hình thức (formal).
Các Câu Logic (Logical Sentences)
Trong Logic (Logic học), chúng ta biểu diễn thông tin (information) dưới dạng các câu (sentences) có giá trị chân lý (truth value) — tức là mỗi câu (sentence) hoặc đúng (true) hoặc sai (false), không có ngoại lệ.
Dưới đây là một vài ví dụ về câu logic (logical sentences) được viết bằng ngôn ngữ tự nhiên (natural language):
- Dana thích Cody.
- Abby không thích Dana.
- Dana không thích Abby.
- Bess thích Cody hoặc Dana.
- Abby thích tất cả những người mà Bess thích.
- Cody thích tất cả những ai thích cô ấy.
- Mọi người đều thích chính bản thân mình.
Những câu (sentences) này tuy đơn giản, nhưng chúng chứa đựng đầy đủ cấu trúc (structure) cần thiết để xây dựng các chứng minh (proofs) phức tạp (complex) — nếu chúng ta chuyển chúng sang ngôn ngữ ký hiệu (symbolic language).
Hình 15: Minh họa các mối quan hệ (relationships) giữa các nhân vật — Abby, Dana, Bess, Cody — thể hiện các câu logic (logical sentences) dưới dạng đồ thị (graph) có hướng (directed graph).
Độ phức tạp của Ngôn ngữ Tự nhiên (Complexity of Natural Language)
Ngay cả những câu (sentences) tưởng chừng rất đơn giản cũng có thể cực kỳ phức tạp (complex) khi bạn cố gắng phân tích chúng một cách logic (logically).
Xét hai câu sau:
Câu A: “Tất cả những người mà Abby thích đều thích nhau.” Câu B: “Abby thích tất cả những người thích cô ấy.”
Hai câu này nghe có vẻ tương tự nhau — nhưng chúng hoàn toàn khác nhau về mặt logic (logic).
- Câu A nói về mối quan hệ giữa những người được Abby thích (relationships among Abby’s friends).
- Câu B nói về mối quan hệ ngược lại — ai thích Abby thì Abby sẽ thích người đó.
Trong ngôn ngữ tự nhiên (natural language), sự khác biệt tinh tế (subtle difference) này rất dễ bị bỏ qua. Nhưng trong Logic (Logic học), một sự khác biệt nhỏ như vậy có thể dẫn đến một kết luận (conclusion) hoàn toàn khác biệt.
Đó chính là lý do tại sao chúng ta cần Logic ký hiệu (Symbolic Logic) — để loại bỏ hoàn toàn sự mơ hồ (ambiguity) và đảm bảo rằng mỗi câu (sentence) chỉ có một cách hiểu duy nhất (single interpretation).
Hình 16: Minh họa độ phức tạp (Complexity) của ngôn ngữ tự nhiên (Natural language) — hai câu nghe có vẻ tương tự nhưng hoàn toàn khác nhau về mặt logic (logical structure).
Tài liệu tham khảo: Genesereth, M. (2009). Introduction to Logic (CS144), Lecture 01 Transcript. Stanford University. Viết lại: Chúi Notes (chuinotes.com), 2026.