You are on page 1of 28

1

Chương 1
Các khái niệm cơ sở
HỌC PHẦN: LẬP TRÌNH LOGIC
Giảng viên: TS. Trương Công Tuấn
2
Giới thiệu
1.1 Mở đầu
Trong thế giới thực, để mô tả trạng thái của một vấn đề nào đó, ta thường
dùng các câu mang tính khai báo, chẳng hạn:
(i) “Mọi người mẹ đều thương yêu con của họ”
(ii) “Mai là một người mẹ và Hoa là con của Mai”
Bằng cách áp dụng các quy tắc tổng quát để diễn tả các câu khai báo như
vậy, ta có thể rút ra được các kết luận mới. Ví dụ, khi biết (i) và (ii), có thể kết
luận:
(iii) “Mai thương yêu Hoa”
Để ý rằng các câu khai báo (i) và (ii) mô tả vũ trụ bao gồm các con người và
các quan hệ xác định giữa những người trong vũ trụ đó, chẳng hạn “...là một
người mẹ...”, “...là con của...”, “...thương yêu...” và các mối quan hệ này có thể
đúng hoặc không.
Chương này trình bày các khái niệm cơ sở của chương trình logic. Khái niệm
đầu tiên là bộ ký tự và các công thức logic nhằm cung cấp ký pháp hình thức để
viết các câu như (i) và (ii). Trong một bộ ký tự, các ký hiệu hằng để chỉ các thực
thể nào đó; các ký hiệu để chỉ mối quan hệ giữa các thực thể được gọi là ký hiệu
vị từ (predicate). Mỗi ký hiệu vị từ gắn liền với một số tự nhiên, gọi là ngôi
(arity). Các ký hiệu hàm (function) biểu diễn các hàm trên các miền của đối
tượng. Mỗi ký hiệu hàm cũng gắn liền với một số tự nhiên m, m sẽ xác định số
các tham số của hàm và cũng được gọi là ngôi.
4
Công thức logic
Định nghĩa 1.1 (Bộ ký tự) Bộ ký tự bao gồm các lớp những ký hiệu sau
đây:
1. Hằng, thường ký hiệu bởi các chữ cái thường, ví dụ a, b, c,...
2. Biến, thường ký hiệu bởi các chữ cái in hoa, ví dụ X, Y, Z,...,
3. Ký hiệu hàm, thường ký hiệu bởi các chữ cái thường, ví dụ f, g, h,...,
4. Ký hiệu vị từ, thường ký hiệu bởi các chữ cái thường, ví dụ p, q, r,...,
5. Hằng vị từ: true, false.
6. Ký hiệu kết nối: ÷(phủ định), . (hội), v (tuyển), ÷ (suy ra), ÷ (nếu
và chỉ nếu).
7. Ký hiệu lượng từ: ¬ (với mọi), - (tồn tại).
8. Dấu ngoặc đơn trái (, dấu ngoặc đơn phải ), dấu phẩy ,.
5
Trong ngôn ngữ tự nhiên, đối tượng được biểu diễn bởi
danh từ. Trong ngôn ngữ của logic vị từ, các đối tượng được
biểu diễn bởi các chuỗi, được gọi là hạng thức và được định
nghĩa như sau:
Định nghĩa 1.2 (Hạng thức) Cho A là bộ ký tự. Hạng thức (term)
được định nghĩa đệ qui như sau:
1. Mỗi hằng trong A là một hạng thức,
2. Mỗi biến trong A là một hạng thức,
3. Nếu f là ký hiệu hàm n ngôi trong A và t
1
,…,t
n
là các hạng thức thì
f(t
1
,...,t
n
) là một hạng thức,
4. Hạng thức chỉ được sinh ra bởi các quy tắc trên.
Công thức logic
6
Công thức logic
Định nghĩa 1.3 (Công thức logic) Gọi T là tập các hạng thức trên bộ ký tự A.
Công thức logic được định nghĩa đệ qui như sau:
(i) Nếu p là ký hiệu vị từ n-ngôi trong A và t
1
,...,t
n
e T thì p(t
1
,...,t
n
) được gọi là
một công thức (còn được gọi là công thức nguyên tố hoặc đơn giản, gọi là
nguyên tố).
(ii) Các hằng vị từ true và false là các công thức,
(iii) Nếu E và F là các công thức thì: ÷(E), (E . F), (E v F), (E ÷ F), (E ÷ F)
là các công thức,
(iv) Nếu E là công thức, X là biến trong A thì ¬X (E), -X (E) là các công thức,
(v) Công thức chỉ được sinh ra bởi một số hữu hạn các quy tắc trên.
Chú ý: Một nguyên tố hoặc phủ định của một nguyên tố được gọi là một literal.
Ta gọi nguyên tố là literal dương và phủ định của một nguyên tố là literal âm.
7
Ví dụ
¬X (¬Y ((loves(X,Y) ÷ mother(X) . child_of(Y,X)))
mother(mai) . child_of(hoa,mai)
loves(mai,hoa)
8
Công thức logic
Định nghĩa 1.4
1. Phạm vi của ¬X (tương ứng -X) trong ¬X (E) (tương ứng -X (E)) là E.
2. Trong một công thức biến ràng buộc là biến nằm ngay sau các ký hiệu
lượng từ hoặc xuất hiện bên trong phạm vi của lượng từ và có cùng tên
với biến sau ký hiệu lượng từ; ngược lại biến được gọi là biến tự do.
3. Công thức đóng là công thức không chứa biến tự do.
Ví dụ 1.2 Công thức ¬Y -X (p(X,Y) . q(X)) là công thức đóng, trong lúc đó
-X (p(X,Y) . q(X)) không phải là công thức đóng, vì Y là biến tự do.
9
Định nghĩa 1.5 (Ngôn ngữ bậc nhất) Một
ngôn ngữ bậc nhất bao gồm một bộ ký tự và
những công thức được xây dựng trên bộ ký tự
đó.
Ngôn ngữ bậc nhất
10
Ngữ nghĩa của công thức
Định nghĩa 1.6 (Thể hiện) Một thể hiện I của ngôn ngữ bậc nhất L bao gồm:
1. Một tập D khác rỗng, được gọi là miền của thể hiện I.
2. Mỗi hằng c trong L được gán bởi một phần tử c
I
của D.
3. Mỗi ký hiệu hàm f n-ngôi trong L được gán với một ánh xạ f
I
từ D
n
vào
D.
4. Mỗi ký hiệu vị từ p n-ngôi trong L được gán với một ánh xạ p
I
từ D
n

vào
tập {true, false}.
Gọi L là ngôn ngữ bậc nhất được xây dựng từ hằng a, ký hiệu hàm s và các ký
hiệu vị từ p, q từ các công thức ở trên. Xét một thể hiện I của ngôn ngữ bậc nhất
L như sau:
- Miền D là tập số tự nhiên N,
- Hằng a được gán bởi số 0 của D,
- Ký hiệu hàm một ngôi s được gán bởi hàm:
s
I
: D ÷ D như sau ¬n e D, s
I
(n) = succ(n)
- Vị từ một ngôi p được gán bởi ánh xạ:
p
I
: D ÷ {true, false} như sau ¬n e D, p
I
(n) = true
- Vị từ ba ngôi q được gán bởi ánh xạ:
q
I
: D
3
÷ {true, false} như sau:
¬x,y,z e D , q
I
(x,y,z) = true nếu z = x+y và q
I
(x,y,z) = false nếu z = x + y
Ví dụ: Xét các công thức sau:
p(s(X)) ÷ p(X)
q(X,a,X) ÷ p(X)
q(X,s(Y),s(Z)) ÷ q(X,Y,Z)
12
Định nghĩa 1.7 (Phép gán biến, phép gán hạng thức)
1. Cho I là một thể hiện của ngôn ngữ bậc nhất L có miền D. Một phép gán
biến trong I là phép gán mỗi biến trong L với một phần tử trong miền D.
2. Cho I là một thể hiện của ngôn ngữ bậc nhất L có miền D và V là một
phép gán biến. Phép gán hạng thức (theo I và V) của các hạng thức trong
L được định nghĩa như sau:
- Mỗi biến được gán theo V,
- Mỗi hằng được gán theo I,
- Nếu
' '
1
,...,
n
t t

là các phép gán hạng thức tương ứng của t
1
,...,t
n
và f’ là
phép gán của ký hiệu hàm f n-ngôi, thì f’(
' '
1
,...,
n
t t ) e D là phép gán
hạng thức của f(t
1
,..., t
n
).
Ngữ nghĩa của công thức
13
Ngữ nghĩa của công thức
Định nghĩa 1.8 (Ngữ nghĩa của công thức) Cho I là một thể hiện của ngôn ngữ
bậc nhất L có miền D và V là một phép gán biến. Lúc đó một công thức trong L
sẽ có một giá trị chân lý là true hoặc false như sau:
1. Nếu công thức là một nguyên tố p(t
1
,...,t
n
) thì giá trị chân lý của p nhận
được từ giá trị của p’(
' '
1
,...,
n
t t ), trong đó p’ là ánh xạ được gán đối với
nguyên tố p bởi thể hiện I và
' '
1
,...,
n
t t là các phép gán hạng thức của t
1
,..., t
n

theo I và V.
2. Nếu công thức có dạng -X (F), thì giá trị chân lý của công thức là true
nếu tồn tại d e D sao cho F có giá trị đúng theo I và V(X/d), trong đó
V(X/d) chính là V ngoại trừ X được gán bởi d; ngược lại giá trị chân lý của
công thức là false.
14
Ngữ nghĩa của công thức
3. Nếu công thức có dạng ¬X (F), thì giá trị chân lý của công thức là true
nếu với mọi deD thì F có giá trị đúng theo I và V(X/d), ngược lại giá trị
chân lý của công thức là false.
4. Nếu công thức có dạng ÷E, E . F, E v F, F ÷ E, E ÷ F thì giá trị chân
lý của công thức được cho bởi bảng sau đây:
E F ÷E E . F E v F F ÷ E E ÷ F
true true false true true true true
true false false false true false false
false true true false true true false
false false true false false true true

15
Mô hình và hệ quả logic
Định nghĩa 1.9 Cho I là một thể hiện của ngôn ngữ bậc nhất L và
F là công thức đóng trong L.
(i) F là thỏa mãn được trong I nếu - (F) là đúng theo I.
(ii) F là đúng trong I nếu ¬ (F) là đúng theo I.
(iii) F không thể thỏa mãn được trong I nếu - (F) là sai theo I.
(iv) F không đúng trong I nếu ¬ (F) là sai theo I.
16
Mô hình và hệ quả logic
Định nghĩa này có thể mở rộng đối với tập các công thức bằng cách xem xét tập
công thức như là phép biểu diễn của một phép hội. Chẳng hạn, tập {F
1
,…,F
n
} là
thỏa mãn được trong I nếu - (F
1
.…. F
n
) là đúng theo I.
Định nghĩa 1.10 (Mô hình của công thức đóng) Cho I là một thể hiện của
ngôn ngữ bậc nhất L và F là một công thức đóng của L. Lúc đó I là mô hình của
F nếu F đúng trong I.
17
Ví dụ:
Ví dụ: Xem công thức F = ¬X -Y (p(X,Y)) và phép thể hiện I như sau:
- Miền D là tập số nguyên không âm,
- Vị từ hai ngôi p được gán bởi ánh xạ:
p
I
: D
2
÷ {true, false} như sau:
¬(x,y) e D
2
, p
I
(x,y) = true nếu x < y.
Lúc đó I là mô hình của công thức F. Trong I công thức F biểu diễn mệnh đề
đúng: “ Mọi số nguyên không âm đều tồn tại số nguyên không âm lớn hơn
nó ”. Mặt khác, I không phải là mô hình của công thức -X ¬Y (p(X,Y)).
Khái niệm về mô hình của một công thức đóng có thể mở rộng đối với một
tập công thức đóng.
18
Mô hình của tập công thức đóng
Định nghĩa 1.11 (Mô hình của tập công thức đóng) Cho I là thể hiện của ngôn
ngữ bậc nhất L và S là một tập các công thức đóng của L. I được gọi là mô hình
của S nếu I là mô hình của mỗi công thức trong S.
Chú ý: Nếu S = {F
1
,…,F
n
} là một tập hữu hạn các công thức đóng thì I là mô
hình của S nếu và chỉ nếu I là mô hình của F
1
. ... . F
n
.
19
Mô hình của tập công thức đóng
Ví dụ : Xét các công thức đóng:
r(a) ÷ true
p(X) ÷ r(X)
q(X) ÷ p(X)
Gọi L là ngôn ngữ bậc nhất được xây dựng từ hằng a, biến X, các ký hiệu
vị từ một ngôi r, p, q trong các công thức trên.
20
Mô hình của tập công thức đóng
- Xét phép thể hiện I của L:
- Miền D = {a},
- Hằng a được gán với a e D,
- p(a) = true, r(a) = true, q(a) = true.
Vậy ta có I là mô hình của P.
- Xét phép thể hiện J của L:
- D = {a},
- Hằng a được gán với aeD,
- p(a) = false, r(a) = true, q(a) = true.
Ta có J không phải là mô hình của P.
21
Chú ý:
Rõ ràng một tập công thức đóng S có thể có vô số thể hiện nhưng không có
thể hiện nào là mô hình của S, chẳng hạn S = { F . ÷F}, với F là công thức
đóng tùy ý. Những tập công thức đóng như vậy được gọi là không thỏa mãn
được. Khi ta dùng các công thức để biểu diễn “thế giới” thì cần thiết phải đảm
bảo rằng những công thức này là thỏa mãn được, nghĩa là có ít nhất một mô
hình, và đặc biệt thế giới được mô tả là một mô hình của S.
22
Định nghĩa 1.12 Cho S là một tập các công thức đóng của ngôn ngữ bậc nhất L.
(i) S là thỏa mãn được nếu S có ít nhất một mô hình.
(ii) S là đúng đắn nếu mọi thể hiện của L đều là mô hình của S.
(iii) S không thỏa mãn được nếu không có thể hiện nào của L là mô hình của S.
(iv) S không đúng đắn nếu L có một thể hiện mà không phải mô hình của S.
Công thức thỏa mãn được
23
Hệ quả logic
Định nghĩa 1.13 (Hệ quả logic) Cho S là một tập các công thức đóng của ngôn
ngữ bậc nhất L. Công thức đóng F là hệ quả logic của S nếu F đúng trong mọi
mô hình của S, ký hiệu S F.
Chú ý rằng, nếu S = {F
1
,…,F
n
} là một tập hữu hạn các công thức đóng thì
F là hệ quả logic của S nếu và chỉ nếu F
1
. ... . F
n
÷ F là đúng.
24
Ví dụ:
Ví dụ: Cho S = { p(a), q(X) ÷ p(X) } và F = q(a). Ta chứng tỏ F là hệ quả logic
của S.
Gọi I là mô hình tùy ý của S, như vậy p(a) đúng trong I. Vì q(X) ÷ p(X) là đúng
trong I nên q(a) ÷ p(a). Vậy q(a) đúng trong I.
25
Tính không thỏa mãn được
Để chứng minh F là hệ quả logic của S, cần chứng minh ÷F là sai trong
mọi mô hình của S, hoặc tương đương S{÷F} là không thỏa mãn được. Ta có
mệnh đề sau:
Mệnh đề 1.1 (Tính không thỏa mãn được) Cho S là một tập các công thức
đóng và F là một công thức đóng của ngôn ngữ bậc nhất L. Lúc đó F là hệ quả
logic của S nếu và chỉ nếu S{÷F} là không thỏa mãn được trong L, nghĩa là
không có thể hiện nào của L là mô hình của S {÷F}.
26
Nhận xét:
Từ mệnh đề trên suy ra rằng, để chứng minh một công thức đóng F không
phải là hệ quả logic của một tập các công thức đóng S, chỉ cần chỉ ra một
mô hình của S mà không phải là mô hình của F.
Theo định nghĩa 1.13, để xác định công thức đóng F là có phải là hệ quả
logic của tập các công thức đóng S, ta cần kiểm tra trên mọi mô hình của S.
Rõ ràng công việc này không phải dễ dàng. Một điều may mắn là có một
lớp các thể hiện nhỏ hơn và thuận lợi hơn cho phép ta kiểm tra điều này.
Các thể hiện này được gọi là thể hiện Herbrand, được dùng phổ biến khi
xác định ngữ nghĩa của chương trình logic.
27
Bài tập
1. Cho F là công thức ¬X -Y p(X,Y) và G là công thức -X ¬Y p(X,Y).Trong
các công thức sau đây, công thức nào là thỏa mãn được:
(F.G), (F.÷G), (÷F.÷G), (÷F.G)
Nếu thỏa mãn được, hãy cho một mô hình với miền thể hiện là tập các số
tự nhiên.
2. Chứng minh ba công thức sau là thỏa mãn được nếu có miền của thể hiện
là một tập vô hạn:
¬X ÷p(X,X)
¬X ¬Y ¬Z (p(X,Y) . p(Y,Z) ÷ p(X,Z))
¬X -Y p(X,Y)
28
Bài tập
3. Cho F và G là các công thức đóng. Chứng tỏ F ÷ G nếu và chỉ nếu {F} G
và {G} F.
Chứng minh tập công thức đóng P là không thỏa mãn được nếu và chỉ nếu tồn
tại công thức đóng F sao cho P F và P ÷F.
4. Cho P
1
, P
2
, P
3
là tập các công thức đóng. Định nghĩa lại ký hiệu như sau:
P
1
P
2
nếu và chỉ nếu mọi công thức trong P
2
là hệ quả logic của P
1
. Lúc đó
chứng minh có tính bắc cầu, nghĩa là nếu P
1
P
2
và P
2
P
3
thì P
1
P
3
.
5. Cho P
1
, P
2
là tập các công thức đóng. Chứng minh nếu P
1
_ P
2
và P
1
F thì
P
2
F.

Giới thiệu
1.1 Mở đầu Trong thế giới thực, để mô tả trạng thái của một vấn đề nào đó, ta thường dùng các câu mang tính khai báo, chẳng hạn: (i) (ii) “Mọi người mẹ đều thương yêu con của họ” “Mai là một người mẹ và Hoa là con của Mai” Bằng cách áp dụng các quy tắc tổng quát để diễn tả các câu khai báo như vậy, ta có thể rút ra được các kết luận mới. Ví dụ, khi biết (i) và (ii), có thể kết luận: (iii) “Mai thương yêu Hoa”
2

Mỗi ký hiệu hàm cũng gắn liền với một số tự nhiên m.... chẳng hạn “.. m sẽ xác định số các tham số của hàm và cũng được gọi là ngôi..là con của.. . Trong một bộ ký tự.” và các mối quan hệ này có thể đúng hoặc không.”.là một người mẹ.Để ý rằng các câu khai báo (i) và (ii) mô tả vũ trụ bao gồm các con người và các quan hệ xác định giữa những người trong vũ trụ đó.. gọi là ngôi (arity). các ký hiệu để chỉ mối quan hệ giữa các thực thể được gọi là ký hiệu vị từ (predicate)... Mỗi ký hiệu vị từ gắn liền với một số tự nhiên.. “. Các ký hiệu hàm (function) biểu diễn các hàm trên các miền của đối tượng.”. các ký hiệu hằng để chỉ các thực thể nào đó. “. Khái niệm đầu tiên là bộ ký tự và các công thức logic nhằm cung cấp ký pháp hình thức để viết các câu như (i) và (ii)... Chương này trình bày các khái niệm cơ sở của chương trình logic.thương yêu.

. b.. Z. 4.. Ký hiệu vị từ.. Ký hiệu lượng từ: (với mọi).. 7. 2.. 5.. dấu phẩy . thường ký hiệu bởi các chữ cái thường.. ví dụ X.  (suy ra). dấu ngoặc đơn phải ). 4 .  (nếu và chỉ nếu)... false. 8...1 (Bộ ký tự) Bộ ký tự bao gồm các lớp những ký hiệu sau đây: 1. Hằng. Ký hiệu hàm.. 6. Dấu ngoặc đơn trái (. 3. ví dụ f. Hằng vị từ: true. ví dụ a..Công thức logic Định nghĩa 1.. thường ký hiệu bởi các chữ cái thường. q. h.. Ký hiệu kết nối: (phủ định). g. (hội). thường ký hiệu bởi các chữ cái in hoa. Y. c. (tuyển). Biến. r.  (tồn tại). ví dụ p. thường ký hiệu bởi các chữ cái thường.

. Mỗi hằng trong A là một hạng thức. 3.. Hạng thức (term) được định nghĩa đệ qui như sau: 1. Trong ngôn ngữ của logic vị từ. đối tượng được biểu diễn bởi danh từ. 4. 2. được gọi là hạng thức và được định nghĩa như sau: Định nghĩa 1.2 (Hạng thức) Cho A là bộ ký tự.. Mỗi biến trong A là một hạng thức. Hạng thức chỉ được sinh ra bởi các quy tắc trên.tn) là một hạng thức.…. các đối tượng được biểu diễn bởi các chuỗi. Nếu f là ký hiệu hàm n ngôi trong A và t1.. 5 .tn là các hạng thức thì f(t1.Công thức logic Trong ngôn ngữ tự nhiên.

(E  F). (iii) Nếu E và F là các công thức thì: E). (ii) Các hằng vị từ true và false là các công thức. (v) Công thức chỉ được sinh ra bởi một số hữu hạn các quy tắc trên.tn  T thì p(t1.. gọi là nguyên tố). (E  F)... X là biến trong A thì X (E).3 (Công thức logic) Gọi T là tập các hạng thức trên bộ ký tự A.....tn) được gọi là một công thức (còn được gọi là công thức nguyên tố hoặc đơn giản. 6 . (E  F) là các công thức. (iv) Nếu E là công thức. X (E) là các công thức. Ta gọi nguyên tố là literal dương và phủ định của một nguyên tố là literal âm.. Công thức logic được định nghĩa đệ qui như sau: (i) Nếu p là ký hiệu vị từ n-ngôi trong A và t1.Công thức logic Định nghĩa 1. Chú ý: Một nguyên tố hoặc phủ định của một nguyên tố được gọi là một literal. (E  F).

mai) loves(mai.hoa) 7 .Y)  mother(X) child_of(Y.Ví dụ X (Y ((loves(X.X))) mother(mai)  child_of(hoa.

Ví dụ 1. Phạm vi của X (tương ứng X) trong X (E) (tương ứng X (E)) là E. ngược lại biến được gọi là biến tự do.Y) q(X)) là công thức đóng.Y) q(X)) không phải là công thức đóng. 2. Trong một công thức biến ràng buộc là biến nằm ngay sau các ký hiệu lượng từ hoặc xuất hiện bên trong phạm vi của lượng từ và có cùng tên với biến sau ký hiệu lượng từ.4 1.Công thức logic Định nghĩa 1. trong lúc đó X (p(X. Công thức đóng là công thức không chứa biến tự do. 3. vì Y là biến tự do. 8 .2 Công thức Y X (p(X.

5 (Ngôn ngữ bậc nhất) Một ngôn ngữ bậc nhất bao gồm một bộ ký tự và những công thức được xây dựng trên bộ ký tự đó. 9 .Ngôn ngữ bậc nhất Định nghĩa 1.

Ngữ nghĩa của công thức Định nghĩa 1. 2. 3. false}. 10 . Mỗi hằng c trong L được gán bởi một phần tử cI của D. Mỗi ký hiệu vị từ p n-ngôi trong L được gán với một ánh xạ pI từ Dn vào tập {true. được gọi là miền của thể hiện I. 4.6 (Thể hiện) Một thể hiện I của ngôn ngữ bậc nhất L bao gồm: 1. Mỗi ký hiệu hàm f n-ngôi trong L được gán với một ánh xạ fI từ Dn vào D. Một tập D khác rỗng.

q từ các công thức ở trên.y.Ký hiệu hàm một ngôi s được gán bởi hàm: sI : D  D như sau n  D.Miền D là tập số tự nhiên N.Ví dụ: Xét các công thức sau: p(s(X))  p(X) q(X.z  D .z) = false nếu z  x + y .X)  p(X) q(X. qI(x.y.y. false} như sau n  D.Y.Hằng a được gán bởi số 0 của D. pI(n) = true .a.s(Z))  q(X.Vị từ một ngôi p được gán bởi ánh xạ: pI : D  {true. Xét một thể hiện I của ngôn ngữ bậc nhất L như sau: . ký hiệu hàm s và các ký hiệu vị từ p.s(Y). sI(n) = succ(n) . .z) = true nếu z = x+y và qI(x. false} như sau: x.Z) Gọi L là ngôn ngữ bậc nhất được xây dựng từ hằng a. .Vị từ ba ngôi q được gán bởi ánh xạ: qI : D3 {true.

.Ngữ nghĩa của công thức Định nghĩa 1.. tn).. Phép gán hạng thức (theo I và V) của các hạng thức trong L được định nghĩa như sau:  Mỗi biến được gán theo V. Cho I là một thể hiện của ngôn ngữ bậc nhất L có miền D và V là một phép gán biến.  Mỗi hằng được gán theo I.... tn )  D là phép gán hạng thức của f(t1. 2.7 (Phép gán biến. 12 .tn và f’ là ' ' phép gán của ký hiệu hàm f n-ngôi.. t n là các phép gán hạng thức tương ứng của t1... Một phép gán biến trong I là phép gán mỗi biến trong L với một phần tử trong miền D... Cho I là một thể hiện của ngôn ngữ bậc nhất L có miền D. ' '  Nếu t1 . thì f’( t1. phép gán hạng thức) 1......

tn )... Nếu công thức có dạng X (F).. tn là các phép gán hạng thức của t1. thì giá trị chân lý của công thức là true nếu tồn tại d  D sao cho F có giá trị đúng theo I và V(X/d).. Lúc đó một công thức trong L sẽ có một giá trị chân lý là true hoặc false như sau: 1.. 2.. ngược lại giá trị chân lý của công thức là false... tn theo I và V. trong đó p’ là ánh xạ được gán đối với ' ' nguyên tố p bởi thể hiện I và t1. 13 . Nếu công thức là một nguyên tố p(t1......tn) thì giá trị chân lý của p nhận ' ' được từ giá trị của p’( t1.Ngữ nghĩa của công thức Định nghĩa 1..8 (Ngữ nghĩa của công thức) Cho I là một thể hiện của ngôn ngữ bậc nhất L có miền D và V là một phép gán biến.. trong đó V(X/d) chính là V ngoại trừ X được gán bởi d..

thì giá trị chân lý của công thức là true nếu với mọi dD thì F có giá trị đúng theo I và V(X/d). F  E. E  F. Nếu công thức có dạng E. Nếu công thức có dạng X (F).Ngữ nghĩa của công thức 3. E  F thì giá trị chân lý của công thức được cho bởi bảng sau đây: E true true false false F true false true false E false false true true EF true false false false EF true true true false FE true false true true EF true false false true 14 . ngược lại giá trị chân lý của công thức là false. E  F. 4.

15 . (i) F là thỏa mãn được trong I nếu  (F) là đúng theo I.Mô hình và hệ quả logic Định nghĩa 1. (ii) F là đúng trong I nếu  (F) là đúng theo I. (iv) F không đúng trong I nếu  (F) là sai theo I.9 Cho I là một thể hiện của ngôn ngữ bậc nhất L và F là công thức đóng trong L. (iii) F không thể thỏa mãn được trong I nếu  (F) là sai theo I.

10 (Mô hình của công thức đóng) Cho I là một thể hiện của ngôn ngữ bậc nhất L và F là một công thức đóng của L. 16 . tập {F1. Lúc đó I là mô hình của F nếu F đúng trong I.Mô hình và hệ quả logic Định nghĩa này có thể mở rộng đối với tập các công thức bằng cách xem xét tập công thức như là phép biểu diễn của một phép hội.…. Chẳng hạn. Định nghĩa 1.Fn} là thỏa mãn được trong I nếu  (F1 … Fn) là đúng theo I.

I không phải là mô hình của công thức X Y (p(X.y) = true nếu x < y. Lúc đó I là mô hình của công thức F.Y)) và phép thể hiện I như sau: .Ví dụ: Ví dụ: Xem công thức F = X Y (p(X. Khái niệm về mô hình của một công thức đóng có thể mở rộng đối với một tập công thức đóng.Y)).Miền D là tập số nguyên không âm. Mặt khác.y)  D2 .Vị từ hai ngôi p được gán bởi ánh xạ: pI : D2 {true. 17 . Trong I công thức F biểu diễn mệnh đề đúng: “ Mọi số nguyên không âm đều tồn tại số nguyên không âm lớn hơn nó ”. . false} như sau: (x. pI(x.

…. 18 .Mô hình của tập công thức đóng Định nghĩa 1... Chú ý: Nếu S = {F1. I được gọi là mô hình của S nếu I là mô hình của mỗi công thức trong S.11 (Mô hình của tập công thức đóng) Cho I là thể hiện của ngôn ngữ bậc nhất L và S là một tập các công thức đóng của L.  Fn.Fn} là một tập hữu hạn các công thức đóng thì I là mô hình của S nếu và chỉ nếu I là mô hình của F1  .

biến X. q trong các công thức trên. các ký hiệu vị từ một ngôi r. p.Mô hình của tập công thức đóng Ví dụ : Xét các công thức đóng: r(a)  true p(X)  r(X) q(X)  p(X) Gọi L là ngôn ngữ bậc nhất được xây dựng từ hằng a. 19 .

p(a) = false. . .D = {a}.Hằng a được gán với aD.Miền D = {a}. q(a) = true. q(a) = true. Vậy ta có I là mô hình của P.Mô hình của tập công thức đóng  Xét phép thể hiện I của L: . . 20 . .Hằng a được gán với a  D.  Xét phép thể hiện J của L: .p(a) = true. r(a) = true. Ta có J không phải là mô hình của P. r(a) = true.

Chú ý: Rõ ràng một tập công thức đóng S có thể có vô số thể hiện nhưng không có thể hiện nào là mô hình của S. Khi ta dùng các công thức để biểu diễn “thế giới” thì cần thiết phải đảm bảo rằng những công thức này là thỏa mãn được. với F là công thức đóng tùy ý. 21 . chẳng hạn S = { F  F}. và đặc biệt thế giới được mô tả là một mô hình của S. nghĩa là có ít nhất một mô hình. Những tập công thức đóng như vậy được gọi là không thỏa mãn được.

12 Cho S là một tập các công thức đóng của ngôn ngữ bậc nhất L. (i) S là thỏa mãn được nếu S có ít nhất một mô hình. (iv) S không đúng đắn nếu L có một thể hiện mà không phải mô hình của S. (iii) S không thỏa mãn được nếu không có thể hiện nào của L là mô hình của S.Công thức thỏa mãn được Định nghĩa 1. (ii) S là đúng đắn nếu mọi thể hiện của L đều là mô hình của S. 22 .

Chú ý rằng. 23 . ký hiệu S F. Công thức đóng F là hệ quả logic của S nếu F đúng trong mọi mô hình của S.13 (Hệ quả logic) Cho S là một tập các công thức đóng của ngôn ngữ bậc nhất L.Fn} là một tập hữu hạn các công thức đóng thì F là hệ quả logic của S nếu và chỉ nếu F1  .…. nếu S = {F1.  Fn  F là đúng..Hệ quả logic Định nghĩa 1..

như vậy p(a) đúng trong I. Gọi I là mô hình tùy ý của S. 24 . Vậy q(a) đúng trong I. Ta chứng tỏ F là hệ quả logic của S. Vì q(X)  p(X) là đúng trong I nên q(a)  p(a).Ví dụ: Ví dụ: Cho S = { p(a). q(X)  p(X) } và F = q(a).

Lúc đó F là hệ quả logic của S nếu và chỉ nếu S{F} là không thỏa mãn được trong L. 25 . nghĩa là không có thể hiện nào của L là mô hình của S  {F}. hoặc tương đương S{F} là không thỏa mãn được. Ta có mệnh đề sau: Mệnh đề 1.Tính không thỏa mãn được Để chứng minh F là hệ quả logic của S.1 (Tính không thỏa mãn được) Cho S là một tập các công thức đóng và F là một công thức đóng của ngôn ngữ bậc nhất L. cần chứng minh F là sai trong mọi mô hình của S.

Rõ ràng công việc này không phải dễ dàng. để chứng minh một công thức đóng F không phải là hệ quả logic của một tập các công thức đóng S. chỉ cần chỉ ra một mô hình của S mà không phải là mô hình của F. để xác định công thức đóng F là có phải là hệ quả logic của tập các công thức đóng S. Theo định nghĩa 1.Nhận xét: Từ mệnh đề trên suy ra rằng.13. được dùng phổ biến khi xác định ngữ nghĩa của chương trình logic. 26 . Một điều may mắn là có một lớp các thể hiện nhỏ hơn và thuận lợi hơn cho phép ta kiểm tra điều này. Các thể hiện này được gọi là thể hiện Herbrand. ta cần kiểm tra trên mọi mô hình của S.

(FG).X) X Y Z (p(X.Y) 27 .Y)  p(Y. (FG) Nếu thỏa mãn được.Z)  p(X. Cho F là công thức X Y p(X.Z)) X Y p(X.Y) và G là công thức X Y p(X.Bài tập 1. hãy cho một mô hình với miền thể hiện là tập các số tự nhiên.Trong các công thức sau đây. 2.Y). công thức nào là thỏa mãn được: (FG). Chứng minh ba công thức sau là thỏa mãn được nếu có miền của thể hiện là một tập vô hạn: X p(X. (FG).

28 .Bài tập 3. P3 là tập các công thức đóng. Cho P1. Định nghĩa lại ký hiệu chứng minh có tính bắc cầu. Lúc đó P2 và P2 P3 thì P1 P3. nghĩa là nếu P1 như sau: P1 P2 nếu và chỉ nếu mọi công thức trong P2 là hệ quả logic của P1. Chứng tỏ F  G nếu và chỉ nếu {F} G và {G} F. P2. Cho P1. Cho F và G là các công thức đóng. P2 là tập các công thức đóng. Chứng minh nếu P1  P2 và P1 F thì P2 F. Chứng minh tập công thức đóng P là không thỏa mãn được nếu và chỉ nếu tồn tại công thức đóng F sao cho P F và P F. 5. 4.