Logic vị từ sử dụng ngôn ngữ hình thức cùng tên. Việc hiểu và dịch câu của ngôn ngữ tự nhiên sang ngôn ngữ logic vị từ dựa trên sự phân tích ngôn ngữ tự nhiên đã tiến hành ở phần trên.
1. Hệ ký tự
- p, q, r, s, p1, p2,… Các ký tự chỉ mệnh đề đơn;
- a, b, c, d, a1, a2, … Các ký tự chỉ hằng đối tượng;
- x, y, z, u, v, w, x1, x2, … Biến đối tượng;
- f, g, h, f1,f2, … Các ký tự chỉ hàm đối tượng;
- ¬, ∨, &, ⊃, ≡ Các liên từ (ph⊃p toán) logic;
- ∀, ∃ Các lượng từ;
- (, ), … Các dấu kỹ thuật.
Ngoài ra không còn ký tự nào khác.
2. Hạn từ (term)
Hạn từ trong ngôn ngữ logic vị từ có vai trò tương tự như danh từ hoặc cụm từ đóng vai trò danh từ trong ngôn ngữ tự nhiên, nó được định nghĩa đệ quy như sau:
- Các ký tự chỉ hằng và biến đối tượng là các hạn từ ;
- Nếu t1, t2, …, tk là các hạn từ, fk là hàm đối tượng k ngôi (hàm k biến, k đối), thì fk(t1, t2, …, tk) là hạn từ;
- Ngoài ra không còn hạn từ nào khác.
3. Công thức (WFF – Well Formed Formula)
Công thức trong ngôn ngữ logic vị từ có vai trò tương tự như câu (hay mệnh đề) trong ngôn ngữ tự nhiên, công thức cũng được định nghĩa đệ quy:
- Các ký tự chỉ mệnh đề đơn là công thức;
- Nếu Pk là vị từ k ngôi, t1, t2, …, tk là các hạn từ, thì
Pk(t1, t2, …, tk) là công thức (gọi là công thức nguyên tử – atom);
- Nếu A và B là các công thức thì
(A), (B), ¬ A, ¬ B, A ∨ B, A & B, A ⊃ B, A ≡ B là các công thức;
- Nếu A là công thức chứa biến đối tượng x (khi đó ta viết A(x)) thì
∀∀xA, ∃xA (hay viết ∀∀x A(x), ∃x A(x)) là các công thức;
- Ngoài ra không còn công thức nào khác.
4. Các ví dụ
Ví dụ hạn từ (term):
– Cho f là hàm một ngôi, x là biến đối tượng. Khi đó f(x) là hạn từ. Nếu a là hằng đối tượng thì f(a) cũng là hạn từ.
– Giả sử f là hàm một ngôi, g là hàm hai ngôi, t1 và t2 là hai hạn từ. Khi đó:
t1, t2 là hạn từ; g(t1, t2) là hạn từ; f(t1), f(t2) là hạn từ;
f(g(t1, t2)) là hạn từ;
g(f(t1), g(f(t2), x)) là hạn từ.
a, b là các hằng đối tượng, bởi vậy là hạn từ;
x là biến đối tượng, vậy x là hạn từ;
f(a, b) là hạn từ;
f(g(x), c) là hạn từ;
Các biểu thức sau đây không phải là hạn từ:
f(a, f(b)); a + x; P(f(x));
f(P(a));
∀∀xP(x); …
Ví dụ công thức p & (q ∨ r);
∃x Q(x) ⊃ P(a)
p & ∀∀ x R(x);
∀∀ x ∃y (P(x) ⊃ Q(y))
∀∀ x (p & R(x));
∃x P2(x, a) & ∀∀ x Q(x).
Các biểu thức sau đây không phải là công thức:
P & Q;
P(P(a));
P(P(x, a));
f(P(a));
R ∨ Q(a, b, x);
Q(a, b, c) ⊃ f(a, b, c);
Ngôn ngữ logic vị từ mà ta vừa xác định, như đã thấy, rất đơn giản, nhưng khả năng biểu đạt của nó, tuy không thể sánh được với ngôn ngữ tự nhiên, vẫn rất lớn. Nếu như không tồn tại một tiêu chuẩn c∨ pháp hình thức nào để xác định một biểu thức trong ngôn ngữ tự nhiên có phải là một câu hay không, thì trong ngôn ngữ logic vị từ ta thấy rõ có thể xác định một cách dễ dàng một biểu thức ngôn ngữ nào đó có phải là công thức hay không. Cũng tương tự như vậy với danh từ hoặc cụm từ đóng vai trò danh từ trong ngôn ngữ tự nhiên và hạn từ trong ngôn ngữ logic vị từ. Chính vì vậy, việc sử dụng ngôn ngữ logic vị từ thay cho ngôn ngữ tự nhiên trong nhiều trường hợp (đặc biệt là trong các hệ thống hình thức, hệ thống máy móc) thuận tiện hơn rất nhiều.
5. Biểu thị tư tưởng bằng ngôn ngữ logic vị từ
Các phán đoán và suy luận thông thường bây giờ có thể được viết dưới dạng các công thức trong ngôn ngữ logic vị từ. Việc này có ý nghĩa rất lớn, vì nó gi∨p xác định rõ ràng, chính xác ý nghĩa của các phán đoán và suy luận, tránh được sự hiểu lầm, mập mờ hoặc nhiều nghĩa của câu. Hơn thế nữa, khi đã biểu thị tư tưởng, suy luận, v.v., ta có thể sử dụng logic vị từ để kiểm tra được tính đ∨ng đắn của các suy luận.
Muốn vậy, trước hết phải “dịch” các suy luận từ ngôn ngữ thông thường sang ngôn ngữ logic vị từ. Cấu trúc các câu trong ngôn ngữ tự nhiên vô cùng phong phú, vì vậy không có các quy tắc chung bao quát được tất cả các trường hợp cần dịch. Sau đây chúng tôi nêu một số quy tắc hướng dẫn dịch một số dạng câu. Lưu ý rằng các hướng dẫn này chưa bao quát hết mọi trường hợp cần dịch, và ngay cả các dạng câu được đề cập cũng không loại trừ các trường hợp ngoại lệ.
Phương pháp dịch câu (mệnh đề) từ ngôn ngữ tự nhiên sang ngôn ngữ logic vị từ
Với mệnh đề đơn cần thực hiện các bước sau:
Phân tích câu để xác định vị từ và các hạn từ tương ứng với nó. Nếu một hạn từ được cấu thành từ một hàm đối tượng và một số hạn từ khác thì nó được biểu diễn bằng cách viết hàm đối tượng trước, sau đó liệt kê vào trong cặp ngoặc đơn mở đóng các hạn từ tương ứng, nếu số này nhiều thì dùng dấu phẩy để ngăn cách ch∨ng.
Viết vị từ, liệt kê các hạn từ tương ứng vào trong cặp ngoặc đơn để ngay sau vị từ. Nếu có nhiều hạn từ thì dùng dấu phẩy để phân cách ch∨ng. Ta sẽ gọi cách biểu thị câu như thế này là cách viết vị từ, hay dạng vị từ của câu.
Thay thế vị từ và các hạn từ trong cách viết vị từ bằng các ký hiệu tương ứng quy định trong phần hệ ký tự của ngôn ngữ logic vị từ.
Ví dụ: Cho mệnh đề “Mẹ Mai là bác sĩ”. Trước hết, cần phân tích câu để xác định các thành phần ngữ nghĩa của nó. Rõ ràng câu này là câu đơn. Ở đây “Mẹ” là hàm đối tượng, “Mai” là hằng đối tượng, nên “Mẹ(Mai)” là hạn từ ; “là bác sĩ” là vị từ (tính chất “là bác sĩ” và tính chất “bác sĩ” như nhau, nên về sau ta sẽ lược bỏ “là”, ta cũng lược bỏ như vậy với các vị từ khác). Vị từ “bác sĩ” tương ứng với hạn từ “Mẹ(Mai)”. Vậy mệnh đề ban đầu được viết ở dạng vị từ thành “bác sĩ (Mẹ(Mai))”. Thay vị từ “bác sĩ”, hàm đối tượng “Mẹ” và hằng đối tượng “Mai” bằng các ký hiệu được phép như quy định trong hệ ký tự của ngôn ngữ logic vị từ. Kết quả ta được công thức tương đương mệnh đề đã cho: P(f(a)).
Với mệnh đề được tạo thành từ hai hoặc nhiều mệnh đề đơn, ta thực hiện các bước:
Xác định các mệnh đề đơn thành phần;
Dịch riêng từng mệnh đề đơn thành phần. Lưu ý, các vị từ, hằng, hàm đối tượng xuất hiện trong nhiều mệnh đề đơn thành phần phải được thay thế bằng các ký tự giống nhau của ngôn ngữ logic vị từ;
Dùng các dấu liên từ logic thay cho các cụm từ tương ứng để nối các mệnh đề đơn thành phần với nhau.
Ví dụ: Cho mệnh đề “Hằng là sinh viên và Hằng với Mai là chị em”.
Ở đây có hai mệnh đề đơn thành phần “Hằng là sinh viên”, “Hằng với Mai là chị em”. Dịch riêng chúng ta được các công thức P(a), Q(a, b). Nối chúng với nhau bằng dấu &, là dấu tương ứng với liên từ “và”, ta được công thức biểu diễn mệnh đề đã cho ban đầu: P(a) & Q(a,b).
Với mệnh đề phổ quát đơn giản:
Chuyển câu về dạng “Mọi S là P” hoặc “Mọi S không là P”.
Mọi S là P dịch thành ∀ x(S(x) ⊃ P(x))
Mọi S không là P dịch thành ∀ x(S(x) ⊃ ¬P(x))
Ví dụ: Mệnh đề “Mọi sinh viên đều học logic” tương đương với mệnh đề “Mọi sinh viên đều là người học logic”. Mệnh đề này có dạng “Mọi S là P”, trong đó S = “Sinh viên”, P = “người học logic”. Vậy nó được dịch sang ngôn ngữ logic vị từ thành công thức
∀x(S(x) ⊃ P(x)).
Với mệnh đề bộ phận đơn giản:
Chuyển câu về dạng “Một số S là P” hoặc “Một số S không là P”. Một số S là P dịch thành ∃x(S(x) & P(x))
Một số S không là P dịch thành ∃x(S(x) & ¬P(x))
Ví dụ. Câu “Một số loài chim di cư về Phương Nam” tương đương với câu “Một số loài chim là loài di cư về Phương Nam”. Nó có dạng “Một số S là P”, với S = “loài chim”, P = “loài di cư về Phương Nam”. Vậy công thức tương ứng là ∃x(S(x) & P(x)).
Sau đây ta xét thêm một số ví dụ:
Ví dụ 1. Thỏ là một loài gặm nhấm.
“Thỏ” – hằng đối tượng, ta ký hiệu là a; “là một loài gặm nhấm” –
vị từ một ngôi, ta ký hiệu là P. Kết quả: P(a).
Ví dụ 2. Hằng cao hơn Mai.
“Hằng” và “Mai” – các hằng đối tượng, ta ký hiệu tương ứng là a
và b; “cao hơn” – vị từ hai ngôi, ta ký hiệu là P. Kết quả: P(a,b).
Ví dụ 3. Hằng cao bằng chị của Mai.
“Hằng” và “Mai” – các hằng đối tượng, ta ký hiệu tương ứng là a và b; “chị” – hàm đối tượng, ta ký hiệu là f ; “cao bằng” – vị từ hai ngôi, ta ký hiệu là P. Kết quả: P(a, f(b)).
Nếu trong câu này ta lấy các hằng đối tượng “Hằng” và “chị của Mai”, ký hiệu ch∨ng là a và c, thì kết quả là: P(a,c).
Ví dụ 4. Mọi sinh viên đều học môn logic.
“Mọi” – lượng từ, ký hiệu ∀ ; “sinh viên” – biến đối tượng, ký hiệu x; “sinh viên” – vị từ một ngôi, ký hiệu P; “học môn logic”- vị từ, ký hiệu Q. Kết quả: ∀x (P(x) ⊃ Q(x)).
Ví dụ 5. Một số sinh viên học ngành tin học.
“Một số” – lượng từ, ta ký hiệu ∃ ; “sinh viên” – biến đối tượng, ta ký hiệu x; “sinh viên” – vị từ một ngôi, ký hiệu P; “học ngành tin học” – vị từ, ký hiệu Q. Kết quả: ∃x (P(x) & Q(x)).
Ví dụ 6. Mọi sinh viên học giỏi toán đều học giỏi logic.
“Mọi” – lượng từ, ký hiệu ∀ ; “sinh viên học giỏi toán” – biến đối tượng, ký hiệu x; “sinh viên” – vị từ một ngôi, ký hiệu P; “học giỏi toán” – vị từ, ký hiệu Q; “học giỏi logic” – vị từ, ký hiệu R. Kết quả: ∀x ((P(x) & Q(x)) ⊃ R(x)).
Ví dụ 7. Mọi người đều có người để yêu mến.
“Mọi” – lượng từ, ký hiệu ∀ ; “người” – biến đối tượng, ký hiệu x; “người” – vị từ một ngôi, ký hiệu P; “có” – lượng từ ∃ , “người” – biến đối tượng, ký hiệu y ;“yêu mến” – vị từ hai ngôi, ký hiệu Q. Kết quả: ∀x (P(x) ⊃ ∃y (P(y) & Q(x,y)))
Nếu chỉ đề cập đến những con người, và vì vậy không sợ nhầm lẫn, thì các thành phần P(x), P(y) trong công thức này không cần thiết. Khi đó có thể viết đơn giản:∀x ∃y Q(x,y).
Ví dụ 8. Có người mà mọi người đều yêu mến.
Phân tích tương tự câu trên, kết quả:
∃y (P(y) &∀x (P (x) ⊃ Q(x,y)))
Nếu không sợ nhầm lẫn vì đang chỉ đề cập đến con người thì ta có thể viết câu này đơn giản: ∃y ∀x Q(x,y).
Ví dụ 9. Nếu Nam là sinh viên tin học thì Nam học môn logic.
Nam là sinh viên tin học: P(a); Nam học môn logic: Q(a);
Liên từ “nếu … thì …”: ⊃
Kết quả: P(a) ⊃ Q(a).
Ví dụ 10. Một số sinh viên được học bổng, một số sinh viên không được.
Một số sinh viên được học bổng: ∃ x (P(x) & Q(x)); Một số sinh viên không được học bổng: ∃ y (P(y) & ¬ Q(y)); Dấu phẩy: &
Kết quả: ∃ x (P(x) & Q(x)) &∃ y (P(y) & ¬ Q(y));
Nếu chỉ sử dụng cách viết của ngôn ngữ logic vị từ mà không thay thế các hằng, hàm đối tượng, các vị từ bằng ký hiệu, vẫn giữ nguyên ch∨ng ở dạng ngôn ngữ tự nhiên thì ta có ngôn ngữ logic vị từ ứng dụng.
Trong tin học ngôn ngữ logic vị từ được sử dụng rất rộng rãi. Nó được sử dụng để biểu thị tri thức trong các hệ chuyên gia hoặc trí tuệ nhân tạo, dạng tương tự với nó được dùng làm ngôn ngữ hỏi trong các hệ quản trị cơ sở dữ liệu, người ta cũng dùng một phần đặc biệt của ngôn ngữ này làm ngôn ngữ lập trình thuận tiện cho lĩnh vực trí tuệ nhân tạo (ngôn ngữ Prolog), …
Ví dụ: Chuyển sang ngôn ngữ của logic vị từ ứng dụng mệnh đề sau :
Mọi loài chim đều biết bay.
Trong câu này “Mọi” là lượng từ. “loài chim” vừa là biến đối tượng (ký hiệu x), vừa là vị từ tương ứng với x. “biết bay” là vị từ tương ứng với x.
Vậy công thức tương ứng trong ngôn ngữ logic vị từ ứng dụng sẽ là:
∀x(loàichim(x) ⊃ biết bay(x))
Công thức ở ví dụ 10 trên đây có thể viết thành:
∃x(sinhviên(x) & đượchọcbổng(x))& &∃y(sinhviên(y) & ¬ đượchọcbổng(y));
Viết dưới dạng này công thức trở nên dễ hiểu hơn. Công thức này có thể đọc là: “với mọi x, nếu x là chim thì x biết bay”.
Biến tự do và biến buộc
Trong biểu thức ∀x A(x), A(x) gọi là vùng tác động của lượng từ ∀x. Nếu biến x xuất hiện trong một vùng tác động của lượng từ ∀x (trong một công thức lượng từ ∀x có thể xuất hiện nhiều lần, và vì thế có thể có nhiều vùng tác động khác nhau của ∀x trong một công thức) thì lần xuất hiện đó của x được gọi là xuất hiện không tự do (còn gọi là buộc). Ngược lại thì gọi là xuất hiện tự do. Một biến có thể xuất hiện tự do trong công thức, có thể xuất hiện không tự do trong công thức, và có thể vừa xuất hiện tự do, vừa xuất hiện không tự do trong cùng một công thức.
Với lượng từ ∃x (tồn tại) cũng hoàn toàn tương tự. Chính xác hơn, nếu ở những điều vừa nói trên đây về sự xuất hiện tự do và buộc của biến trong công thức mà ta thay lượng từ ∀x (với mọi x) bằng lượng từ ∃x (tồn tại), thì những điều đó vẫn đúng.
Ví dụ về sự xuất hiện tự do và xuất hiện buộc của biến. Trong công thức ∀x(R(x) ⊃ R(y)) & R(a) xuất hiện của biến x là buộc, còn biến y xuất hiện tự do.
Trong công thức ∀x (R(x, y) ⊃ ∃y (Q(y, x)))
cả hai lần xuất hiện của x đều là xuất hiện buộc, biến y vừa xuất hiện tự do (lần đầu), vừa xuất hiện buộc (lần sau), vì lần xuất hiện đầu của biến y nằm ngoài miền tác động của các lượng từ ∀y và ∃y, còn lần xuất hiện thứ hai, vì nằm trong vùng tác động của lượng từ ∃y nên là xuất hiện buộc.
Biến x tự do trong công thức nếu nó có xuất hiện tự do trong công thức. Nếu x có xuất hiện buộc trong công thức thì x là biến buộc trong công thức đó. Trong cùng một công thức, biến có thể vừa là tự do, vừa là buộc.
Giả sử x1, x2, …, xk là các biến, A – là công thức. Không quan tâm đến việc trong công thức A các biến đó tự do hay là biến buộc và ngoài ra có còn các biến tự do khác hay không, ta ký hiệu công thức A bằng A(x1, x2, …, xk) để sau đó có thể ký hiệu kết quả phép thế các hạn từ t1, t2, …, tk tương ứng vào các chỗ xuất hiện tự do (nếu có) của các biến x1, x2, …, xk là A(t1, t2, …, tk).
Một mệnh đề khi dịch sang ngôn ngữ logic vị từ bao giờ cũng là công thức không chứa biến tự do.