Trong chƣơng 1 ta đã định nghĩa các chƣơng trình logic thông thƣờng, nghĩa là các chƣơng trình logic cho phép phủ định mặc định (not) xuất hiện trong các thân quy tắc. Ngữ nghĩa tự nhiên của not a là “nếu a không thể đƣợc chứng minh là đúng (đƣợc dẫn xuất) bằng cách dùng các quy tắc thì mặc định not a đƣợc xem là đúng”. Nhƣng điều này là khác với “biết chắc rằng a
sai” và đƣợc biểu diễn bởi a. Ta xem ví dụ sau để phân biệt giữa phủ định mạnh và phủ định mặc định:
Ví dụ 2.2 Giả sử ta đã có quy định: “Ở tại vị trí đƣờng sắt giao nhau, có thể đi bộ băng qua đƣờng sắt nếu không có chuyến tàu nào đến” và có đối tƣợng A đang đứng ở vị trí đƣờng sắt giao nhau L nào đó, A muốn đi bộ băng qua đƣờng sắt. Có thể mã hóa điều này bằng hai quy tắc sau:
dibo vitri(A,L), duongsat(L), not tauhoa(L) (1) dibo vitri(A,L), duongsat(L), tauhoa(L) (2)
Nếu sử dụng quy tắc (1) thì A không nghĩ rằng tauhoa(L) là đúng, lúc đó A sẽ quyết định đi bộ băng qua đƣờng sắt mặc dầu A không biết chắc là không có chuyến tàu nào đến. Tri thức của A có thể cập nhật lại, nếu ta thêm vào sự kiện tauhoa(L) đúng thì A sẽ từ chối đi bộ qua đƣờng sắt.
Còn nếu dùng quy tắc (2) thì A chỉ có thể đi bộ băng qua đƣờng sắt nếu
A sẽ “an toàn” khi dùng quy tắc (2). Tuy nhiên quy tắc (1) lại phản ánh rõ ràng về tri thức của A là không thể biểu diễn trạng thái của thế giới một cách đầy đủ.
Có một cách để biểu diễn thông tin âm bằng cách dùng nguyên tố phủ định mạnh, trong đó chỉ rõ các sự kiện trong cơ sở tri thức, chẳng hạn, sự kiện
broken(battery) để chỉ battery là không bị hỏng. Nếu tri thức này đƣợc dùng để kết luận broken(battery) trong một quy tắc khác thì có thể dẫn đến sự không nhất quán và dẫn đến việc loại bỏ tất các mô hình dựa trên cơ sở tri thức đó.
Một áp dụng có ích đối với phủ định mạnh là kết hợp với phủ định mặc định để biểu diễn các quy tắc mặc định (default rule), chẳng hạn ta có thể biểu diễn quy tắc mặc định
flies(X) bird(X), not flies(X) với ý nghĩa “theo ngầm định, mọi con chim đều bay”.