Phủ định
| Các toán tử logic | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||||||
| Khái niệm liên quan | ||||||||||||||||||||
| Ứng dụng | ||||||||||||||||||||
| Thể loại Thể loại | ||||||||||||||||||||
Phủ định (tiếng Anh: Negation), hay còn gọi là hàm NOT, là một toán tử logic một ngôi (chỉ cần một toán hạng) tác động lên một mệnh đề để tạo ra mệnh đề "không phải ". Phủ định được hiểu là đúng khi sai, và sai khi đúng.[1] Ví dụ, nếu là "Trời đang mưa" thì phủ định của nó là "Trời đang không mưa".
Phủ định được ký hiệu bằng trong logic học,[2] trong một số ngữ cảnh khác,[3] trong điện tử số và đại số Boolean,[4] và ! hoặc NOT trong nhiều ngôn ngữ lập trình.[5]
Tính chất
| 0 | 1 |
| 1 | 0 |
Trong toán học và logic học, phủ định có thể được biểu diễn qua phép hội và phép tuyển theo định lý De Morgan:[2]
Phủ định kép
Trong logic cổ điển, phủ định của phủ định của một mệnh đề tương đương với chính :[6]
Ngược lại trong logic trực giác, chiều thuận vẫn được chấp nhận:
nhưng chiều ngược thì không, vì logic trực giác chỉ công nhận một mệnh đề là đúng khi có thể xây dựng được một minh chứng tường minh cho nó chứ không chỉ lập luận rằng nó "không thể không đúng". Biết rằng "không thể sai" chưa đủ—mà cần chỉ ra cụ thể tại sao đúng.[7]
Phủ định lượng từ
Trong logic vị từ, phủ định tương tác với các lượng từ theo quy tắc sau:[6]
Ví dụ, phủ định của "Mọi người đều có thể sai" là "Tồn tại ít nhất một người không thể sai", không phải "Mọi người đều không thể sai".
Quy tắc suy diễn
Trong suy diễn tự nhiên, có hai quy tắc cơ bản liên quan đến phủ định:[6]
Nhập đề phủ định (negation introduction): nếu từ giả thiết ta suy ra được cả lẫn (tức là một mâu thuẫn), thì phải sai:
Quy tắc này còn được gọi là reductio ad absurdum hay chứng minh bằng phản chứng (proof by contradiction): để chứng minh sai, ta giả sử đúng rồi suy luận dần ra mâu thuẫn.
Xuất đề phủ định (negation elimination): nếu cả và cùng đúng, thì bất kỳ mệnh đề nào cũng có thể suy ra được:
Quy tắc này phản ánh nguyên lý ex falso quodlibet: từ một tiền đề sai, mọi thứ đều có thể suy ra.
Ứng dụng trong khoa học máy tính
Phép toán thao tác bit
Trong lập trình hệ thống, phủ định bit (bitwise NOT) đảo ngược toàn bộ các bit trong một số nhị phân: mọi bit 0 thành 1 và ngược lại. Ký hiệu toán tử là ~ trong C và C++.[5] Ví dụ:
unsigned char x = 0b00001111; // x = 15
unsigned char y = ~x; // y = 0b11110000 = 240Phủ định bit được dùng phổ biến để tạo phần bù một và phần bù hai, là nền tảng của cách biểu diễn số âm trong máy tính.[5]
Toán tử logic trong lập trình
Nhiều ngôn ngữ lập trình phân biệt phủ định bit và phủ định logic bằng hai toán tử khác nhau. Trong các ngôn ngữ theo truyền thống C, phủ định bit dùng ~, còn phủ định logic dùng !. Phủ định logic trả về giá trị boolean: !0 cho kết quả 1, còn ! với bất kỳ giá trị khác 0 nào đều cho kết quả 0.[5]
Trong một số ngôn ngữ như Pascal và Ada, toán tử phủ định logic được viết là NOT thay vì !.[5]
Một phương pháp phổ biến trong C và C++ là dùng phủ định kép !!x để chuyển một giá trị bất kỳ thành giá trị boolean chuẩn (0 hoặc 1), vì !x đã trả về 0 hoặc 1 nhưng đảo chiều, nên !!x khôi phục lại chiều ban đầu.[5]
int x = 42;
int b = !!x; // b = 1Tham khảo
- ^ Weisstein, Eric W. "Negation". mathworld.wolfram.com (bằng tiếng Anh). Truy cập ngày 29 tháng 5 năm 2026.
- ^ a b Howson, Colin (1997). Logic with trees: an introduction to symbolic logic. London; New York: Routledge. tr. 38. ISBN 978-0-415-13342-5.
- ^ "Formal logic: The propositional calculus". Encyclopædia Britannica. Truy cập ngày 29 tháng 5 năm 2026.
- ^ Singh, Ajay Kumar (2011). Digital VLSI design. New Delhi: PHI Learning. ISBN 978-81-203-4187-6.
- ^ a b c d e f Bryant, Randal E.; O'Hallaron, David Richard (2011). Computer systems: a programmer's perspective (ấn bản thứ 2). Boston, Mass.: Prentice Hall. ISBN 978-0-13-610804-7.
- ^ a b c Magnus, P. D.; Button, Tim; Thomas-Bolduc, Aaron; Zach, Richard (2023). forall x: Calgary. An Introduction to Formal Logic (bằng tiếng Anh). Open Logic Project. ISBN 9798859963584.
- ^ Moschovakis, Joan (2023). "Intuitionistic Logic". Trong Zalta, Edward N. (biên tập). The Stanford Encyclopedia of Philosophy. Metaphysics Research Lab, Stanford University.