24/05/2018, 19:14

Các phương pháp biểu diễn diễn tri thức

Định nghĩa: Logic mênh đề là công cụ toán logic, trong đó các mênh đề được mã hoá (gán) cho một biến, hoặc hằng; còn vác biểu thức là sự liên kết co nghĩa giữa các biến hằng với một số toán tử nhất định. Mệnh đề “Nếu ...

Định nghĩa: Logic mênh đề là công cụ toán logic, trong đó các mênh đề được mã hoá (gán) cho một biến, hoặc hằng; còn vác biểu thức là sự liên kết co nghĩa giữa các biến hằng với một số toán tử nhất định.

Mệnh đề “Nếu trời mưa (A) thì đất ướt (B) “ được mô tả: A⇒B

Tri thức được mô tả dưới dạng các mệnh đề trong ngôn ngữ biểu diễn tri thức. Mỗi câu có thể xem như sự mã hóa một sự hiểu biết của ta về thế giới thực. Ngôn ngữ biểu diễn tri thức (cũng như mọi ngôn ngữ hình thức khác) gồm hai thành phần cơ bản là cú phápngữ nghĩa.

• Cú pháp của một ngôn ngữ bao gồm các ký hiệu và các quy tắc liên kết các ký hiệu (các luật cú pháp) để tạo thành các câu (công thức) trong ngôn ngữ. Các câu ở đây là biểu diễn ngoài, cần phân biệt với biểu diễn bên trong máy tính. Các câu sẽ được chuyển thành các cấu trúc dữ liệu thích hợp được cài đặt trong một vùng nhớ nào đó của máy tính, đó là biểu diễn bên trong. Bản thân các câu chưa chứa đựng một nội dung nào cả, chưa mang một ý nghĩa nào cả.

• Ngữ nghĩa của ngôn ngữ cho phép ta xác định ý nghĩa của các câu trong một miền nào đó của thế giới hiện thực. Chẳng hạn, trong ngôn ngữ các biểu thức số học, dãy ký hiệu (x+y)*z là một câu viết đúng cú pháp. Ngữ nghĩa của ngôn ngữ này cho phép ta hiểu rằng, nếu x, y, z, ứng với các số nguyên, ký hiệu + ứng với phép toán cộng, còn * ứng với phép chia, thì biểu thức (x+y)*z biểu diễn quá trình tính toán: lấy số nguyên x cộng với số nguyên y, kết quả được nhân với số nguyên z.

• Ngoài hai thành phần cú pháp và ngữ nghĩa, ngôn ngữ biểu diễn tri thức cần được cung cấp cơ chế suy diễn. Một luật suy diễn (rule of inference) cho phép ta suy ra một công thức từ một tập nào đó các công thức. Chẳng hạn, trong logic mệnh đề, luật modus ponens cho phép từ hai công thức A và A⇒B suy ra công thức B. Chúng ta sẽ hiểu lập luận hoặc suy diễn là một quá trình áp dụng các luật suy diễn để từ các tri thức trong cơ sở tri thức và các sự kiện ta nhận được các tri thức mới. Như vậy chúng ta xác định:

Ngôn ngữ biểu diễn tri thức = Cú pháp + Ngữ nghĩa + Cơ chế suy diễn.

Một ngôn ngữ biểu diễn tri thức tốt cần có khả năng biểu diễn rộng, tức là mô tả được mọi điều mà chúng ta muốn. Nó cần hiệu quả để đi tới các kết luận; thủ tục suy diễn đòi hỏi ít thời gian tính toán và không gian nhớ. Người ta mong muốn ngôn ngữ biểu diễn tri thức gần với ngôn ngữ tự nhiên.

Cú pháp

Cú pháp của logic mệnh đề rất đơn giản. Nó cho phép xây dựng các công thức. Cú pháp của logic mệnh đề gồm tập các ký hiệu và tập các luật xây dựng công thức.

• Các ký hiệu

Hai hằng logic: TrueFalse.

Các ký hiệu mệnh đề (còn được gọi là các biến mệnh đề): P, Q,...

Các phép kết nối logic: ∧, ∨, ˥, ⇒, ⇔.

Các dấu mở ngoặc”(“ và đóng ngoặc ”)”.

• Các quy tắc xây dựng các công thức

Các biến mệnh đề là công thức. Nếu A và B là công thức thì:

(A∧B) (đọc “A hội B” hoặc “A và B”)

(A∨B) (đọc “A tuyển B”hoặc “A hoặc B”) (˥A) (đọc “phủ định A”)

(A⇒B) (đọc “A kéo theo B”hoặc “nếu A thì B”) (A⇔B) (đọc “A và B kéo theo nhau”) là các công thức.

Để ngắn gọn, ta bỏ đi các cặp dấu ngoặc khi không cần thiết. Ví dụ, thay cho ((A∨B)∧C), ta viết (A∨B)∧C.

Các công thức là các ký hiệu mệnh đề sẽ được gọi là các câu đơn hoặc câu phân tử. Các công thức không phải là câu đơn sẽ được gọi là câu phức hợp. Nếu P là ký hiệu mệnh đề thì P và ˥ P được gọi là literal, P là literal dương, còn ˥ P là literal âm. Câu phức hợp có dạng A1∨...∨Am trong đó Ai là các literal sẽ được gọi là câu tuyển (clause).

Ngữ nghĩa:

Ngữ nghĩa của logic mệnh đề cho phép ta xác định ý nghĩa của các công thức trong thế giới hiện thực nào đó. Điều đó được thực hiện bằng cách kết hợp mỗi ký hiệu mệnh đề với sự kiện nào đó trong thế giới hiện thực. Chẳng hạn, ký hiệu mệnh đề P có thể ứng với sự kiện “Paris là thủ đô nước Pháp”hoặc bất kỳ một sự kiện nào khác. Bất kỳ một sự kết hợp các kí hiệu mệnh đề với các sự kiện trong thế giới thực được gọi là một minh họa (interpretation). Chẳng hạn minh họa của kí hiệu mệnh đề P có thể là một sự kiện (mệnh đề) “Paris là thủ đô nước Pháp ”. Một sự kiện chỉ có thể đúng hoặc sai. Chẳng hạn, sự kiện “Paris là thủ đô nước Pháp “là đúng, còn sự kiện “Số Pi là số hữu tỉ “là sai.

Một cách chính xác hơn, ta hiểu một minh họa là một cách gán cho mỗi ký hiệu mệnh đề một giá trị chân lý True hoặc False. Trong một minh họa, nếu kí hiệu mệnh đề P được gán giá trị chân lý True/False (P: True/ P: False) thì ta nói mệnh đề P đúng/sai trong minh họa đó. Trong một minh họa, ý nghĩa của các câu phức hợp được xác định bởi ý nghĩa của các kết nối logic. Chúng ta xác định ý nghĩa của các kết nối logic trong các bảng chân lý.

Bảng chân lý của các kết nối logic

Ý nghĩa của các kết nối logic ∧, ∨ và l được xác định như ý nghĩa của các từ “và”,“hoặc là” và “phủ định” trong ngôn ngữ tự nhiên. Chúng ta cần giải thích thêm về ý nghĩa của phép kéo theo P ⇒ Q (P kéo theo Q). Ở đây: P là giả thiết, Q là kết luận. Trực quan cho phép ta xem rằng, khi P là đúng và Q là đúng thì câu “P kéo theo Q “là đúng, còn khi P là đúng Q là sai thì câu “P kéo theo Q”là sai. Nhưng nếu P sai và Q đúng, hoặc P sai Q sai thì “P kéo theo Q”là đúng hay sai? Nếu xuất phát từ giả thiết sai, thì không khẳng định gì về kết luận. Không có lý do để nói rằng nếu P sai và Q đúng hoặc P sai và Q sai thì “P kéo theo Q” là sai. Do đó, trong trường hợp P sai thì “P kéo theo Q “ là đúng dù Q là đúng hay Q là sai.

Bảng chân lý cho phép ta xác định ngữ nghĩa các câu phức hợp. Chẳng hạn ngữ nghĩa của các câu P∧Q trong minh họa {P ← True, Q ơ False} là False. Việc xác định ngữ nghĩa của một câu (P ∨ Q) ∧ ˥ S trong minh họa được tiến hành như sau: đầu tiên ta xác định giá trị chân lý của P ∨ Q và ˥ S, sau đó ta sử dụng bảng chân lý của ∧ để xác định giá trị (P ∨ Q)∧˥ S Một công thức được gọi là thoả được (satisfiable) nếu nó đúng trong một minh họa nào đó. Chẳng hạn công thức (P∨ Q) ∧˥ S là thoả được vì nó có giá trị True trong minh họa {P ơ True, Q ơ False, Sơ True}.

Một công thức được gọi là vững chắc (valid) nếu nó đúng trong mọi minh họa. Chẳng hạn câu P ∨ ˥ P là vững chắc (luôn bằng 1:True).

Một công thức được gọi là không thoả được, nếu nó là sai trong mọi minh họa. Chẳng hạn công thức P ∧˥ P (luôn bằng 0:False)..

Chúng ta sẽ gọi một mô hình (model) của một công thức là một minh họa sao cho công thức là đúng trong minh họa này. Như vậy một công thức thoả được là công thức có một mô hình. Chẳng hạn, minh họa {P ơ False, Q ơ False, Sơ True } là một mô hình của công thức (P =>Q) ∧ S.

Bằng cách lập bảng chân lý (phương pháp bảng chân lý) ta có thể xác định được một công thức có thoả được hay không. Trong bảng này, mỗi biến mệnh đề đứng đầu một cột, công thức cần kiểm tra đứng đầu một cột, mỗi dòng tương ứng với một minh họa. Chẳng hạn hình 3.2 là bảng chân lý cho công thức (P=>Q) ∧S. Trong bảng chân lý này ta cần đưa vào các cột phụ ứng với các công thức con của các công thức cần kiểm tra để việc tính giá trị của công thức này được dễ dàng. Từ bảng chân lý ta thấy rằng công thức (P=>Q) ∧S là thoả được nhưng không vững chắc.

Bảng chân lý cho công thức (P⇒Q) ∧S

Cần lưu ý rằng, một công thức chứa n biến, thì số các minh họa của nó là 2n, tức là bảng chân lý có 2n dòng. Như vậy việc kiểm tra một công thức có thoả được hay không bằng phương pháp bảng chân lý, đòi hỏi thời gian mũ. Cook (1971) đã chứng minh rằng, vấn đề kiểm tra một công thức trong logic mệnh đề có thoả được hay không là vấn đề NP-đầy đủ.

Chúng ta sẽ nói rằng một tập công thức G = {G1,..,Gm } là vững chắc (thoả được, không thoả được) nếu hội của chúng G1∧... .∧Gm là vững chắc (thoả được, không thoả được). Một mô hình của tập công thức G là mô hình của công thức G1∧....∧Gm..

Trong mục này chúng ta sẽ xét việc chuẩn hóa các công thức, đưa các công thức về dạng thuận lợi cho việc lập luận, suy diễn. Trước hết ta sẽ xét các phép biến đổi tương đương. Sử dụng các phép biển đổi này, ta có thể đưa một công thức bất kỳ về dạng chuẩn tắc.

Sự tương đương của các công thức

Hai công thức A và B được xem là tương đương nếu chúng có cùng một giá trị chân lý trong mọi minh họa. Để chỉ A tương đương với B ta viết A≡ B. Bằng phương pháp bảng chân lý, dễ dàng chứng minh được sự tương đương của các công thức sau đây:

A⇒B ≡ lA ∨ B

A ⇔ B ≡ (A⇒B) ∧ (B⇒A)

l(lA) ≡ A

• Luật De Morgan

l(A ∨ B) ≡ lA ∧ lB

l(A ∧ B) ≡ lA ∨ lB

• Luật giao hoán

A ∨ B ≡ B ∨ A

A ∧ B ≡ B ∧ A

• Luật kết hợp

(A ∨ B) ∨ C ≡ A ∨ (B ∨ C)

(A ∧ B) ∧ C ≡ A ∧ (B ∧ C)

• Luật phân phối

A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ C)

A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ C)

Dạng chuẩn tắc

Các công thức tương đương có thể xem như các biểu diễn khác nhau của cùng một sự kiện. Để dễ dàng viết các chương trình máy tính thao tác trên các công thức, chúng ta sẽ chuẩn hóa các công thức, đưa chúng về dạng biểu diễn chuẩn được gọi là dạngchuẩn hội. Một công thức ở dạng chuẩn hội nếu nó là hội của các câu tuyển. Nhớ lại rằng, câu tuyển có dạng A1 ∨....∨ Am trong đó các Ai literal. Chúng ta có thể biến đổi một công thức bất kỳ về công thức ở dạng chuẩn hội bằng cách áp dụng thủ tục sau.

• Bỏ các dấu kéo theo (⇒) bằng cách thay (A⇒B) bởi (lAvB).

• Chuyển các dấu phủ định (l) vào sát các ký hiệu mệnh đề bằng cách áp dụng luật De Morgan và thay l(lA) bởi A.

• Áp dụng luật phân phối, thay các công thức có dạng A∨(B∧C) bởi (A ∨ B) ∧ (A ∨ B).

Ta chuẩn hóa công thức (P ⇒ Q) ∨ l(R ∨ lS):

(P ⇒ Q) ∨ l(R ∨ lS) ≡ (lP ∨ Q) ∨ (lR ∧ S) ≡ ((lP ∨ Q)vlR) ∧ ((lP ∨ Q) ∨ S) ≡ (l P ∨ Q ∨ lR) ∧ (lP ∨ Q ∨ S).

Như vậy công thức (P⇒ Q) ∨ l(R ∨ lS) được đưa về dạng chuẩn hội (lP ∨ Q ∨ lR) ∧ (lP ∨ Q ∨ S). Khi biểu diễn tri thức bởi các công thức trong logic mệnh đề, cơ sở tri thức là một tập nào đó các công thức. Bằng cách chuẩn hoá các công thức, cơ sở tri thức là một tập nào đó các câu tuyển.

Ở trên ta đã chỉ ra, mọi công thức đều có thể đưa về dạng chuẩn hội, tức là hội của các tuyển, mỗi câu tuyển có dạng:

lP1 ∨... ..∨ lPm ∨ Q1 ∨.....∨ Qn

trong đó Pi, Qi là các ký hiệu mệnh đề (literal dương) câu này tương đương với câu:

P1 ^... .^ lPm => Q1 ∨.....∨ Qn

Dạng câu này được gọi là câu Kowalski (do nhà logic Kowalski đưa ra năm 1971).

Khi n <=1, tức là câu tuyển chỉ chứa nhiều nhất một literal dương, ta có một dạng câu đặc biệt quan trọng được gọi là câu Horn (mang tên nhà logic Alfred Horn, năm 1951).

Nếu m>0, n=1, câu Horn có dạng:

P1 ∧.....∧ Pm => Q

Trong đó Pi , Q là các literal dương. Các Pi được gọi là các điều kiện (hoặc giả thiết), còn Q được gọi là kết luận (hoặc hệ quả). Các câu Horn dạng này còn được gọi là các luật if-then và được biểu diễn như sau:

If P1 and....and Pm then Q.

Khi m=0, n=1 câu Horn trở thành câu đơn Q, hay sự kiện Q. Nếu m>0, n=0 câu Horn trở thành dạng lP1 v......v lPm hay tương đương l(P1^...^ Pm).

Không phải mọi công thức đều có thể biểu diễn dưới dạng hội của các câu Horn. Tuy nhiên trong các ứng dụng, cơ sở tri thức thường là một tập nào đó các câu Horn (tức là một tập nào đó các luật if-then).

Một công thức H được xem là hệ qủa logic (logical consequence) của một tập công thức G ={G1,.....,Gm} nếu trong bất kỳ minh họa nào mà {G1,... ..,Gm} đúng thì H cũng đúng. Nói cách khác bất kỳ mô hình nào của G cũng là mô hình của H.

Khi có một cơ sở tri thức, ta muốn sử dụng các tri thức trong cơ sở này để suy ra tri thức mới mà nó là hệ quả logic của các công thức trong cơ sở tri thức. Điều đó được thực hiện bằng cách sử dụng các luật suy diễn (rule of inference). Luật suy diễn giống như một thủ tục mà chúng ta sử dụng để sinh ra một công thức mới từ các công thức đã có. Một luật suy diễn gồm hai phần: một tập các điều kiện và một kết luận. Chúng ta sẽ biểu diễn các luật suy diễn dưới dạng “phân số ”, trong đó tử số là danh sách các điều kiện, còn mẫu số là kết luận của luật, tức là mẫu số là công thức mới được suy ra từ các công thức ở tử số.

Sau đây là một số luật suy diễn quan trọng trong logic mệnh đề. Trong các luật này α, αi, β, γ là các công thức:

Luật Modus Ponens

Từ một kéo theo và giả thiết của kéo theo, ta suy ra kết luận của nó.

Luật Modus Tollens

Từ một kéo theo và phủ định kết luận của nó, ta suy ra phủ định giả thiết của kéo theo.

Luật bắc cầu

Từ hai kéo theo, mà kết luận của kéo theo thứ nhất trùng với giả thiết của kéo theo thứ hai, ta suy ra kéo theo mới mà giả thiết của nó là giả thiết của kéo theo thứ nhất, còn kết luận của nó là kết luận của kéo theo thứ hai.

Luật loại bỏ hội

Từ một hội ta suy ra một nhân tử bất kỳ của hội.

Luật đưa vào hội

Từ một danh sách các công thức, ta suy ra hội của chúng.

Luật đưa vào tuyển

Từ một công thức, ta suy ra một tuyển mà một trong các hạng tử của tuyển là công thức đó.

Luật phân giải

Từ hai tuyển, một tuyển chứa một hạng tử đối lập với một hạng tử trong tuyển kia, ta suy ra tuyển của các hạng tử còn lại trong cả hai tuyển.

Một luật suy diễn được xem là tin cậy (sound) nếu bất kỳ một mô hình nào của giả thiết của luật cũng là mô hình của kết luận của luật. Chúng ta chỉ quan tâm đến các luật suy diễn tin cậy.

Bằng phương pháp bảng chân lý, ta có thể kiểm chứng được các luật suy diễn nêu trên đều là tin cậy. Bảng chân lý của luật phân giải được cho trong hình 3.3. Từ bảng này ta thấy rằng, trong bất kỳ một minh họa nào mà cả hai giả thiết α ∨ β, ˥ β ∨ γ đúng thì kết luận α ∨ γ cũng đúng. Do đó luật phân giải là luật suy điễn tin cậy.

Bảng chân lý chứng minh tính tin cậy của luật phân giải.

Ta có nhận xét rằng, luật phân giải là một luật suy diễn tổng quát, nó bao gồm luật Modus Ponens, luật Modus Tollens, luật bắc cầu như các trường hợp riêng. (Bạn đọc dễ dàng chứng minh được điều đó).

Tiên đề, định lý, chứng minh.

Giả sử chúng ta có một tập nào đó các công thức. Các luật suy diễn cho phép ta từ các công thức đã có suy ra công thức mới bằng một dãy áp dụng các luật suy diễn. Các công thức đã cho được gọi là các tiên đề. Các công thức được suy ra được gọi là các định lý. Dãy các luật được áp dụng để dẫn tới định lý được gọi là một chứng minh của định lý. Nếu các luật suy diễn là tin cậy, thì các định lý là hệ quả logic của các tiên đề.

Giả sử ta có các công thức sau:

Q ∧ S ⇒ G ∨ H (1)

P ⇒ Q (2)

R ⇒ S (3)

P (4)

R (5)

Giả sử ta cần chứng minh công thức G∨H. Từ công thức (2) và (4), ta suy ra Q (Luật Modus Ponens). Lại áp dụng luật Modus Ponens, từ (3) và (5) ta suy ra S. Từ Q, S ta suy ra Q∧S (luật đưa vào hội). Từ (1) và Q∧S ta suy ra G∨H. Công thức G∨H đã được chứng minh.

Trong các hệ tri thức, chẳng hạn các hệ chuyên gia, hệ lập trình logic,..., sử dụng các luật suy diễn người ta thiết kế lên các thủ tục suy diễn (còn được gọi là thủ tục chứng minh) để từ các tri thức trong cơ sở tri thức ta suy ra các tri thức mới đáp ứng nhu cầu của người sử dụng.

Một hệ hình thức (formal system) bao gồm một tập các tiên đề và một tập các luật suy diễn nào đó (trong ngôn ngữ biểu diễn tri thức nào đó).

Một tập luật suy diễn được xem là đầy đủ, nếu mọi hệ quả logic của một tập các tiên đề đều chứng minh được bằng cách chỉ sử dụng các luật của tập đó.

Phương pháp chứng minh bác bỏ

Phương pháp chứng minh bác bỏ (refutation proof hoặc proof by contradiction) là một phương pháp thường xuyên được sử dụng trong các chứng minh toán học. Tư tưởng của phương pháp này là như sau: Để chứng minh P đúng, ta giả sử P sai (thêm ˥ P vào các giả thiết) và dẫn tới một mâu thuẫn. Sau đây ta sẽ trình bầy cơ sở của phương pháp chứng minh này.

Giả sử chúng ta có một tập các công thức G ={G1,.....,Gm} ta cần chứng minh công thức H là hệ quả logic của G. Điều đó tương đương với chứng minh công thức G1^....^Gm ⇒ H là vững chắc. Thay cho chứng minh G1^... ^Gm ⇒H là vững chắc, ta chứng minh G1^....^Gm ^˥ H là không thỏa mãn được. Tức là ta chứng minh tập G’= (G1,... .,Gm,˥ H) là không thỏa được. G sẽ không thoả được nếu từ G‘ta suy ra hai mệnh đề đối lập nhau. Việc chứng minh công thức H là hệ quả logic của tập các tiêu đề G bằng cách chứng minh tính không thỏa được của tập các tiêu đề được thêm vào phủ định của công thức cần chứng minh, được gọi là chứng minh bác bỏ.

Để thuận tiện cho việc sử dụng luật phân giải, chúng ta sẽ cụ thể hoá luật phân giải trên các dạng câu đặc biệt quan trọng.

Luật phân giải trên các câu tuyển

trong đó Ai, Bj và C là các literal. Luật phân giải trên các câu Horn:

Giả sử Pi, Rj, Q và S là các literal. Khi đó ta có các luật sau:

Một trường hợp riêng hay được sử dụng của luật trên là:

Khi ta có thể áp dụng luật phân giải cho hai câu, thì hai câu này được gọi là hai câu phân giải được và kết quả nhận được khi áp dụng luật phân giải cho hai câu đó được gọi là phân giải thức của chúng. Phân giải thức của hai câu A và B được kí hiệu là res(A,B). Chẳng hạn, hai câu tuyển phân giải được nếu một câu chứa một literal đối lập với một literal trong câu kia. Phân giải thức của hai literal đối lập nhau (P và ˥ P) là câu rỗng, chúng ta sẽ ký hiệu câu rỗng là [], câu rỗng không thoả được.

Giả sử G là một tập các câu tuyển (bằng cách chuẩn hoá ta có thể đưa một tập các công thức về một tập các câu tuyển). Ta sẽ ký hiệu R(G) là tập câu bao gồm các câu thuộc G và tất cả các câu nhận được từ G bằng một dãy áp dụng luật phân giải.

Luật phân giải là luật đầy đủ để chứng minh một tập câu là không thỏa được. Điều này được suy từ định lý sau:

Định lý phân giải:

Một tập câu tuyển là không thỏa được nếu và chỉ nếu câu rỗng [9] ∈ R(G).

Định lý phân giải có nghĩa rằng, nếu từ các câu thuộc G, bằng cách áp dụng luật phân giải ta dẫn tới câu rỗng thì G là không thỏa được, còn nếu không thể sinh ra câu rỗng bằng luật phân giải thì G thỏa được. Lưu ý rằng, việc dẫn tới câu rỗng có nghĩa là ta đã dẫn tới hai literal đối lập nhau P và ˥ P (tức là dẫn tới mâu thuẫn).

Từ định lý phân giải, ta đưa ra thủ tục sau đây để xác định một tập câu tuyển G là thỏa được hay không. Thủ tục này được gọi là thủ tục phân giải.

Dễ thấy, nếu G là tập các câu hữu hạn thì các literal có mặt trong các câu của G là hữu hạn. Do đó, số các câu tuyển thành lập được từ các literal đó là hữu hạn. Vì vậy, chỉ có một số hữu hạn câu được sinh ra bằng luật phân giải. Thủ tục phân giải sẽ dừng lại sau một số hữu hạn bước.

Chỉ sử dụng luật phân giải ta không thể suy ra mọi công thức là hệ quả logic của một tập công thức đã cho. Tuy nhiên, sử dụng luật phân giải ta có thể chứng minh được một công thức bất kì có là hệ quả của một tập công thức đã cho hay không bằng phương pháp chứng minh bác bỏ. Vì vậy luật phân giải được xem là luật đầy đủ cho bác bỏ. Thủ tục chứng minh bác bỏ bằng luật phân giải xem [9, 17]

Giả giử G là tập hợp các câu tuyển sau

˥ A ∨ ˥ B ∨ P (1)

˥ C ∨ ˥ D ∨ P (2)

˥ E ∨ C (3)

A (4)

E (5)

D (6)

Giả sử ta cần chứng minh P. Thêm vào G câu sau:

˥ P (7)

áp dụng luật phân giải cho câu (2) và (7) ta được câu:

˥ C ∨ ˥ D (8)

Từ câu (6) và (8) ta nhận được câu:

˥ C (9)

Từ câu (3) và (9) ta nhận được câu:

˥ E (10)

Tới đây đã xuất hiện mâu thuẫn, vì câu (5) và (10) đối lập nhau. Từ câu (5) và (10) ta nhận được câu rỗng [9].

Vậy P là hệ quả logic của các câu (1) --(6).

Thông thường chúng ta có thể bảng chân lý để chứng minh tính đúng đắn của môt biểu thức. Nhưng phương pháp đó tỏ ra cồng kênhf và có tính “thủ công”. Thay vào đó, chúng ta có thể sử dụng hai thuật toán sau đây để chứng minh biêu thức là đúng hoặc sai

Thuật toán Havard (1970)

Bước 1: Phát biểu lại giả thiết (GT) và kết luận của bài toán dưới dạng chuẩn sau: GT1,GT2,…, GTn → KL1,KL2,…, KLm

Trong đó các GTi, KLj được xây dựng từ các biến mệnh đề và các phép nối ∧ ,∨,˥,

Bước 2: Bước bỏ phủ định (nếu cần). Khi cần bỏ các các phủ định: chuyển vế GTi sang vế kết luận KLj và ngược lại (giống như chuyển dấu âm trong đai số từ vế phai sang trái và ngược lại)

Bước 3: Thay dấu “∧” ở GTi và “∨” ở KLj bằng các dấu “,”

Bước 4: Nếu GTi còn dấu “∨” và KLj còn dấu “∧” thì tách chúng thành hai dòng con

Bước 5: Một dòng được chứng minh nêu tồn tại chung một mệnh đề ở cả hai vế

Bước 6: Bài toán được chứng minh khi và chi khi tất cả các dòng được chứng minh. Ngược lại thì bài toán không được chứng minh.

Thuật toán Robin son (1971)

Robíson đã cai tiến thuật toán Havard. Cách thức chứng minh như sau:

Bước 1: Phát biểu lại giả thiết (GT) và kết luận của bài toán dưới dạng chuẩn sau: GT1,GT2,…, GTn → KL1,KL2,…, KLm

Trong đó các GTi, KLj được xây dựng từ các biến mệnh đề và các phép nối ∧ ,∨,˥,

Bước 2: Thay dấu “∧” ở GTi và “∨” ở KLj bằng các dấu “,”

Bước 3: Chuyển vế KLj sang vế Gti với dấu phủ định để còn một vế, tức là : GT1,GT2,…, GTn , ˥, KL1,˥, KL2,…, ˥KLm

Bước 4: Xây dựng một mệnh đề mới bằng cách tuyển một cặp mệnh đề từ danh sách các mệnh đề. Nếu mệnh đề mới có các biến mệnh đề đối ngẫu thì mệnh đề đó được loại bỏ.

Bước 5: Bổ sung mệnh đề mới này vào danh sách và lặp lai bươc 4

Bước 6: Bài toán được chứng minh khi và chi khi chỉ còn hai mệnh đề đói ngẫu. Ngược lại thì bài toán không được chứng minh.

Thuật toán này thực chất là chứng minh bằng phản chứng

Biểu diễn tri thức bằng Logic vị từ

Logic mệnh đề cho phép ta biểu diễn các sự kiện. Mỗi kí hiệu trong logic mệnh đề được minh họa như là một sự kiện trong thế giới hiện thực, sử dụng các kết nối logic ta có thể tạo ra các câu phức hợp biểu diễn các sự kiện mang ý nghĩa phức tạp hơn. Như vậy, khả năng biểu diễn của logic mệnh đề chỉ giới hạn trong phạm vi thế giới các sự kiện.

Thế giới hiện thực bao gồm các đối tượng. Mỗi đối tượng có những tính chất riêng để phân biệt nó với các đối tượng khác. Các đối tượng lại có quan hệ với nhau. Các mối quan hệ rất đa dạng và phong phú. Chúng ta có thể liệt kê rất nhiều ví dụ về đối tượng, tính chất, quan hệ.

Đối tượng: một cái bàn, một cái nhà, một cái cây, một con người, một con số...

Tính chất: Cái bàn có thể có tính chất: có bốn chân, làm bằng gỗ, không có ngăn kéo. Con số có thể có tính chất là số nguyên, số hữu tỉ, là số chính phương...

Quan hệ: cha con, anh em, bè bạn (giữa con người); lớn hơn, nhỏ hơn, bằng nhau (giữa các con số); bên trong, bên ngoài nằm trên nằm dưới (giữa các đồ vật)...

Hàm: Một trường hợp riêng của quan hệ là quan hệ hàm. Chẳng hạn, vì mỗi người có một mẹ, do đó ta có quan hệ hàm ứng mỗi người với mẹ của nó.

Mục này dành cho nghiên cứu logic vị từ cấp một với tư cách là một ngôn ngữ biểu diễn tri thức. Logic vị từ cấp một đóng vai trò quan trọng trong biểu diễn tri thức vì khả năng biểu diễn của nó (nó cho phép ta biểu diễn tri thức về thế giới với các đối tượng, các thuộc tính của đối tượng và các quan hệ của đối tượng), hơn nữa, nó là cơ sở cho nhiều ngôn ngữ logic khác.

Cú pháp và ngữ nghĩa của logic vị từ cấp 1

Logic vị từ cấp một là mở rộng của logic mệnh đề. Nó cho phép ta mô tả thế giới với các đối tượng, các thuộc tính của đối tượng và các mối quan hệ giữa các đối tượng. Nó sử dụng các biến (biến đối tượng) để chỉ các đối tượng trong một miền đối tượng nào đó. Để mô tả các thuộc tính của đối tượng, các quan hệ giữa các đối tượng, trong logic vị từ, người ta đưa vào các vị từ (predicate). Ngoài các kết nối logic như trong logic mệnh đề, logic vị từ cấp một còn sử dụng các lượng tử. Chẳng hạn, lượng tử ∀ (với mọi) cho phép ta tạo ra các câu nói tới mọi đối tượng trong một miền đối tượng nào đó.

Cú pháp.

Các ký hiệu.

Logic vị từ cấp một sử dụng các loại ký hiệu sau đây. Các ký hiệu hằng: a, b, c, An, Ba, John,... Các ký hiệu biến: x, y, z, u, v, w,...

Các ký hiệu vị từ: P, Q, R, S, Like, Havecolor, Prime,...

Mỗi vị từ là vị từ của n biến (n≥0). Chẳng hạn Like là vị từ của hai biến, Prime là vị từ một biến. Các ký hiệu vị từ không biến là các ký hiệu mệnh đề.

Các ký hiệu hàm: f, g, cos, sin, mother, husband, distance,...

Mỗi hàm là hàm của n biến (n≥1). Chẳng hạn, cos, sin là hàm một biến, distance là hàm của ba biến.

Các ký hiệu kết nối logic: ∧ (hội), ∨ (tuyển), ˥ (phủ định), ⇒(kéo theo), ⇔ (kéo theo nhau). Các ký hiệu lượng tử: ∀ (với mọi), ∃ (tồn tại).

Các ký hiệu ngăn cách: dấu phẩy, dấu mở ngoặc và dấu đóng ngoặc.

Các hạng thức

Các hạng thức (term) là các biểu thức mô tả các đối tượng. Các hạng thức được xác định đệ quy như sau.

Các ký hiệu hằng và các ký hiệu biến là hạng thức.

Nếu t1, t2, t3,..., tn là n hạng thức và f là một ký hiệu hàm n biến thì f(t1, t2,..., tn) là hạng thức. Một hạng thức không chứa biến được gọi là một hạng thức cụ thể (ground term).

Chẳng hạn, An là ký hiệu hằng, mother là ký hiệu hàm một biến, thì mother(An) là một hạng thức cụ thể.

Các công thức phân tử

Chúng ta sẽ biểu diễn các tính chất của đối tượng, hoặc các quan hệ giữa các đối tượng bởi cáccông thức phân tử (câu đơn).

Các công thức phân tử (câu đơn) được xác định đệ quy như sau.

Các ký hiệu vị từ không biến (các ký hiệu mệnh đề) là công thức phân tử.

Nếu t1, t2,...,tn là n hạng thức và P là vị từ của n biến thì P(t1,t2,...,tn) là công thức phân tử.

Chẳng hạn, Hoa là một ký hiệu hằng, Love là một vị từ của hai biến, husband là hàm của một biến, thì Love(Hoa, husband(Hoa)) là một công thức phân tử.

Các công thức

Từ công thức phân tử, sử dụng các kết nối logic và các lượng tử, ta xây dựng nên các công thức (các câu).

Các công thức được xác định đệ quy như sau:

  • Các công thức phân tử là công thức.
  • Nếu G và H là các công thức, thì các biểu thức (G ∧ H), (G ∨ H), (˥ G), (G⇒H), (G⇔H) là công thức.
  • Nếu G là một công thức và x là biến thì các biểu thức (∀ x G), (∃ x G) là công thức.

Các công thức không phải là công thức phân tử sẽ được gọi là các câu phức hợp. Các công thức không chứa biến sẽ được gọi là công thức cụ thể. Khi viết các công thức ta sẽ bỏ đi các dấu ngoặc không cần thiết, chẳng hạn các dấu ngoặc ngoài cùng.

Lượng tử phổ dụng cho phép mô tả tính chất của cả một lớp các đối tượng, chứ không phải của một đối tượng, mà không cần phải liệt kê ra tất cả các đối tượng trong lớp. Chẳng hạn sử dụng vị từ Elephant(x) (đối tượng x là con voi) và vị từ Color(x, Gray) (đối tượng x có mầu xám) thì câu “tất cả các con voi đều có mầu xám”có thể biểu diễn bởi công thức ∀x (Elephant(x) ⇒ Color(x, Gray)).

Lượng tử tồn tại cho phép ta tạo ra các câu nói đến một đối tượng nào đó trong một lớp đối tượng mà nó có một tính chất hoặc thoả mãn một quan hệ nào đó. Chẳng hạn bằng cách sử dụng các câu đơn Student(x) (x là sinh viên) và Inside(x, P301), (x ở trong phòng 301), ta có thể biểu diễn câu “Có một sinh viên ở phòng 301”bởi biểu thức ∃x (Student(x) ∧ Inside(x,P301).

Một công thức là công thức phân tử hoặc phủ định của công thức phân tử được gọi là literal. Chẳng hạn, Play(x, Football), ˥ Like(Lan, Rose) là các literal.

Một công thức là tuyển của các literal sẽ được gọi là câu tuyển.

Chẳng hạn, Male(x) ∨ ˥ Like(x, Foodball) là câu tuyển.

Trong công thức ∀x G, hoặc ∃x G trong đó G là một công thức nào đó, thì mỗi xuất hiện của biến x trong công thức G được gọi là xuất hiện buộc. Một công thức mà tất cả các biến đều là xuất hiện buộc thì được gọi là công thức đóng.

Công thức ∀x P(x, f(a, x)) ∧ ∃y Q(y) là công thức đóng, còn công thức ∀x P(x, f(y, x)) không phải là công thức đóng, vì sự xuất hiện của biến y trong công thức này không chịu ràng buộc bởi một lượng tử nào cả (Sự xuất hiện của y gọi là sự xuất hiện tự do).

Sau này chúng ta chỉ quan tâm tới các công thức đóng.

Ngữ nghĩa.

Cũng như trong logic mệnh đề, nói đến ngữ nghĩa là chúng ta nói đến ý nghĩa của các công thức trong một thế giới hiện thực nào đó mà chúng ta sẽ gọi là một minh họa.

Để xác định một minh hoạ, trước hết ta cần xác định một miền đối tượng (nó bao gồm tất cả các đối tượng trong thế giới hiện thực mà ta quan tâm).

Trong một minh hoạ, các ký hiệu hằng sẽ được gắn với các đối tượng cụ thể trong miền đối tượng, các ký hiệu hàm sẽ được gắn với một hàm cụ thể nào đó. Khi đó, mỗi hạng thức cụ thể sẽ chỉ định một đối tượng cụ thể trong miền đối tượng. Chẳng hạn, nếu An là một ký hiệu hằng, Father là một ký hiệu hàm, nếu trong minh hoạ An ứng với một người cụ thể nào đó, còn Father(x) gắn với hàm: ứng với mỗi x là cha của nó, thì hạng thức Father(An) sẽ chỉ người cha của An.

Ngữ nghĩa của các câu đơn.

Trong một minh hoạ, các ký hiệu vị từ sẽ được gắn với một thuộc tính, hoặc một quan hệ cụ thể nào đó. Khi đó mỗi công thức phân tử (không chứa biến) sẽ chỉ định một sự kiện cụ thể. Đương nhiên sự kiện này có thể là đúng (True) hoặc sai (False).

Chẳng hạn, nếu trong minh hoạ, ký hiệu hằng Lan ứng với một cô gái cụ thể nào đó, còn Student(x) ứng với thuộc tính “x là sinh viên”thì câu Student (Lan) có giá trị chân lý là True hoặc False tuỳ thuộc trong thực tế Lan có phải là sinh viên hay không.

Ngữ nghĩa của các câu phức hợp.

Khi đã xác định được ngữ nghĩa của các câu đơn, ta có thể xác định được ngữ nghĩa của các câu phức hợp (được tạo thành từ các câu đơn bằng các liên kết các câu đơn bởi các kết nối logic) như trong logic mệnh đề.

Câu Student(Lan) ∧ Student(An) nhận giá trị True nếu cả hai câu Student(Lan) và Student(An) đều có giá trị True, tức là cả Lan và An đều là sinh viên.

Câu Like(Lan, Rose) ∨ Like(An, Tulip) là đúng nếu câu Like(Lan, Rose) là đúng hoặc câu Like(An, Tulip) là đúng.

Ngữ nghĩa của các câu chứa các lượng tử

Ngữ nghĩa của các câu ∀x G, trong đó G là một công thức nào đó, được xác định như là ngữ nghĩa của công thức là hội của tất cả các công thức nhận được từ công thức G bằng cách thay x bởi một đối tượng trong miền đối tượng.

Chẳng hạn, nếu miền đối tượng gồm ba người {Lan, An, Hoa} thì ngữ nghĩa của câu ∀x Student(x) được xác định là ngữ nghĩa của câu Student(Lan) ∧ Student(An) ∧ Student(Hoa). Câu này đúng khi và chỉ khi cả ba câu thành phần đều đúng, tức là cả Lan, An, Hoa đều là sinh viên.

Như vậy, công thức ∀x G là đúng nếu và chỉ nếu mọi công thức nhận được từ G bằng cách thay x bởi một đối tượng trong miền đối tượng đều đúng, tức là G đúng cho tất cả các đối tượng x trong miền đối tượng.

Ngữ nghĩa của công thức ∃x G được xác định như là ngữ nghĩa của công thức là tuyển của tất cả các công thức nhận được từ G bằng cách thay x bởi một đối tượng trong miền đối tượng. Chẳng hạn, nếu ngữ nghĩa của câu Younger(x,20) là “x trẻ hơn 20 tuổi “và miền đối tượng gồm ba người {Lan, An, Hoa} thì ngữ nghĩa của câu ∃x Yourger(x,20) là ngữ nghĩa của câu Yourger(Lan,20) ∨ Yourger(An,20) ∨ Yourger(Hoa,20). Câu này nhận giá trị True nếu và chỉ nếu ít nhất một trong ba người Lan, An, Hoa trẻ hơn 20 tuổi.

Như vậy công thức ∃x G là đúng nếu và chỉ nếu một trong các công thức nhận được từ G bằng cách thay x bằng một đối tượng trong miền đối tượng là đúng.

Bằng các phương pháp đã trình bày ở trên, ta có thể xác định được giá trị chân lý (True, False) của một công thức bất kỳ trong một minh hoạ. (Lưu ý rằng, ta chỉ quan tâm tới các công thức đóng).

Sau khi đã xác định khái niệm minh hoạ và giá trị chân lý của một công thức trong một minh hoạ, chúng ta có thể đưa ra các khái niệm công thức vững chắc (thoả được, không thoả được), mô hình của công thức giống như trong logic mệnh đề.

Các công thức tương đương

Cũng như trong logic mệnh đề, ta nói hai công thức G và H tương đương (viết là G ≡ H) nếu chúng cùng đúng hoặc cùng sai trong mọi minh hoạ. Ngoài các tương đương đã biết trong logic mệnh đề, trong logic vị từ cấp một còn có các tương đương khác liên quan tới các lượng tử. Giả sử G là một công thức, cách viết G(x) nói rằng công thức G có chứa các xuất hiện của biến x. Khi đó công thức G(y) là công thức nhận được từ G(x) bằng cách thay tất cả các xuất hiện của x bởi y. Ta nói G(y) là công thức nhận được từ G(x) bằngcách đặt tên lại (biến x được đổi tên lại là y).

Các công thức tương đương:

1.∀x G(x) ≡ ∀y G(y)

∃x G(x) ≡ ∃y G(y)

Đặt tên lại biến đi sau lượng tử tồn tại, nhận được công thức tương đương.

2.˥ (∀x G(x)) ≡ ∃x (˥ G(x))

˥ (∃x G(x)) ≡ ∀x (˥ G(x))

3. ∀x (G(x) ∧ H(x)) ≡ ∀x G(x) ∧ ∀x H(x) ∃x (G(x) ∨ H(x)) ≡ ∃x G(x) ∨ ∃x H(x)

∀x Love(x, Husband(x)) ≡ ∀y Love(y, Husband(y)).

Chuẩn hóa và công thức

Từ các câu phân tử, bằng cách sử dụng các kết nối logic và các lượng tử, ta có thể tạo ra các câu phức hợp có cấu trúc rất phức tạp. Để dễ dàng cho việc lưu trữ các câu trong bộ nhớ, và thuận lợi cho việc xây dựng các thủ tục suy diễn, chúng ta cần chuẩn hoá các câu bằng cách đưa chúng về dạng chuẩn tắc hội (hội của các câu tuyển).

Trong mục này chúng ta sẽ trình bày thủ tục chuyển một câu phức hợp thành một câu ở dạng chuẩn tắc hội tương đương.

Thủ tục chuẩn hoá các công thức gồm các bước sau:

• Loại bỏ các kéo theo

Để loại bỏ các kéo theo, ta chỉ cần thay công thức P ⇒ Q bởi công thức tương đương ˥ P ∨ Q thay P ⇔ Q bởi (˥ P ∨ Q) ∧(˥ P ∨ Q)

• Chuyển các phủ định tới các phân tử

Điều này được thực hiện bằng cách thay công thức ở vế trái bởi công thức ở vế phải trong các tương đương sau

˥ (˥ P) ≡ P

˥ (P ∧Q) ≡ ˥ P ∨ ˥ Q ˥ (P∨ Q) ≡ ˥ P ∧ ˥ Q ˥ (∀x P) ≡ ∃x (˥P) ˥ (∃x P) ≡ ∀x (˥P)

• Loại bỏ các lượng tử tồn tại

Giả sử P(x,y) là các vị từ có nghĩa: “y lớn hơn x” trong miền các số. Khi đó, công thức∀x (∃y (P(x,y)) có nghĩa là “với mọi số x, tồn tại y sao cho số y lớn hơn x”. Ta có thể xem y trong công thức đó là hàm của đối số x. Chẳng hạn, loại bỏ lượng tử ∃y, công thức đang xét trở thành ∀ x(P(x,f(x))).

Một cách tổng quát, giả sử ∃y (G) là một công thức con của công thức đang xét và nằm trong miền tác dụng của các lượng tử ∀x1,...,∀xn. Khi đó, có thể xem y là hàm của n biến x1,…,xn. của ví dụ f(x1...xn). Sau đó, thay các xuất hiện của y trong công thức G bởi hạng thức f(x1...xn) và loại bỏ các lượng tử tồn tại. Hàm f được đưa vào để loại bỏ các lượng tử tồn tại được gọi là hàm Skolem.

Xét công thức sau:

∀x (P(x,f(x)) ∨ ∀u (Q(a,g(x,u)) ∧ ˥ R(x,h(x,u)))) (2)

Công thức con ∃y P(x,y) nằm trong miền tác dụng của lượng tử ∀x, ta xem y là hàm của x: f(x).

Các công thức con ∃v (Q(a, v)) và ∃y˥ R(x,y) nằm trong miền tác dụng của các lượng tử ∀x, ∀u

Các công thức con ∃v (Q(a, v)) và ∃y˥ R(x,y) nằm trong miền tác dụng của các lượng tử ∀x, ∀u

∀x (P(x,f(x)) ∨ ∀u (Q(a,g(x,u)) ∧ ˥ R(x,h(x,u)))) (2)

ta xem v là hàm g(x,u) và y là hàm h(x,u) của hai biến x,u. Thay các xuất hiện của y và ∨ bởi các hàm tương ứng, sau đó loại bỏ các lượng tử tồn tại, từ công thức (1) ta nhận được công thức:

• Loại bỏ các lượng tử phổ dụng

Sau bước 3 trong công thức chỉ còn lại các lượng tử phổ dụng và mọi xuất hiện của các biến đều nằm trong miền tác dụng của các lượng tử phổ dụng. Ta có thể loại bỏ tất cả các lượng tử phổ dụng, công thức (2) trở thành công thức:

P(x,f(x)) ∨ (Q(a,g(x,u)) ∧˥ R(x,h(x,u))) (3)

Cần chú ý rằng, sau khi được thực hiện bước này tất cả các biến trong công thức được xem là chịu tác dụng của các lượng tử phổ dụng.

• Chuyển các tuyển tới các literal

Bước này được thực hiện bằng cách thay các công thức dạng: P∨(Q∧R) bởi (P∨Q)∧(P∨R) và thay (P∧Q)∨R bởi (P∨Q) ∧(P∨R). Sau bước này công thức trở thành hội của các câu tuyển nghĩa là ta nhận được các công thức ở dạng chuẩn tắc hội.

Chẳng hạn, câu (3) được chuyển thành công thức sau

(P(x,f(x)) ∨ (Q(a,g(x,u))) ∧ (P(x,f(x)) ∨ ˥ R(x,h(x,u))) (4)

• Loại bỏ các hội

Một câu hội là đúng nếu và chỉ nếu tất cả các thành phần của nó đều đúng. Do đó công thức ở dạng chuẩn tắc hội tương đương với tập các thành phần.

Chẳng hạn, câu (4) tương đương với tập hai câu tuyển sau P(f(x)) ∨ (Q(a,g(x,u))

P(f(x)) ∨ ˥ R(x,h(x,u)) (5)

• Đặt tên lại các biến

Đặt tên lại các biến sao cho các biến trong các câu khác nhau có tên khác nhau, chẳng hạn, hai câu (5) có hai biến cùng tên là x, ta cần đổi tên biến x trong câu hai thành z, khi đó các câu (5) tương đương với các câu sau

P(f(x)) ∨ (Q(a,g(x,u))

P(f(x)) ∨˥ R(x,h(x,u)) (5’)

Như vậy, khi tri thức là một tập hợp nào đó các công thức trong logic vị từ, bằng cách áp dụng thủ tục trên ta nhận được cơ sở tri thức chỉ gồm các câu tuyển (tức là luôn có thể xem mỗi câu trong cơ sở tri thức là tuyển của các literal). Tương tự như logic mệnh đề, mỗi câu tuyển có thể biểu diễn dưới dạng một kéo theo; vế trái của các kéo theo là hội của các câu phân tử; vế phải là tuyển của các câu phân tử. Dạng câu này được gọi là câu Kowalski. Một trường hợp quan trọng của câu Kowalski là câu Horn (luật if - then).

Các luật suy diễn

Trong các phần trươc chúng ta đã đưa ra các luật suy diễn quan trọng trong logic mệnh đề: luật Modus Ponens, luật Modus Tolens, luật bắc cầu,... luật phân giải. Chúng ta đã chỉ ra rằng, luật phân giải là luật đầy đủ cho bác bỏ. Điều đó có nghĩa là, bằng phương pháp chứng minh bác bỏ, chỉ sử dụng luật phân giải ta có thể chứng minh được một công thức có là hệ quả logic của một tập các công thức cho trước hay không. Kết quả quan trọng này sẽ được mở rộng sang lôgic vị từ.

Tất cả các luật suy diễn đã được đưa ra trong logic mệnh đề đều đúng trong logic vị từ cấp một. Bây giờ ta đưa ra một luật suy diễn quan trọng trong logic vị từ liên quan tới lượng tử phổ dụng

• Luật thay thế phổ dụng:

Giả sử G là một câu, câu ∀x G là đúng trong một minh hoạ nào đó nếu và chỉ nếu G đúng đối với tất cả các đối tượng nằm trong miền đối tượng của minh hoạ đó. Mỗi hạng thức t ứng với một đối tượng vì thế nếu câu ∀x G đúng thì khi thay tất cả các xuất hiện của biến x bởi hạng thức t ta nhận được câu đúng. Công thức nhận được từ công thức G bằng cách thay tất cả các xuất hiện của x bởi t được kí hiệu là G[x/t]. Luật thay thế phổ dụng (universal instatiation) phát biểu rằng, từ công thức ∀xG suy ra công thức G[x/t].

∀ xG G x / t size 12{ { { forall ital "xG"} over {G left [x/t right ]} } } {}

Chẳng hạn, từ câu ∀x Like(x, Football) (mọi người đều thích bóng đá), bằng cách thay x

0