Professional Documents
Culture Documents
Logic Toán - Trần Thọ Châu (Download Tai Tailieutuoi.com)
Logic Toán - Trần Thọ Châu (Download Tai Tailieutuoi.com)
Từ khoá: Logic toán, Đại số mệnh đề, Hàm đại số logic, logic mờ, Định lý suy
diễn, Logic mệnh đề, Tính đầy đủ, Tính phi mâu thuẫn, Lượng từ, Ngôn ngữ
Prolog, Tân từ Fall.
Tài liệu trong Thư viện điện tử ĐH Khoa học Tự nhiên có thể sử dụng cho mục
đích học tập và nghiên cứu cá nhân. Nghiêm cấm mọi hình thức sao chép, in ấn
phục vụ các mục đích khác nếu không được sự chấp thuận của nhà xuất bản và
tác giả.
Mu.c lu.c
`
2 Hê. toán mê.nh dê 39
` trong hê. toán mê.nh dê
2.1 Hê. tiên dê ` . . . . . . . . . . . . . . . . 40
2.1.1 Mô.t sô´ di.nh nghı̃a co. ba’n . . . . . . . . . . . . . . . . 40
2.1.2 Các tı́nh châ´t . . . . . . . . . . . . . . . . . . . . . . . 42
2 MU
. C LU
.C
2.1.3 Lý thuyê´t tiên dê ` trong hê. toán mê.nh dê
` . . . . . . . . 43
2.1.4 Di.nh lý suy diê˜n trong hê. toán mê.nh dê ` . . . . . . . . 44
2.2 Nguyên lý suy diê˜n và bài toán lâ.p luâ.n trong logic mê.nh dê
` . 52
2.2.1 Nguyên lý suy diê˜n . . . . . . . . . . . . . . . . . . . . 52
2.2.2 Bài toán lâ.p luâ.n trong logic mê.nh dê ` . . . . . . . . . 52
2.3 ` . . . . . . . . . . . .
Mô.t sô´ di.nh lý trong hê. toán mê.nh dê . 55
2.3.1 Tı́nh dâ ` y du’ . . . . . . . . . . . . . . . . . . . . . . . . 55
2.3.2 Tı́nh phi mâu thuâ˜n . . . . . . . . . . . . . . . . . . . 58
2.3.3 Tı́nh dô.c lâ.p . . . . . . . . . . . . . . . . . . . . . . .. 59
2.4 Gió.i thiê.u vài nét vê
` logic da tri. . . . . . . . . . . . . . . . .. 61
2.5 Tı́nh quyê´t di.nh cu’a hê. toán mê.nh dê` . . . . . . . . . . . .. 62
2.6 ` khác . . . . . . . . .
Mô.t sô´ hê. tiên dê . . . . . . . . . . . .. 62
2.7 Áp du.ng di.nh lý dâ ` y du’ cho bài toán suy diê˜n trong logic
mê.nh dê` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.8 Bài tâ.p chu.o.ng 2 . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.5 Di.nh lý suy diê˜n trong logic tân tù. . . . . . . . . . . . . . . . 104
3.6 Tı́nh phi mâu thuâ˜n và dâ ` y du’ cu’a logic tân tù. . . . . . . . . 110
3.6.1 Các khái niê.m và di.nh nghı̃a . . . . . . . . . . . . . . . 110
3.6.2 Tı́nh phi mâu thuâ˜n cu’a lý thuyê´t tân tù. câ´p 1 PP . . 111
3.6.3 Mô.t sô´ di.nh lý trong lý thuyê´t tân tù. câ´p 1 K . . . . . 112
3.6.4 Tı́nh dâ ` y du’ cu’a lý thuyê´t tân tù. câ´p 1K . . . . . . . 120
3.7 Áp du.ng trong chú.ng minh di.nh lý cu’a lý thuyê´t tân tù. câ´p 1 121
3.8 Bài tâ.p chu.o.ng 3 . . . . . . . . . . . . . . . . . . . . . . . . . 123
Ta biê´t ră` ng Logic Toán là mô.t ngành khoa ho.c lý thuyê´t gă´n chă.t vó.i tu.
duy suy diê˜n cu’a con ngu.ò.i và du.o..c phát triê’n trên co. so’. tuân thu’ nghiêm
ngă.t các qui luâ.t lâ.p luâ.n cu’a tu. duy logic hı̀nh thú.c. Ho.n nũ.a, Logic Toán
nghiên cú.u phu.o.ng pháp suy luâ.n trong Toán ho.c, phu.o.ng pháp chú.ng minh
và kha’ năng suy diê˜n dâ˜n dê´n các di.nh lý trong mô.t lý thuyê´t.
Các qui luâ.t co. ba’n cu’a logic hı̀nh thú.c dã du.o..c phát triê’n tù. thò.i
Aristote (384-322 tru.ó.c Công nguyên). Su.. phát triê’n cu’a các ngành khoa
ho.c lý thuyê´t tù. thò.i văn minh cô’ Hy La.p cho tó.i thò.i hiê.n da.i ngày nay
` u tra’i qua nhiê
dê ` u bu.ó.c thăng trâ
` m, và có nhũ.ng giai doa.n không phát triê’n
du.o..c, ngu.ng trê., hoă.c phát triê’n râ´t châ.m cha.p. Tuy vâ.y, mô˜i mô.t giai doa.n
` u dê’ la.i nhũ.ng dâ´u â´n vô cùng quı́ giá, dâ´y là nhũ.ng phát minh vı̃ da.i
dê
cu’a các nhà khoa ho.c nói chung và ngành Toán ho.c nói riêng, chă’ng ha.n các
phát minh cu’a Newton, Leibnitz vê ` phép tı́nh vi phân vào thê´ ky’ 16 – 17,
lý thuyê´t tâ.p ho..p Cantor vào cuô´i thê´ ky’ 19 và dâ ` u thê´ ky’ 20...
Tâ.p giáo trı̀nh này nhă` m gió.i thiê.u mô.t sô´ vâ´n dê
` co. ba’n nhâ´t cu’a logic
Toán và logic mò. dã và dang du.o..c nhiê ` u nhà khoa ho.c quan tâm nghiên
. .
cú u, ú ng du.ng.
Giáo trı̀nh du.o..c chia thành 5 chu.o.ng:
Chu.o.ng 1 và 2 trı̀nh bày vê ` logic mê.nh dê ` vó.i mu.c dı́ch là mô hı̀nh hoá
quá trı̀nh suy diê˜n. Logic mê.nh dê ` là hê. thô´ng logic do.n gia’n mà do.n vi. co.
ba’n là các mê.nh dê ` mang nô.i dung cu’a các phán doán, mô˜i mô.t phán doán
có mô.t giá tri. chân lý hoă.c là dúng hoă.c là sai. Các mê.nh dê` phú.c ho..p du.o..c
6 Lò.i mo’. dâ
`u
Thông thu.ò.ng chúng ta thành lâ.p các mê.nh dê ` phú.c ho..p tù. các mê.nh
` do.n gia’n. Trong chu.o.ng này, chúng ta sẽ di sâu nghiên cú.u dâ
dê ` y du’ ba’n
` và tu. duy suy diê˜n cu’a nó mô.t cách chă.t chẽ, logic
châ´t cu’a da.i sô´ mê.nh dê
và mang tı́nh thu..c tiê˜n.
Chú ý ră` ng trong di.nh lý 2 - giá tri., ngu.ò.i ta chı’ phát biê’u ră` ng: mô˜i
mô.t mê.nh dê` hoă.c là dúng, hoă.c là sai, nhu.ng không khă’ng di.nh du.o..c ră` ng
mô˜i mô.t mê.nh dê` ta có thê’ quyê´t di.nh du.o..c liê.u nó dúng hay không, chă’ng
ha.n di.nh lý cuô´i cùng cu’a Fermat [1], gia’ thuyê´t Continuum [5]. Tâ´t nhiên,
mô˜i mô.t mê.nh dê` này hoă.c là dúng, hoă.c là sai.
Di.nh lý cuô´i cùng cu’a Fermat dã tô`n ta.i trên 350 năm, và mãi cho dê´n
năm 1986, G. Faltings [1], mô.t nhà Toán ho.c tre’ 26 tuô’i ngu.ò.i Dú.c dã
du.o..c nhâ.n gia’i thu.o’.ng Fields vê` mô.t công trı̀nh trong hı̀nh ho.c da.i sô´. Gia’i
thu.o’.ng Fields là gia’i thu.o’.ng dành cho các nhà Toán ho.c tre’ tuô’i du.ó.i 40
tuô’i, 4 năm mó.i câ´p mô.t lâ` n và mô˜i lâ` n không quá 4 ngu.ò.i. Nhu. chúng
ta dã biê´t gia’i thu.o’.ng Nobel không giành cho các nhà Toán ho.c, nên gia’i
thu.o’.ng Fields du.o..c xem nhu. là gia’i “Nobel” cho Toán ho.c và gia’i thu.o’.ng
du.o..c coi là mô.t trong nhũ.ng vinh du.. ló.n nhâ´t dô´i vó.i mô.t ngu.ò.i làm Toán
ho.c. Ngoài ra G. Falting còn du.a ra nhũ.ng ý tu.o’.ng co. ba’n vê ` chú.ng minh
di.nh lý cuô´i cùng cu’a Fermat vào tháng 9 năm 1994 (xem Gerd Falting the
Proof of Fermat’s Last Theorem by R. Taylor and A. Wiles Notices of the
AMS, July 1995, p. 743 - 746), nhu.ng vào năm 1997, nhà Toán ho.c ngu.ò.i
Anh là A. Weil sinh năm 1953 dã chú.ng minh tro.n ve.n di.nh lý này bă` ng
mô.t phu.o.ng pháp khác và ông du.o..c nhâ.n gia’i thu.o’.ng râ´t dă.c biê.t, năm â´y
ông dã ngoài 40 tuô’i nên không thê’ trao gia’i thu.o’.ng Fields. Còn gia’ thuyê´t
Continuum dã du.o..c nhà Toán ho.c Mỹ là P.J Cohen [5] gia’i quyê´t vào năm
1966 và ông dã du.o..c nhâ.n gia’i thu.o’.ng Fields.
` u râ´t hiê’n nhiên là chúng ta có thê’ di tù. mô.t sô´ mê.nh dê
Mô.t diê ` dã cho
dê´n mô.t mê.nh dê ` mó.i nhò. mô.t sô´ tù. nô´i, chă’ng ha.n dô´i vó.i mê.nh dê
` A,
chúng ta có thê’ lâ´y phu’ di.nh cu’a nó “không A” (viê´t tă´t là ¬A), hoă.c dô´i
vó.i hai mê.nh dê ` dã cho A và B, ta có thê’ nô´i các mê.nh dê ` dó vó.i nhau “A
và B” (viê´t tă´t là A ∧ B), “A hay là B” (viê´t tă´t là A ∨ B), “Nê´u A thı̀ B”
10 Chu.o.ng 1. Da.i sô´ mê.nh dê
`
(viê´t tă´t là A → B), và “A khi và chı’ khi B” (viê´t tă´t là A ↔ B). Các ký
hiê.u ¬, ∧, ∨, →, ↔ du.o..c go.i là các phép toán logic. Các phép toán này du.o..c
xác di.nh du..a theo các ba’ng chân lý du.ó.i dây.
Nhu. vâ.y nghı̃a là khi A nhâ.n giá tri. T thı̀ ¬A nhâ.n giá tri. F, và khi A nhâ.n
giá tri. F thı̀ ¬A nhâ.n giá tri. T.
` A → B nhâ.n giá tri. F, khi và chı’ khi A (gia’ thiê´t) nhâ.n
Vâ.y mê.nh dê
giá tri. T và B (kê´t luâ.n) nhâ.n giá tri. F.
Trong mô.t vài tru.ò.ng ho..p, mê.nh dê ` “Nê´u A thı̀ B” du.o..c su’. du.ng nhu.ng
không quan tâm dê´n các giá tri. chân lý cu’a các mê.nh dê ` mô.t cách dâ ` y du’,
chă’ng ha.n nhu. các mê.nh dê ` sau:
1. Nê´u 1+1=2 thı̀ Paris là Thu’ dô cu’a nu.ó.c Pháp.
2. Nê´u 1+16=2 thı̀ Paris là Thu’ dô cu’a nu.ó.c Pháp.
3. Nê´u 1+16=2 thı̀ Rome là Thu’ dô cu’a nu.ó.c Pháp.
Ta dê˜ dàng nhâ.n thâ´y ca’ 3 mê.nh dê ` trên dê ` u nhâ.n giá tri. chân lý là T,
nhu ng mô´i liên hê. giũ a gia’ thiê´t A và kê´t luâ.n B không ăn khó.p vó.i nhau.
. .
Do dó dê’ da’m ba’o tı́nh logic và chă.t chẽ cua’ mô.t mê.ng dê ` , chúng ta pha’i
su’. du.ng mô´i quan hê. dó sao cho giũ.a gia’ thiê´t A và kê´t luâ.n B pha’i có mô´i
quan hê. xác di.nh, thu.ò.ng là nguyên nhân.
Ngoài ra, nói riêng trong thu..c tê´, ngu.ò.i ta hay dùng mê.nh dê ` “Nê´u A thı̀
B” du ó i mô.t hı̀nh thú c khác, không mâu thuâ˜n và hay du o. c su’. du.ng rô.ng
. . . . .
rãi, chă’ng ha.n:
“Nê´u ba.n có thò.i gian thı̀ ba.n dê´n thăm tôi”, cũng du.o..c hiê’u theo nghı̃a
là:
“Nê´u ba.n không dê´n thăm tôi thı̀ ba.n không có thò.i gian”. Diê
` u này luôn
luôn dúng vı̀ theo luâ.t logic sau dây:
` :“A → B” tu.o.ng du.o.ng vó.i “¬B → ¬A”
Mê.nh dê
12 Chu.o.ng 1. Da.i sô´ mê.nh dê
`
` A ↔ B nhâ.n giá tri. T, khi và chı’ khi A và B nhâ.n cùng
Vâ.y mê.nh dê
giá tri..
Mô.t cách chı́nh xác ho.n, chúng ta di.nh nghı̃a công thú.c mê.nh dê
` bă` ng
.
cách dê. quy nhu sau:
(1) Tâ´t ca’ các chũ. cái La-tinh , kê’ ca’ các chũ. cái La-tinh có chı’ sô´ dê
` u là
.
công thú c
(2) Nê´u A và B là các công thú.c thı̀ (¬A), (A ∧ B), (A ∨ B), (A →B),
(A ↔ B) cũng là công thú.c
(3) Mô.t biê’u thú.c là mô.t công thú.c, nê´u nó du.o..c lâ.p nên tù. co. so’. (1) và
(2).
Mô˜i mô.t phân bô´ các giá tri. chân lý cu’a các biê´n có mă.t trong công thú.c
cho ta mô.t giá tri. chân lý cu’a công thú.c. Do vâ.y, mô˜i mô.t công thú.c mê.nh
` xác di.nh mô.t hàm da.i sô´ logic nào dó. Hàm này du.o..c xác di.nh du..a vào
dê
ba’ng chân lý cu’a công thú.c dã cho.
1.2. Công thú.c mê.nh dê
` 13
Thı́ du. 1.2.1 Cho công thú.c A = (((¬A) ∨ B) → C). Tı̀m hàm da.i sô´ logic
tu.o.ng ú.ng cu’a công thú.c A?
Tru.ó.c hê´t ta lâ.p ba’ng chân lý dâ
` y du’ cu’a A.
Mô˜i dòng là mô.t bô. phân bô´ các giá tri. chân lý cu’a các biê´n A, B, C và
tu o ng ú.ng là mô.t giá cu’a công thú.c A.
. .
A B C ¬A (¬A) ∨ B A
T T T F T T
T T F F T F
T F T F F T
T F F F F T
F T T T T T
F T F T T F
F F T T T T
F F F T T F
Vâ.y chúng ta dê˜ dàng xác di.nh du.o..c mô.t hàm da.i sô´ logic 3 biê´n f :
{T, F}3 → {T, F} du..a vào ba’ng chân lý cu’a A nhu. sau:
f (T,T,T) =T f (F, T,T) =T
f (T,T,F) =F f (F, T,F) =F
f (T,F,T) =T f (F,F,T) =T
f (T,F,F) =T f (F, F,F) =F
Chú ý
• n = 3: Khi dó 23 = 8 và chia 2 cho kê´t qua’ là 4. Ta lâ.p ba’ng nhu.
sau:
• Mô.t cách tu.o.ng tu.. khi chúng ta tăng bâ.c cu’a hê. sô´ n lên và thu..c
` u tiên mô.t nu’.a trên là T và mô.t
châ´t khi lâ.p ba’ng chúng ta viê´t cô.t dâ
nu’.a du.ó.i là F (hoă.c ngu.o..c la.i theo mô.t nguyên tă´c), rô`i dê´n các cô.t
tiê´p theo nhu.ng chúng ta chı’ lâ.p mô.t nu’.a ba’ng trên theo thuâ.t chia
` n, cuô´i cùng thı̀ thu..c hiê.n copy nu’.a trên xuô´ng nu’.a
dôi có bâ.c gia’m dâ
du.ó.i là hoàn thành du’ 2n bô. phân bô´ các giá tri. chân lý cu’a n biê´n có
mă.t trong công thú.c dã cho.
.
. 1.2.2 Lâ.p ba’ng chân lý thu go.n cu’a công thú c
Thı́ du
A = (A ↔ B) → ((¬A) ∧ B)
(A ↔ B) → ((¬ A) ∧ B)
T T T F F F T
T F F T F F F
F F T T T T T
F T F F T F F
Phu.o.ng pháp lâ.p ba’ng chân lý thu go.n du..a vào vi. trı́ cu’a các biê´n
mê.nh dê` và các phép toán có mă.t trong công thú.c làm các cô.t tu.o.ng
ú.ng, nên vê
` mă.t tı́nh toán du.o..c tiê´t kiê.m thò.i gian nhiê
` u ho.n và ba’ng
lâ.p do.n gia’n ho.n.
Ta dã biê´t trong sô´ ho.c dê’ gia’m thiê’u viê.c viê´t dâ´u ngoă.c cho mô.t biê’u
thú.c sô´ ho.c thông thu.ò.ng là nhân, chia tru.ó.c và cô.ng, trù. sau, và các
phép toán có cùng mú.c u.u tiên du.o..c thu..c hiê.n tù. trái qua pha’i.
Trong các phép toán logic cũng tu.o.ng tu.., ngu.ò.i ta dã du.a ra mô.t quy
u.ó.c viê´t dâ´u ngoă.c theo thú. tu.. u.u tiên sau dây:
1 ¬;
2 ∧;
3 ∨;
4 →;
5 ↔
trong dó chú ý hai phép toán cuô´i cùng →, ↔ xuâ´t hiê.n nhiê
` u lâ
` n liên
.
tiê´p thı̀ lâ.p ngoă.c tù trái qua pha’i, chă’ ng ha.n: A → B → C thı̀ pha’i
lâ.p ngoă.c dúng là ((A → B) → C).
A ∨ (¬B) → C ↔ A
(A ∨ (¬B)) → C ↔ A
((A ∨ (¬B)) → C) ↔ A
(((A ∨ (¬B)) → C) ↔ A)
• Mô.t hàm da.i sô´ logic n biê´n là mô.t ánh xa. cu’a tâ.p ho..p {T, F}n vào
{T, F}.
• Ló.p các hàm da.i sô´ logic nhâ.n hai giá tri. {T, F } (hoă.c {0, 1}) cùng vó.i
các biê´n cu’a nó du.o..c ký hiê.u là ló.p hàm P 2 .
n
Ta dê˜ dàng nhâ.n thâ´y ră` ng sô´ các hàm da.i sô´ logic n biê´n là bă` ng 22 , vı̀
ră` ng vó.i n biê´n ta có 2n bô. phân bô´ các giá tri. chân lý {T, F} và mô˜i mô.t
bô. nhu. vâ.y tu.o.ng ú.ng vó.i mô.t giá tri. {T, F}, nên sô´ hàm tu.o.ng ú.ng vó.i n
n
biê´n pha’i là 22 .
dây:
x\f f1 f2 f3 f4
T T T F F
F T F T F
2. Xét ló.p hàm P 2 hai biê´n gô`m có tâ´t ca’ là: 22 = 16 hàm du.o..c cho theo
2
x1 x2 \f f1 f2 f3 f4 f5 f6 f7 f8
TT T T T T T T T T
TF T T T T F F F F
FT T T F F T T F F
FF T F T F T F T F
trong dó có mô.t sô´ hàm quen thuô.c nhu. sau:
f4 (x1 , x2) = x1; f11(x1 , x2) = x2 ; f13(x1, x2 ) = x1
f5 (x1 , x2) = x1 → x2; f7 (x1, x2 ) = x1 ↔ x2
f8 (x1 , x2) = x1 and x2 ; f2 (x1 , x2) = x1 or x2;
f10 (x1, x2 ) = x1 xor x2 ;
Chú ý o’. dây thay ¬x bă` ng x.
Ta biê´t mô˜i mô.t công thú.c mê.nh dê ` tu.o.ng ú.ng vó.i mô.t hàm da.i sô´ logic,
vı̀ ră` ng thú. nhâ´t tâ.p ho..p tâ´t ca’ các biê´n mê.nh dê
` là dê´m du.o..c, chă’ng ha.n
theo cách să´p xê´p thú. tu.. sau dây A, B, C, ..., Z, A1, B1, C1 , ..., Z1 , ...
Thú. hai là nê´u mô.t công thú.c mê.nh dê ` nào dó có chú.a các biê´n i1 , i2, ..., in
(i1 < i2 < ... < in ) trong tâ.p kê’ du.o..c o’. trên thı̀ khi dó tu.o.ng ú.ng ta có thê’
lâ.p du.o..c mô.t hàm da.i sô´ logic vó.i các biê´n xi1 , xi2 , ..., xin .
Thı́ du. 1.3.2 Vó.i công thú.c A → B thı̀ hàm da.i sô´ logic tu.o.ng ú.ng là:
18 Chu.o.ng 1. Da.i sô´ mê.nh dê
`
x1 x2 f (x1 , x2)
T T T
T F F
F T T
F F T
còn dô´i vó.i công thú.c B → A thı̀ hàm da.i sô´ logic tu.o.ng ú.ng là:
x1 x2 g(x1 , x2)
T T T
T F T
F T F
F F T
Di.nh nghı̃a 1.3.3 Nê´u công thú.c (A → B) là dô`ng nhâ´t dúng thı̀ khi dó
A du.o..c go.i là logic kéo theo B hoă.c B là logic kéo theo tù. A.
A = (A ∧ (A → B) → B)
là dô`ng nhâ´t dúng. Ta lâ.p ba’ng chân lý thu go.n sau dây:
(A ∧ (A → B) → B)
T T T T T T T
T F T F F T F
F F F T T T T
F F F T F T F
Di.nh nghı̃a 1.3.4 Hai công thú.c A và B du.o..c go.i là logic tu.o.ng du.o.ng,
nê´u công thú.c (A ↔ B) là dô`ng nhâ´t dúng.
Thı́ du. 1.3.5 A → B và (¬A) ∨ B là hai công thú.c logic tu.o.ng du.o.ng,
` n chı’ ra ră` ng công thú.c
nghı̃a là ta chı’ câ
A = (A → B) ↔ ((¬A) ∨ B)
(A → B) ↔ ((¬A) ∨ B)
T T T T F T T
T F F T F F F
F T T T T T T
F T F T T T F
20 Chu.o.ng 1. Da.i sô´ mê.nh dê
`
1. A ∧ B ≡ B ∧ A (giao hoán)
A∨B ≡B∨A
2. A ∧ (B ∧ C) ≡ (A ∧ B) ∧ C (kê´t ho..p)
A ∨ (B ∨ C) ≡ (A ∨ B) ∨ C
5. A ∧ (¬A) ≡ False
A ∨ (¬A) ≡ True
6. A ∧ True ≡ A
A ∨ False ≡ A
Di.nh nghı̃a 1.3.5 Mô.t công thú.c du.o..c go.i là dô`ng nhâ´t sai (hay hă ` ng sai),
.
nê´u nó nhâ.n giá tri. sai dô´i vó i mo.i phép thê´ các giá tri. chân lý cu’a các biê´n
có mă.t trong công thú.c dó.
Bo’.i vâ.y trong ba’ng chân lý cu’a công thú.c này, cô.t cuô´i cùng cu’a ba’ng
chân lý chı’ gô`m toàn giá tri. sai.
1.3. Mô.t sô´ di.nh nghı̃a 21
Thı́ du. 1.3.7 Cho công thú.c dô`ng nhâ´t dúng A = ((A ∨ B) ∧ (¬B) → A).
` sau dây là logic dúng:
Ta có mê.nh dê
“Nê´u trò i mu.a hoă.c tuyê´t ro.i, và tuyê´t không ro.i thı̀ trò.i mu.a”.
.
Di.nh nghı̃a 1.3.7 Mô.t mê.nh dê ` nhâ.n du.o..c tù. mô.t công thú.c dô`ng nhâ´t
sai bă` ng cách thê´ các biê´n bo’.i các mê.nh dê
` sao cho cùng mô.t biê´n du.o..c thê´
bo’.i cùng mô.t mê.nh dê` thı̀ mê.nh dê ` dó du.o..c go.i là logic sai.
Thı́ du. 1.3.8 Ta xét công thú.c dô`ng nhâ´t sai A = A ∧ (¬A). Khi dó nê´u
ta thay A bă` ng mê.nh dê` “Tôi di ho.c” thı̀ mê.nh dê
` sau dây là logic sai:
“Tôi di ho.c và tôi không di ho.c”.
Di.nh nghı̃a 1.3.8 Mô.t công thú.c A du.o..c go.i là thu..c hiê.n du.o..c (hay thoa’
du.o..c), nê´u tô`n ta.i ı́t nhâ´t mô.t bô. phân bô´ các giá tri. chân lý cu’a các biê´n
có mă.t trong công thú.c A sao cho A nhâ.n giá tri. dúng dô´i vó.i bô. phân bô´
này.
22 Chu.o.ng 1. Da.i sô´ mê.nh dê
`
Di.nh lý 1.4.2 Nê´u A là mô.t công thú.c dô`ng nhâ´t dúng có chú.a các biê´n
A1 , A2, ..., An, và công thú.c B là công thú.c nhâ.n du.o..c tù. A bă
` ng cách thê´
các công thú.c A1 , A2, ..., An vào các biê´n tu.o.ng ú.ng A1, A2, ..., An thı̀ công
thú.c B cũng dô`ng nhâ´t dúng, nghı̃a là phép thê´ trong mô.t công thú.c dô`ng
nhâ´t dúng cho ta mô.t công thú.c dô`ng nhâ´t dúng.
Di.nh lý 1.4.3 Nê´u B1 nhâ.n du.o..c tù. A1 bă` ng cách thê´ B vào mô.t hoă.c
` u vi. trı́ cu’a A thı̀ ((A ↔ B) → (A1 ↔ B1)) là công thú.c dô`ng nhâ´t
nhiê
dúng. Tru.ò.ng ho..p, nê´u A và B là logic tu.o.ng du.o.ng thı̀ A1 và B1 cũng
logic tu.o.ng du.o.ng.
1.5. Da.ng chuâ’n tă´c cu’a công thú.c mê.nh dê
` 23
Chú.ng minh: Xét mô.t bô. phân bô´ I0 các giá tri. chân lý cu’a các biê´n. Nê´u
A và B nhâ.n giá tri. dô´i lâ.p nhau dô´i vó.i bô. phân bô´ này thı̀ công thú.c
A ↔ B nhâ.n giá tri. F, và do dó ((A ↔ B) → (A1 ↔ B1)) nhâ.n giá tri. T.
Trái la.i, nê´u A và B nhâ.n cùng giá tri., và vı̀ ră` ng B1 chı’ khác A1 ta.i
mô.t sô´ vi. trı́ mà B1 chú.a B, trong khi dó A1 chú.a A, do vâ.y trong tru.ò.ng
ho..p này, (A ↔ B) nhâ.n giá tri. T, (A1 ↔ B1) cũng nhâ.n giá tri. T, và do dó
((A ↔ B) → (A1 ↔ B1 )) nhâ.n giá tri. T.
Vı̀ I0 du.o..c cho.n tuỳ ý, nên công thú.c ((A ↔ B) → (A1 ↔ B1 )) là dô`ng
nhâ´t dúng.
.
` dô`ng nhâ´t dúng râ´t do n gia’n, dê˜ hı̀nh
Trên dây là mô.t sô´ tı́nh châ´t vê
dung, và tı́nh bâ´t biê´n cu’a tı́nh châ´t dô`ng nhâ´t dúng là hoàn toàn chú.ng
minh du.o..c.
a) A = (A ∧ B) ∨ (A ∧ B) ∨ (A ∧ B ∧ C)
Di.nh nghı̃a 1.5.2 Mô.t công thú.c mê.nh dê ` du.o..c go.i là da.ng chuâ’n tă´c hô.i,
` u ha.ng thú.c tuyê’n, trong dó mô˜i ha.ng thú.c
nê´u nó là hô.i cu’a mô.t hoă.c nhiê
tuyê’n du.o..c lâ.p nên tù. tuyê’n cu’a mô.t hoă.c nhiê
` u biê´n và phu’ di.nh cu’a biê´n.
24 Chu.o.ng 1. Da.i sô´ mê.nh dê
`
a) A = A∧(A∨(B ∧C))∧(A∨B) không pha’i là da.ng chuâ’n tă´c hô.i, nhu.ng
` n thú. hai: (A ∨ (B ∧ C)) ≡ (A ∨ B) ∧ (A ∨ C)
ta biê´n dô’i thành phâ
khi dó ta có công thú.c sau là da.ng chuâ’n tă´c hô.i:
A = A ∧ (A ∨ B) ∧ (A ∨ C) ∧ (A ∨ B).
(A ∧ A ∧ B) ≡ (A ∧ A) ∧ B ≡ False ∧ B ≡ False,
A = False ∨ (A ∧ B) ∨ (A ∧ C) ≡ (A ∧ B) ∨ (A ∧ C)
là da.ng chuâ’n tă´c tuyê’n nhu.ng không pha’i là da.ng chuâ’n tă´c tuyê’n
hoàn toàn, vı̀ ră` ng mô˜i ha.ng thú.c hô.i o’. dây thiê´u tên biê´n thú. ba, còn
chă’ng ha.n: (A ∧ B ∧ C) ∨ (A ∧ B ∧ C) là da.ng chuâ’n tă´c tuyê’n hoàn
toàn.
` y du’ cu’a các phép toán
1.6. Các hê. dâ 25
Di.nh nghı̃a 1.5.4 Mô.t công thú.c mê.nh dê ` du.o..c go.i là chuâ’n tă´c hô.i hoàn
toàn, nê´u nó là hô.i cu’a các ha.ng thú.c tuyê’n, trong dó không có mô.t ha.ng
thú.c tuyê’n nào chú.a biê´n và phu’ di.nh cu’a nó, và nê´u mô.t biê´n có mă.t trong
mô.t ha.ng thú.c tuyê’n thı̀ nó pha’i có mă.t trong mo.i ha.ng thú.c tuyê’n khác.
Chú.ng minh: Gia’ su’. f (x1, x2 , ..., xn) là mô.t hàm da.i sô´ logic. Rõ ràng hàm
này có thê’ biê’u diê˜n qua mô.t ba’ng chân lý gô`m 2n dòng, trong dó mô˜i dòng
là mô.t bô. phân bô´ các giá tri. chân lý cu’a các biê´n x1, x2, ..., xn và tu.o.ng ú.ng
là giá tri. cu’a hàm f (x1 , x2, ..., xn).
26 Chu.o.ng 1. Da.i sô´ mê.nh dê
`
Ta dánh sô´ tâ´t ca’ các dòng theo thú. tu.. 1, 2, ..., 2n . Khi dó, dô´i vó.i mô˜i
i, (1 6 i 6 2n ) ta ký hiê.u:
Ci := ui1 ∧ ... ∧ uin , trong dó
A , nê´u x o’. dòng thú. i nhân giá tri T
i j j . .
uj :=
Aj , nê´u xj o’ dòng thú i nhân giá tri F
. .
. .
Bây giò. ta dă.t D là tuyê’n cu’a các Ci sao cho hàm f (x1 , x2, ..., xn) nhâ.n giá
tri. T o’. dòng thú. i cu’a ba’ng chân lý biê’u diê˜n hàm da.i sô´ logic f (x1 , x2, ..., xn):
D := ∨Ci
i:
Trong tru.ò.ng ho..p không tô`n ta.i mô.t dòng nào cu’a ba’ng chân lý biê’u diê˜n
f (x1 , x2, ..., xn) dê’ f (x1, x2 , ..., xn) nhâ.n giá tri. T thı̀ khi dó ta chı’ câ
` n dă.t là:
D := A1 ∧ A1
Ta pha’i chú.ng minh ră` ng công thú.c D và f là trùng nhau vê ` mă.t giá tri..
.
Thâ.t vâ.y, gia’ su’ cho mô.t bô. phân bô´ các giá tri. chân lý cu’a các biê´n
A1 , A2, ..., An có mă.t trong công thú.c D, và dô`ng thò.i gia’ thiê´t ră` ng dòng
này nă` m o’. dòng thú. k cu’a ba’ng biê’u diê˜n hàm da.i sô´ logic f (x1 , x2, ..., xn).
Khi dó dê˜ dàng thâ´y ră` ng Ck nhâ.n giá tri. T dô´i vó.i bô. phân bô´ này cu’a các
biê´n A1, A2 , ..., An, còn các Ci còn la.i dê ` u nhâ.n giá tri. F dô´i vó.i bô. phân
bô´ nói trên. Bo’.i vâ.y, nê´u f nhâ.n giá tri. T o’. dòng thú. k, thı̀ Ck là mô.t sô´
ha.ng cu’a công thú.c tuyê’n D, và nhu. vâ.y D nhâ.n giá tri. T dô´i vó.i bô. phân
bô´ này. Trái la.i, nê´u f nhâ.n giá tri. F o’. dòng thú. k, thı̀ khi dó Ck không có
mă.t trong công thú.c D và tâ´t ca’ các sô´ ha.ng cu’a công thú.c tuyê’n D dê `u
. . . .
nhâ.n giá tri. F dô´i vó i bô. phân bô´ này. Vâ.y trong ca’ hai tru ò ng ho. p ta thâ´y
ră` ng D và f là trùng nhau vê ` mă.t giá tri.. Do dó, D qua’ thâ.t du.o..c sinh ra
tù. hàm da.i sô´ logic f .
Thı́ du. 1.6.1 Cho hàm da.i sô´ logic 2 biê´n f (x1 , x2) theo ba’ng chân lý sau:
` y du’ cu’a các phép toán
1.6. Các hê. dâ 27
x1 x2 f (x1 , x2)
T T F-
T F T+
F T T+
F F T+
D = C2 ∨ C3 ∨ C4
= (A1 ∧ A2 ) ∨ (A1 ∧ A2) ∨ (A1 ∧ A2)
Chú ý ră` ng ta có thê’ thu..c hiê.n nhanh công thú.c pha’i tı̀m bă` ng cách nhu.
sau: Ta.i dòng mà hàm f nhâ.n giá tri. True (tu.o.ng ú.ng là dâ´u +) ta viê´t
thành phâ ` n tu.o.ng ú.ng cu’a công thú.c D o’. dòng này là A1 ∧ A2 ∧ ... ∧ An và
sau dó thêm dâ´u phu’ di.nh −− trên dâ ` u biê´n Ai mà ta.i dó xi tu.o.ng ú.ng nhâ.n
giá tri. False, chă’ng ha.n trong thı́ du. trên, dòng thú. 2 ta có:
A1 ∧ A2 7−→ A1 ∧ A2
(T, F)
Thı́ du. 1.6.2 Cho hàm da.i sô´ logic 3 biê´n g(x1 , x2, x3) theo ba’ng chân lý
sau:
x1 x2 x3 g(x1, x2 , x3)
T T T T+
T T F F-
T F T T+
T F F T+
F T T F-
F T F F-
F F T F-
F F F T+
28 Chu.o.ng 1. Da.i sô´ mê.nh dê
`
D = A1 ∧ A2 ∧ A3 ∨ A1 ∧ A2 ∧ A3 ∨ A1 ∧ A2 ∧ A3 ∨ A1 ∧ A2 ∧ A3 .
Chú ý: Theo cách chú.ng minh trên, ta thâ´y ră ` ng mo.i hàm da.i sô´ logic
f : {0, 1}n → {0, 1} dê ` u có thê’ biê’u diê˜n du.o..c bă
` ng công thú.c mê.nh dê
` nhò.
3 phép toán {¬, ∧, ∨} nhu. sau
n
• Da.ng chuâ’n tă´c tuyê’n hoàn toàn cu’a hàm da.i sô´ logic f : {0, 1} → {0, 1}
là công thú.c
_
fT (x1, x2 , ..., xn) = xσ1 1 ∧ xσ2 2 ∧ ... ∧ xσnn (1)
i:
Thı́ du. 1.6.3 Cho hàm da.i sô´ logic f : {0, 1}3 → {0, 1} nhu. sau:
a) Tı̀m da.ng chuâ’n tă´c tuyê’n, hô.i hoàn toàn cu’a f (x1 , x2, x3 )?
Gia’i a) Lâ.p công thú.c chuâ’n tă´c tuyê’n và hô.i hoàn toàn
fT (x1, x2, x3 ) = x1 ∧ x2 ∧ x3 ∨ x1 ∧ x2 ∧ x3 ∨ x1 ∧ x2 ∧ x3 ∨ x1 ∧ x2 ∧ x3
fH (x1, x2 , x3) = x1 ∨ x2 ∨ x3 ∧ x1 ∨ x2 ∨ x3 ∧ x1 ∨ x2 ∨ x3 ∧ x1 ∨ x2 ∨ x3 .
b) Rút go.n:
30 Chu.o.ng 1. Da.i sô´ mê.nh dê
`
Ta áp du.ng các công thú.c tu.o.ng du.o.ng cho quá trı̀nh biê´n dô’i nhu. sau:
fT = x1 ∧ x2 ∧ x3 ∨ x1 ∧ x2 ∧ x3 ∨ x1 ∧ x2 ∧ x3 ∨ x1 ∧ x2 ∧ x3
≡ x1 ∧ x2 ∧ x3 ∨ x1 ∧ x2 ∧ x3 ∨ [(x1 ∧ x2) ∧ (x3 ∨ x3)]
x T y
≡ x1 ∧ x2 ∧ x3 ∨ x1 ∧ x2 ∧ x3 ∨ x1 ∧ x2
≡ (x1 ∧ x2 ∨ x1 ∧ x2 ∧ x3 ) ∨ x1 ∧ x2 ∧ x3
≡ [x2 ∧ (x1 ∨ (x1 ∧ x3 ))] ∨ x1 ∧ x2 ∧ x3
≡ [x2 ∧ ((x1 ∨ x1) ∧ (x1 ∨ x3 ))] ∨ x1 ∧ x2 ∧ x3
x T y
≡ [x2 ∧ (x1 ∨ x3 )] ∨ (x1 ∧ x2 ∧ x3 )
≡ [(x1 ∧ x2 ∧ x3) ∨ x2 ] ∧ [(x1 ∧ x2 ∧ x3) ∨ (x1 ∨ x3 )]
≡ [(x2 ∨ x1) ∧ (x2 ∨ x2 ) ∧ (x2 ∨ x3)] ∧ [(x1 ∨ x3 ∨x1 )
x T y x T y
∧((x1 ∨ x3 ) ∨ (x2 ∧ x3))]
≡ [(x2 ∨ x1) ∧ (x2 ∨ x3 )] ∧ [(x1 ∨ x3) ∨ (x2 ∧ x3 )]
≡ (x1 ∨ x2 ) ∧ (x2 ∨ x3) ∧ [(x1 ∨ x3 ∨ x2 ) ∧ (x1 ∨ x3 ∨ x3)]
x T y
≡ (x1 ∨ x2 ) ∧ (x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x3)
≡ (x2 ∨ (x1 ∧ x3)) ∧ (x1 ∨ x2 ∨ x3 ).
fH = x1 ∨ x2 ∨ x3 ∧ x1 ∨ x2 ∨ x3 ∧ x1 ∨ x2 ∨ x3 ∧ x1 ∨ x2 ∨ x3
≡ x1 ∨ x2 ∨ x3 ∧ x1 ∨ x2 ∨ x3 ∧ [(x1 ∨ x2) ∨ (x3 ∧ x3)]
x F y
≡ x1 ∨ x2 ∨ x3 ∧ x1 ∨ x2 ∨ x3 ∧ (x1 ∨ x2)
≡ (x1 ∨ x2 ∨ x3) ∧ [x2 ∨ (x1 ∧ (x1 ∨ x3))]
≡ (x1 ∨ x2 ∨ x3) ∧ [x2 ∨ ((x1 ∧ x1) ∨ x1 ∧ x3 )]
x F y
≡ (x1 ∨ x2 ∨ x3) ∧ [x2 ∨ (x1 ∧ x3)]
≡ [(x1 ∨ x2 ∨ x3 ) ∧ x2 ] ∨ [(x1 ∨ x2 ∨ x3 ) ∧ (x1 ∧ x3 ))]
≡ [x2 ∧ x1 ∨ x2 ∧ x2 ∨ x2 ∧ x3]
x F y
∨[(x1∧ x3 ∧x1 ) ∨ ((x1 ∧ x3) ∨ (x2 ∨ x3 ))]
x F y
≡ [x1 ∧ x2 ∨ x2 ∧ x3 ] ∨ [(x1 ∧ x3) ∧ (x2 ∨ x3 )]
` y du’ cu’a các phép toán
1.6. Các hê. dâ 31
Khi dó ngu.ò.i ta cũng nói ră` ng hê. các phép toán {¬, ∧, ∨} lâ.p thành mô.t
` y du’ cu’a các phép toán logic.
hê. dâ
Mă.t khác, du..a vào công thú.c tu.o.ng du.o.ng, ngu.ò.i ta có thê’ gia’m sô´
phép toán cu’a hê. xuô´ng 2 phép toán cũng du’ dê’ biê’u diê˜n mo.i hàm da.i sô´
logic. Ta có di.nh lý sau dây.
Chú.ng minh: Chú ý ră` ng công thú.c A ∨ B là logic tu.o.ng du.o.ng vó.i công
thú.c ¬(¬A ∧ ¬B). Do dó theo di.nh lý 1.6.1 mô˜i mô.t công thú.c mê.nh dê `
.
có chú a 3 phép toán {¬, ∧, ∨} dê . . . . . .
` u là logic tu o ng du o ng vó i mô.t công thú c
mê.nh dê ` có chú a 2 phép toán {¬, ∧} (bă` ng cách thay mo.i công thú.c A ∨ B
.
bă` ng công thú.c tu.o.ng du.o.ng vó.i ¬(¬A ∧ ¬B)).
Tu.o.ng tu.. cho các phâ
` n khác cu’a di.nh lý nhò. vào các công thú.c dô`ng
nhâ´t dúng sau dây:
A ∧ B ≡ ¬(¬A ∨ ¬B)
A ∨ B ≡ (¬A) → B
A ∧ B ≡ ¬(A → ¬B)
A = A∧B ∧C ∨A∧B
≡ A∧B ∧C ∨A∧B (vı̀ luâ.t phu’ di.nh kép)
≡ A∧B ∧C ∧A∧B
A = A∧B ∧C ∨A∧B
≡ A∧B ∧C ∨A∧B
≡ A∨B ∨C ∨A∨B
` u thú vi. khác là tô`n ta.i hai phép toán hai ngôi mà chı’ câ
Mô.t diê ` n duy
nhâ´t mô.t trong hai phép toán dó là du’ dê’ biê’u diê˜n mo.i hàm da.i sô´ logic.
Dó là hai phép toán ↓ hoă.c | du.o..c go.i là các toán tu’. Sheffer vó.i ba’ng giá tri.
chân lý sau dây:
(a) Phép toán ↓
A B A↓B
T T F
T F F
F T F
F F T
Vâ.y theo ba’ng chân lý dã cho ta có: A ↓ B là True, khi và chı’ khi ca’ A
` u False.
và B dê
Dê˜ dàng kiê’m tra du.o..c ră` ng công thú.c ¬A ≡ (A ↓ A) và (A ∧ B) ≡
((A ↓ A) ↓ (B ↓ B)) dê ` u là dô`ng nhâ´t dúng. Do vâ.y chı’ câ
` n duy nhâ´t phép
.
toán ↓ là du’ dê’ xây du. ng mo.i hàm da.i sô´ logic.
(b) Phép toán |
` y du’ cu’a các phép toán
1.6. Các hê. dâ 33
A B A|B
T T F
T F T
F T T
F F T
Vâ.y theo ba’ng chân lý dã cho ta có: A|B là False, khi và chı’ khi ca’ A và
` u True.
B dê
Dê˜ dàng kiê’m tra du.o..c ră` ng các công thú.c sau là dô`ng nhâ´t dúng:
Di.nh lý 1.6.3 Chı’ câ ` n mô˜i mô.t phép toán hai ngôi ↓ hoă.c | là du’ dê’ xây
du..ng mo.i hàm da.i sô´ logic.
Chú.ng minh: Gia’ su’. h(A, B) là mô.t phép toán dâ ` y du’. Bây giò., nê´u gia’
su’. ră` ng h(T, T) nhâ.n giá tri. T thı̀ bâ´t kỳ mô.t công thú.c mê.nh dê
` du.o..c lâ.p
nên chı’ su’. du.ng phép toán h sẽ nhâ.n giá tri. T khi mo.i mê.nh dê ` dê
` u nhâ.n
giá tri. T.
Do vâ.y công thú.c ¬A không thê’ xác di.nh du.o..c nhò. toán tu’. h. Vâ.y ta
pha’i có h(T, T) = F.
Lâ.p luâ.n tu.o.ng tu.., ta có h(F, F) = T. Khi dó, ta có ba’ng chân lý nhu.
sau:
A B h(A, B)
T T F
T F
F T
F F T
Ta tiê´p tu.c lâ.p luâ.n dê’ tı́nh các giá tri. còn la.i o’. dòng thú. 2 và thú. 3 cu’a
ba’ng chân lý dô´i vó.i toán tu’. h. Nê´u dòng thú. 2 và thú. 3 o’. cô.t thú. 3 ta
nhâ.p các giá tri. là F, F hoă.c T, T thı̀ khi dó toán tu’. h là ↓ hoă.c |. Trái la.i,
nê´u ta nhâ.p vào giá tri. F, T thı̀ rõ ràng h(A, B) ≡ ¬A là công thú.c dô`ng
34 Chu.o.ng 1. Da.i sô´ mê.nh dê
`
nhâ´t dúng, còn không nê´u ta nhâ.p vào giá tri. T, F thı̀ ta có h(A, B) ≡ ¬B
là công thú.c dô`ng nhâ´t dúng. Trong ca’ hai tru.ò.ng ho..p, toán tu’. h du.o..c
xác di.nh qua phép phu’ di.nh ¬. Nhu.ng phép phu’ di.nh ¬ thı̀ ba’n thân nó là
không dâ ` y du’, vı̀ ră` ng các hàm da.i sô´ logic mô.t biê´n du.o..c xác di.nh tù. nó là
hàm dô`ng nhâ´t h(A) = A và hàm phu’ di.nh nó h(A) = ¬A, trong khi hàm
da.i sô´ logic luôn luôn nhâ.n giá tri. T thı̀ không thê’ nào xác di.nh du.o..c qua
nó.
Ta có duy nhâ´t mô.t hàm ↓ hoă.c | là du’ dê’ xây du..ng mo.i hàm da.i sô´
logic.
Vâ.y dê´n dây ta có thê’ nói mo.i công thú.c mê.nh dê ` u có thê’
` bâ´t kỳ dê
.
biê’u diê˜n qua mô.t công thú c gô`m các biê´n mê.nh dê
` và các phép toán thuô.c
` y du’ là
mô.t trong các hê. dâ
{¬, ∧}; {¬, ∨}; {¬, →}; {↓}; {|}.
2. Lâ.p ba’ng chân lý thu go.n cho các công thú.c:
a) ((A → B) ∧ A)
b) ((A ∨ (¬C)) ↔ B)
3. Kiê’m tra các công thú.c sau có dô`ng nhâ´t dúng không:
a) (((A → B) → B) → B)
b) ((A ↔ B) ↔ (A ↔ (B ↔ A)))
5. Hãy loa.i bo’ các că.p ngoă. c có thê’ tù. các công thú.c:
a) ((B ↔ ((¬C) ∨ (D ∧ A))) ↔ (B → B))
b) (((A ∧ (¬B)) ∧ C) ∨ D)
7. Hãy xác di.nh các công thú.c sau công thú.c nào là dô`ng nhâ´t dúng,
dô`ng nhâ´t sai hay thoa’ du.o..c:
a) A ↔ (A ∨ A)
b) (A → B) → ((B → C) → (A → C))
c) ((A → B) ∧ B) → A
d) (¬A) → (A ∧ B)
e) A ∧ (¬(A ∨ B))
f) (A → B) ↔ ((¬A) ∨ B)
g) (A → B) ↔ ¬(A ∧ ¬(B))
8. Chú.ng minh ră` ng các công thú.c sau dây là logic tu.o.ng du.o.ng
a) ¬(A ∧ B) và ¬(A) ∨ (¬B)
b) ¬(A ∨ B) và ¬(A) ∧ (¬B)
c) A ∧ (B ∨ C) và (A ∧ B) ∨ (A ∧ C)
d) A ∨ (B ∧ C) và (A ∨ B) ∧ (A ∨ C)
e) A ∨ (A ∧ B) và A
f) A → B và (¬B) → (¬A)
g) (A ∧ B) ∨ (¬B) và A ∨ (¬B)
36 Chu.o.ng 1. Da.i sô´ mê.nh dê
`
h) A ∧ (A ∨ B) và A
i) (A ∧ B) ∧ C và A ∧ (B ∧ C)
k) (A ∨ B) ∨ C và A ∨ (B ∨ C)
e) (A ↔ B) ↔ C và A ↔ (B ↔ C).
So. dô` vi ma.ch biê’u diê˜n nó (H.1.1) và kê´t qua’ (H.1.2)
a)
1.7. Bài tâ.p chu.o.ng 1 37
b)
c)
Hãy viê´t các công thú.c biê’u diê˜n các vi ma.ch dó, rút go.n công thú.c
vù.a tı̀m và vẽ so. dô` vi ma.ch cu’a chúng.
11. Cho hàm da.i sô´ logic f (x1 , x2, x3 ) sau dây:
a) Tı̀m da.ng chuâ’n tă´c tuyê’n, hô.i hoàn toàn cu’a f (x1 , x2, x3)?
b) Rút go.n công thú.c vù.a tı̀m.
c) Hãy biê’u diê˜n chúng qua 2 phép toán:
(1) {¬, ∧}; (2) {¬, ∨}.
Chu.o.ng 2
`
Hê. toán mê.nh dê
Trong chu.o.ng 1, ta dã bu.ó.c dâ ` u nghiên cú.u nô.i dung da.i sô´ mê.nh dê `.
. .
Dê’ nghiên cú u mô.t cách toàn diê.n và hê. thô´ng theo ma.ch tu duy suy diê˜n
cu’a con ngu.ò.i, ta chuyê’n qua viê.c kha’o sát nó mô.t cách “hı̀nh thú.c”, “trù.u
tu.o..ng”, nhu.ng la.i làm cho quá trı̀nh tu. duy, suy luâ.n mô.t cách chı́nh xác,
` y du’ và mang tı́nh châ´t logic Toán ho.c ho.n. Mă.c dù các hê. hı̀nh thú.c này
dâ
du.o..c trı̀nh bày mô.t cách trù.u tu.o..ng, nhu.ng thu..c châ´t nó nhă` m phu.c vu. cho
viê.c nghiên cú.u da.i sô´ mê.nh dê
` sâu să´c, có tı́nh hê. thô´ng và có nhũ.ng ú.ng
du.ng trong nhiê ` u lı̃nh vu..c khác liên quan dê´n ba’n châ´t cu’a da.i sô´ mê.nh dê`.
(2) Mô.t thu’ tu.c cho phép xác di.nh mô.t biê’u thú.c dã cho có pha’i là mô.t
công thú.c hay không.
(3) Mô.t tâ.p hũ.u ha.n các công thú.c du.o..c go.i là các tiên dê
` cu’a lý thuyê´t
S.
(4) Mô.t tâ.p hũ.u ha.n R1 , R2 , ..., Rk các quy tă´c dâ˜n xuâ´t cho phép ta dâ˜n
du.o..c tù. mô.t tâ.p hũ.u ha.n các công thú.c dê´n mô.t tâ.p các công thú.c mó.i.
Di.nh nghı̃a 2.1.2 Mô.t dãy các công thú.c A1, A2, ...An du.o..c go.i là dâ˜n
xuâ´t trong S nê´u bâ´t kỳ mô.t công thú.c Ai hoă.c là tiên dê ` hoă.c là dâ˜n du.o..c
tru..c tiê´p tù. các công thú.c dú.ng tru.ó.c nó nhò. qui tă´c dâ˜n xuâ´t.
` trong hê. toán mê.nh dê
2.1. Hê. tiên dê ` 41
Di.nh nghı̃a 2.1.3 Mô.t công thú.c A cu’a lý thuyê´t S du.o..c go.i là di.nh lý
cu’a lý thuyê´t S nê´u tô`n ta.i mô.t dâ˜n xuâ´t trong S : A1 , A2, ..., Ak sao cho
Ak = A, và dâ˜n xuâ´t này du.o..c go.i là dâ˜n xuâ´t cu’a công thú.c A.
Di.nh nghı̃a 2.1.4 Lý thuyê´t mà trong dó có tô`n ta.i mô.t thuâ.t toán cho
phép xác di.nh mô.t công thú.c dã cho có dâ˜n du.o..c hay không du.o..c go.i là lý
thuyê´t gia’i du.o..c; Trái la.i, nó du.o..c go.i là lý thuyê´t không gia’i du.o..c.
Di.nh nghı̃a 2.1.5 Mô.t công thú.c A du.o..c go.i là dâ˜n du.o..c trong S tù. tâ.p
ho..p Γ các công thú.c, khi và chı’ khi tô`n ta.i dãy các công thú.c A1, A2 , ...An
sao cho An = A và ∀i (i = 1...n) Ai hoă.c là tiên dê ` n tu’. cu’a
` , hoă.c là phâ
Γ, hoă.c là dâ˜n du.o..c tru..c tiê´p tù. các công thú.c dú.ng tru.ó.c nó nhò. quy tă´c
dâ˜n xuâ´t.
Dãy công thú.c này du.o..c go.i là dâ˜n xuâ´t cu’a A tù. Γ. Các phâ
` n tu’. cu’a
Γ du.o..c go.i là gia’ thiê´t, và ta ký hiê.u nhu. sau:
Γ ` A hoă.c Γ `S A
và du.o..c do.c là “A dâ˜n du.o..c tù. Γ” hoă.c “A dâ˜n du.o..c tù. Γ trong S”.
Chú ý 1
1a) Tru.ò.ng ho..p Γ là hũ.u ha.n: Γ := {B1, B2, ..., Bm} thı̀ ta ký hiê.u:
1b) Tru.ò.ng ho..p nê´u Γ = ∅ thı̀ Γ ` A, khi và chı’ khi A là di.nh lý, và ta ký
hiê.u: ` A.
Chú ý 2
` là dâ˜n du.o..c tù. tâ.p bâ´t kỳ Γ các công thú.c
2a) Mô˜i mô.t tiên dê
2b) Mô˜i mô.t di.nh lý là dâ˜n du.o..c tù. tâ.p bâ´t kỳ Γ các công thú.c
(2) Γ ` A, khi và chı’ khi tô`n ta.i mô.t tâ.p ∆ ⊆ Γ sao cho ∆ ` A
.
O’ dây ta thâ´y tı́nh châ´t (1) chı’ ra ră` ng mô.t công thú.c dã dâ˜n du.o..c tù.
mô.t tâ.p các công thú.c thı̀ nó cũng dâ˜n du.o..c tù. tâ.p ló.n ho.n, nghı̃a là nê´u
ta có thêm mô.t sô´ gia’ thiê´t vào tâ.p dã dâ˜n du.o..c thı̀ tı́nh châ´t dâ˜n du.o..c cu’a
công thú.c vâ˜n không thay dô’i.
Tù. tı́nh châ´t (1) buô.c ta pha’i suy nghı̃ làm thê´ nào dê’ cho.n du.o..c mô.t
tâ.p gia’ thiê´t sao cho nó vù.a du’, không thù.a và cũng không thiê´u. Nê´u gia’
thiê´t thù.a thı̀ tı́nh châ´t dâ˜n du.o..c sẽ ı́t du.o..c thuyê´t phu.c ho.n, còn nê´u gia’
thiê´t thiê´u thı̀ ta không thê’ dâ˜n du.o..c dê´n diê
` u pha’i chú.ng minh. Dây chı́nh
là ba’n châ´t dâ` y du’ cu’a tı́nh châ´t (2).
` u” cu’a phép dâ˜n du.o..c cu’a mô.t công
Tı́nh châ´t (3) thê’ hiê.n “tı́nh bă´c câ
thú.c. Ta có thê’ hı̀nh dung bă` ng hı̀nh a’nh phác hoa. sau dây:
` trong hê. toán mê.nh dê
2.1. Hê. tiên dê ` 43
` L bao gô`m :
Di.nh nghı̃a 2.1.6 Lý thuyê´t tiên dê
(2) Công thú.c du.o..c xây du..ng bă` ng dê. quy nhu. sau:
` u là công thú.c
` dê
(a) Tâ´t ca’ các biê´n mê.nh dê
(b) Nê´u A và B là công thú.c thı̀ (¬A), (A → B) cũng là công thú.c
(c) Mô.t biê’u thú.c là công thú.c, nê´u nó du.o..c lâ.p nên tù. co. so’. (a)
và (b).
(4) Quy tă´c dâ˜n xuâ´t Modus Ponens (Kê´t luâ.n): Nê´u A và A → B thı̀ B.
44 Chu.o.ng 2. Hê. toán mê.nh dê
`
Chú ý 3 Dô´i vó.i các phép toán còn la.i ∧, ∨, ↔ ta có thê’ biê’u diê˜n chúng
qua hai phép toán {¬, →} nhò. các công thú.c tu.o.ng du.o.ng sau dây:
.
Chú.ng minh: O’ dây ta ký hiê.u MP là viê´t tă´t cu’a Modus Ponens. Ta xây
du..ng dâ˜n xuâ´t cu’a công thú.c A → A trong L nhu. sau:
2. A → ((A → A) → A) (A1)
4. (A → (A → A)) (A1)
5. (A → A) (3, 4, MP)
Di.nh lý 2.1.1 (di.nh lý suy diê˜n) Nê´u Γ là tâ.p các công thú.c, A và B là
các công thú.c và Γ, A ` B thı̀ Γ ` A → B.
Tru.ò.ng ho..p dă.c biê.t, nê´u A ` B thı̀ ` A → B (Herbrand).
` trong hê. toán mê.nh dê
2.1. Hê. tiên dê ` 45
Chú.ng minh:
Gia’ su’. B1, B2 ...Bn là dâ˜n xuâ´t tù. Γ ∪ {A}, trong dó Bn = B. Ta chú.ng
minh bă` ng qui na.p theo i (i = 1...n): Γ ` A → Bi .
2) Gia’ thiê´t qui na.p: Gia’ su’. công thú.c Γ ` A → Bk dúng vó.i mo.i k < i.
3) Chú.ng minh qui na.p: Ta chú.ng minh ră` ng công thú.c cũng dúng vó.i
k = i:
Γ ` A → Bi .
Thâ.t vâ.y, ta xét 4 tru.ò.ng ho..p có thê’ xa’y ra dô´i vó.i Bi nhu. sau:
Bi hoă.c là phâ ` n tu’. cu’a Γ, hoă.c là tiên dê
` , hoă.c là Bi = A, hoă.c Bi dâ˜n du.o..c
tru..c tiê´p tù. các công thú.c Bj và Bm sao cho
Trong 3 tru.ò.ng ho..p dâ ` u ta chú.ng minh tu.o.ng tu.. nhu. i = 1. Tru.ò.ng
ho..p thú. 4, ta su’. du.ng gia’ thiê´t qui na.p:
Γ ` A → Bj và Γ ` A → (Bj → Bi ).
` (A2):
Theo tiên dê
Γ ` (A → Bj ) → (A → Bi ).
46 Chu.o.ng 2. Hê. toán mê.nh dê
`
Γ`A→B
Hê. qua’ 2.1.1 Dô´i vó.i các công thú.c A, B, C tuỳ ý
(i) A → B, B → C ` A → C (bă´c câ
` u)
1. A → B (gia’ thiê´t)
2. B → C (gia’ thiê´t)
3. A (gia’ thiê´t)
4. B (1, 3, MP)
5. C (2, 4, MP)
1. A → (B → C) (gia’ thiê´t)
2. B (gia’ thiê´t)
3. A (gia’ thiê´t)
4. B → C (1, 3, MP)
5. C (2, 4, MP)
A → (B → C), B, A ` C.
` (A → (B → C)) → (B → (A → C)).
Hê. qua’ 2.1.2 Dô´i vó.i bâ´t kỳ các công thú.c A, B các công thú.c sau dây
` u là di.nh lý trong L:
dê
a) ¬¬B → B
b) B → ¬¬B
c) ¬A → (A → B)
d) (¬B → ¬A) → (A → B)
e) (A → B) → (¬B → ¬A)
48 Chu.o.ng 2. Hê. toán mê.nh dê
`
g) (A → B) → ((¬A → B) → B).
Chú.ng minh:
a) `x ¬¬B → B
Ta xây du..ng dâ˜n xuâ´t nhu. sau:
`x ¬¬B → B.
b) `x B → ¬¬B
` trong hê. toán mê.nh dê
2.1. Hê. tiên dê ` 49
c) `x ¬A → (A → B)
1. ¬A (gia’ thiê´t)
2. A (gia’ thiê´t)
3. A → (¬B → A) (A1)
4. ¬A → (¬B → ¬A) (A1)
5. ¬B → A (2, 3, MP)
6. ¬B → ¬A (1, 4, MP)
7. (¬B → ¬A) → ((¬B → A) → B) (A3)
8. (¬B → A) → B (6, 7, MP)
9. B (5, 8, MP)
¬A `x A → B
`x ¬A → (A → B).
d) `x (¬B → ¬A) → (A → B)
1. ¬B → ¬A (gia’ thiê´t)
2. A (gia’ thiê´t)
3. (¬B → ¬A) → ((¬B → A) → B) (A3)
4. A → (¬B → A) (A1)
5. (¬B → A) → B (1, 3, MP)
50 Chu.o.ng 2. Hê. toán mê.nh dê
`
¬B → ¬A ` A → B
`x (¬B → ¬A) → (A → B)
e) `x (A → B) → (¬B → ¬A)
1. A → B (gia’ thiê´t)
2. ¬¬A → A (theo a))
3. ¬¬A → B (1, 2, bă´c câ
` u)
4. B → ¬¬B (theo b))
5. ¬¬A → ¬¬B (3, 4, bă´c câ
` u)
6. (¬¬A → ¬¬B) → (¬B → ¬A) (theo d))
7. ¬B → ¬A (5, 6, MP)
`x (A → B) → (¬B → ¬A.)
` trong hê. toán mê.nh dê
2.1. Hê. tiên dê ` 51
` A → ((A → B) → B) (1)
g) `x (A → B) → ((¬A → B) → B)
1. A → B (gia’ thiê´t)
2. ¬A → B (gia’ thiê´t)
3. (A → B) → (¬B → ¬A) (theo e))
4. ¬B → ¬A (1, 3, MP)
5. (¬A → B) → (¬B → ¬¬A) (the e))
6. ¬B → ¬¬A (2,5 MP)
7. (¬B → ¬¬A) → ((¬B → ¬A) → B) (A3)
8. (¬B → ¬A) → B (6, 7, MP)
9. B (4, 8, MP)
`x (A → B) → ((¬A → B) → B).
52 Chu.o.ng 2. Hê. toán mê.nh dê
`
Di.nh nghı̃a 2.2.2 Công thú.c A du.o..c go.i là logic kéo theo tù. tâ.p các công
thú.c S, nê´u trong mo.i minh hoa. mà ta.i dó các công thú.c thuô.c S dê
` u nhâ.n
giá tri. dúng thı̀ A cũng dúng. Khi dó ta ký hiê.u:
S |= A.
Trong tru.ò.ng ho..p dă.c biê.t, nê´u S = ∅ thı̀ khi dó |= A nghı̃a là công thú.c A
là hă` ng dúng. Dê˜ dàng chú.ng minh du.o..c các tı́nh châ´t sau.
1. A |= B ⇔|= (A → B)
2.2.2 `
Bài toán lâ.p luâ.n trong logic mê.nh dê
Trong nhũ.ng ú.ng du.ng cu’a logic mê.nh dê ` vào các hê. trı́ tuê. nhân ta.o, ta
thu.ò.ng gă.p bài toán lâ.p luâ.n (reasoning) sau dây:
2.2. Nguyên lý suy diê˜n và bài toán lâ.p luâ.n trong logic mê.nh dê
` 53
Cho mô.t co. so’. tri thú.c S gô`m các công thú.c H1 , H2 , ..., Hn và mô.t công
thú.c dı́ch (Goal) là A. Ho’i ră` ng A có pha’i là logic kéo theo tù. hê. S hay
không?
Tú.c là
Theo nguyên lý suy diê˜n, ta lâ.p hê. mó.i S = {H1 , H2 , ..., Hn , ¬A} có là
0
` bài toán: mô.t tâ.p các Clause (mà hô.i tu.o.ng du.o.ng vó.i tâ.p S ) có là
0
qui vê
mâu thuâ˜n hay không?
Phu.o.ng pháp thu.ò.ng du.o..c dùng là phu.o.ng pháp phân gia’i (resolution)
cu’a Robinson dê ` xuâ´t mà nô.i dung có thê’ trı̀nh bày so. lu.o..c nhu. sau:
Gia’ su’. S có hai Clause:
C1 = D1 ∨ Q và C2 = D2 ∨ ¬Q, trong dó Q là ký hiê.u mê.nh dê ` . Khi dó
ta lâ.p Clause mó.i C = D1 ∨ D2 bă` ng cách khu’. ký hiê.u mê.nh dê ` Q và ¬Q
tu.o.ng ú.ng trong C1 và C2 rô`i lâ.p tuyê’n mó.i C. Khi dó C du.o..c go.i là gia’i
thú.c tù. các Clause C1 và C2 . Dê˜ dàng thâ´y ră` ng {C1, C2 } |= C, và do dó
hai tâ.p S và S = S ∪ {C} tu.o.ng ú.ng vó.i nhau.
0
Phu.o.ng pháp gia’i du.o..c thu..c hiê.n trên nguyên lý gia’i sau dây:
Cho S là mô.t tâ.p các Clause. Xuâ´t phát tù. S ta thu..c hiê.n liên tiê´p các
phép gia’i thú.c, tú.c là thêm vào S các gia’i thú.c cu’a bâ´t kỳ 2 Clause có tru.ó.c
(hai Clause có da.ng Q và ¬Q) cho dê´n khi thu du.o..c gia’i thú.c rô˜ng hoă.c
không có thêm mô.t gia’i thú.c nào nũ.a thı̀ kê´t thúc. Khi dó tâ.p S là mâu
thuâ˜n, khi và chı’ khi ta thu du.o..c gia’i thú.c rô˜ng .
Tù. nguyên lý phân gia’i ta có thê’ áp du.ng cho nhiê ` u cách thú.c khác nhau
dê’ thu..c hiê.n phu.o.ng pháp gia’i nhă` m ú.ng du.ng trong hê. tri thú.c chú.ng minh
54 Chu.o.ng 2. Hê. toán mê.nh dê
`
tı́nh mâu thuâ˜n cu’a mô.t tâ.p các công thú.c logic mê.nh dê
` hoă.c logic tân tù.
(predicate), tú.c là hô.i cu’a công thú.c dó cho ta kê´t qua’ là mô.t công thú.c
dô`ng nhâ´t sai.
Vâ.y ta có: S = {P ∨ Q, Q, P } là mâu thuâ˜n, khi và chı’ khi hô.i cu’a nó là
công thú.c A = (P ∨ Q) ∧ Q ∧ P là dô`ng nhâ´t sai.
` n biê´n dô’i nhu. sau:
Thâ.t vâ.y, ta chı’ câ
A = (P ∨ Q) ∧ Q ∧ P
≡ (P ∨ Q) ∧ (Q ∨ P )
≡ (P ∨ Q) ∧ (P ∨ Q) = F alse
| {z } | {z }
X X
Ta có cây dâ˜n xuâ´t cu’a rô˜ng nhu. sau:
2.3. Mô.t sô´ di.nh lý trong hê. toán mê.nh dê
` 55
2.3 Mô.t sô´ di.nh lý trong hê. toán mê.nh dê
`
2.3.1 ` y du’
Tı́nh dâ
Di.nh lý 2.3.1 Mô˜i mô.t di.nh lý cu’a lý thuyê´t tiên dê ` u là dô`ng nhâ´t
` L dê
dúng.
Chú.ng minh: Ta dê˜ dàng kiê’m tra du.o..c ră` ng mô˜i mô.t tiên dê
` tù. (A1) dê´n
(A3) dê ` u là dô`ng nhâ´t dúng.
Mă.t khác theo di.nh lý 1.4.1 (chu.o.ng 1) qui tă´c Modus Ponens chuyê’n
các công thú.c dô`ng nhâ´t dúng thành công thú.c dô`ng nhâ´t dúng. Diê ` u dó
chú.ng to’ ră` ng mô˜i mô.t di.nh lý cu’a lý thuyê´t tiên dê ` u là dô`ng nhâ´t
` L dê
dúng.
(
0 Bi , nê´u Bi = T
Bi =
¬Bi , nê´u Bi = F
(
0 A, nê´u A nhâ.n giá tri. T dô´i vó.i bô. phân bô´ I0 nói trên
A =
¬A, nê´u A nhâ.n giá tri. F dô´i vó.i bô. phân bô´ I0 nói trên
Thı́ du. 2.3.1 Cho A = ¬(¬A → B). Ta lâ.p ba’ng giá tri. chân lý cu’a công
thú.c A nhu. sau:
56 Chu.o.ng 2. Hê. toán mê.nh dê
`
A B ¬(¬A → B)
T T F
T F F
F T F
F F T
Gia’ su’. ta lâ´y bô. phân bô´ o’. dòng thú. 3: (F, T ) 7→ F thı̀ khi dó ta có
0
(theo A cu’a Bô’ dê ` 2.3.1):
Chú.ng minh: Ta chú.ng minh bă` ng qui na.p theo n là sô´ các phép toán có
mă.t trong công thú.c A.
1. n = 0: Khi dó A chı’ chú.a dúng mô.t biê´n B1 và ta dê˜ dàng có du.o..c:
B1 ` B1 và ¬B1 ` ¬B1 luôn luôn dúng.
• Tru.ò.ng ho..p 1: A = ¬B, trong dó B có ı́t ho.n n phép toán. Xét
mô.t bô. phân bô´ I0 nào dó các giá tri. chân lý cu’a các biê´n có mă.t
trong A.
(1a) Nê´u B nhâ.n giá tri. T thı̀ B = B và A nhâ.n giá tri. F dô´i vó.i
0
0 0 0 0
Theo gia’ thiê´t qui na.p cu’a B : B1, B2, ..., Bk ` B , do dó:
0 0 0 0 0 0 0
B1, B2 , ..., Bk ` B. Vâ.y B1 , B2 , ..., Bk ` A .
0
(1b) Nê´u B nhâ.n giá tri. F thı̀ B = ¬B và A nhâ.n giá tri. T dô´i
vó.i bô. phân bô´ I0 này. Do dó ta có công thú.c:
0
A = A = ¬B.
0 0 0 0
Theo gia’ thiê´t qui na.p cu’a B: B1 , B2 , ..., Bk ` B , nên ta có:
0 0 0
B1, B2 , ..., Bk ` ¬B
0 0 0 0
Vâ.y B1, B2 , ..., Bk ` A .
• Tru.ò.ng ho..p 2: A = (B → C), trong dó B và C có sô´ phép toán ı́t
ho.n n so vó.i A. Khi dó, theo gia’ thiê´t qui na.p:
0 0 0 0 0 0 0 0
B1, B2 , ..., Bk ` B và B1 , B2, ..., Bk ` C .
(2a) Nê´u B nhâ.n giá tri. F thı̀ A nhâ.n giá tri. T . Khi dó công thú.c
0 0 0 0 0 0
B = ¬B và A = A. Do dó B1 , B2, ..., Bk ` ¬B .
Mă.t khác, theo hê. qua’ 2.1.2 (c) và qui tă´c MP:
B1, B2 , ..., Bk ` B → C, nhu.ng B → C chı́nh là A .
0 0 0 0
0 0 0 0
Vâ.y B1, B2 , ..., Bk ` A .
0
(2b) Nê´u C nhâ.n giá tri. T thı̀ A cũng nhâ.n giá tri. T . Do dó C = C
0 0 0 0
và A = A. Theo gia’ thiê´t qui na.p: B1 , B2 , ..., Bk ` C và tiên dê `
(A1) ta có: B1 , B2 , ..., Bk ` B → C nhò. qui tă´c Modus Ponens,
0 0 0
(2c) Nê´u B nhâ.n giá tri. T và C nhâ.n giá tri. F thı̀ A nhâ.n giá tri.
0 0 0
F . Do dó B = B, C = ¬C và A = ¬A.
0 0 0 0 0 0
Ta có: B1, B2 , ..., Bk ` B và B1 , B2, ..., Bk ` ¬C. Do dó theo hê. qua’
0 0 0
2.1.2 (f) và qui tă´c Modus Ponens: B1, B2 , ..., Bk ` ¬(B → C),
nhu.ng ¬(B → C) chı́nh là A .
0
0 0 0 0
Vâ.y B1, B2 , ..., Bk ` A
58 Chu.o.ng 2. Hê. toán mê.nh dê
`
Di.nh lý 2.3.2 Nê´u A là mô.t công thú.c dô`ng nhâ´t dúng trong L thı̀ A là
mô.t di.nh lý trong L.
Chú.ng minh: Gia’ su’. A là dô`ng nhâ´t dúng và B1 , B2, ..., Bk là các biê´n có
0 0 0
mă.t trong công thú.c A. Dô´i vó.i bâ´t kỳ mô.t bô. phân bô´ I0 các giá tri. chân lý
0 0 0
cu’a các biê´n B1 , B2, ..., Bk chúng ta có B1 , B2, ..., Bk ` A (Theo bô’ dê ` 2.3.1
0
và A = A vı̀ A dô`ng nhâ´t dúng).
0 0 0
Do dó, nê´u Bk nhâ.n giá tri. T thı̀ B1 , B2 , ..., Bk−1 , Bk ` A, và nê´u Bk
0 0 0
nhâ.n giá tri. F thı̀ B1 , B2 , ..., Bk−1, ¬Bk ` A.
0 0 0 0 0
Mă.t khác, theo di.nh lý suy diê˜n: B1 , B2, ..., Bk−1 ` Bk → A và B1 , B2, ...,
0
Bk−1 ` ¬Bk → A.
Do dó theo Hê. qua’ 2.1.2 (g) và qui tă´c Modus Ponens:
0 0 0
B1, B2 , ..., Bk−1 ` A.
Tu.o.ng tu.., Bk−1 có thê’ nhâ.n giá tri. T hoă.c F , áp du.ng di.nh lý suy diê˜n
và hê. qua’ 2.1.2 (g), ta có thê’ loa.i trù. Bk−1 dúng nhu. Bk . Khi dó chı’ câ
0 0
`n
. . .
thu. c hiê.n sau k bu ó c ta có: `y A
Tù. di.nh lý 2.3.1 và di.nh lý 2.3.2 ta có di.nh lý sau dây:
2.3.2 ˜n
Tı́nh phi mâu thuâ
Di.nh lý 2.3.4 (phi mâu thuâ˜n)
Hê. L là phi mâu thuâ˜n, nghı̃a là trong L không tô`n ta.i mô.t công thú.c A
sao cho A và ¬A dê ` u là di.nh lý.
Chú.ng minh: Theo di.nh lý dâ ` y du’: mô˜i mô.t di.nh lý cu’a lý thuyê´t tiên dê
`
L là dô`ng nhâ´t dúng nên phu’ di.nh cu’a nó là không dô`ng nhâ´t dúng. Do dó
không thê’ tô`n ta.i mô.t công thú.c A sao cho A và ¬A dê ` u là di.nh lý.
2.3. Mô.t sô´ di.nh lý trong hê. toán mê.nh dê
` 59
Chú.ng minh: Phu.o.ng pháp chung dê’ chú.ng minh tı́nh dô.c lâ.p cu’a mô.t tiên
` A, ta pha’i cho.n ra mô.t tı́nh châ´t P nào dó sao cho:
dê
• Qui tă´c Modus Ponens có tı́nh châ´t P : nê´u A → B và A có tı́nh châ´t P
thı̀ B cũng có tı́nh châ´t P .
` (A1)
a) Tı́nh dô.c lâ.p cu’a tiên dê
A ¬A A B A→B
0 1 0 0 0
1 1 1 0 2
2 0 2 0 0
0 1 2
1 1 2
2 1 0
0 2 2
1 2 0
2 2 0
60 Chu.o.ng 2. Hê. toán mê.nh dê
`
Gia’ su’. cho mô.t bô. phân bô´ các giá tri. 0, 1, 2 cu’a các biê´n có mă.t trong
công thú.c A. Khi dó nhò. hai ba’ng này ta xác di.nh du.o..c mô.t giá tri.
tu.o.ng ú.ng cu’a công thú.c A. Ta du.a ra mô.t tı́nh châ´t P nhu. sau:
Nê´u A luôn luôn nhâ.n giá tri. 0 thı̀ A du.o..c go.i là cho.n (select). Ta dê˜
dàng kiê’m tra du.o..c ră` ng các tiên dê ` (A2) và (A3) dê
` u có tı́nh châ´t
.
cho.n. Nhu ng tiên dê ` (A1): (A → (B → A)) không có tı́nh châ´t cho.n,
vı̀ ră` ng công thú.c này nhâ.n giá tri. là 2 khi A = 1 và B = 2.
` (A2)
b) Tı́nh dô.c lâ.p cu’a tiên dê
Xét các ba’ng sau dây
A ¬A A B A→B
0 1 0 0 0
1 0 1 0 0
2 1 2 0 0
0 1 2
1 1 2
2 1 0
0 2 1
1 2 0
2 2 0
Ta go.i mô.t công thú.c luôn luôn nhâ.n giá tri. 0 tu.o.ng ú.ng vó.i hai ba’ng
này là kỳ cu.c (grotesque). Dê˜ dàng kiê’m tra du.o..c ră` ng qui tă´c Modus
Ponens có tı́nh châ´t kỳ cu.c và các tiên dê` (A1) và (A3) dê ` u có tı́nh
` (A2): (A → (B → C)) → ((A → B) →
châ´t kỳ cu.c. Tuy nhiên tiên dê
(A → C)) không có tı́nh châ´t kỳ cu.c, vı̀ ră` ng công thú.c này nhâ.n giá
tri. là 2 khi A = 0, B = 0 và C = 1.
` (A3) Gia’ su’. A là mô.t công thú.c. Khi dó h(A)
c) Tı́nh dô.c lâ.p cu’a tiên dê
là công thú.c nhâ.n du.o..c tù. A bă` ng cách bo’ di tâ´t ca’ các dâ´u phu’ di.nh
(¬) có mă.t trong A. Ta dê˜ dàng kiê’m tra du.o..c ră` ng mô˜i mô.t công
2.4. Gió.i thiê.u vài nét vê
` logic da tri. 61
vó.i hai phép toán ¬, → trong chu.o.ng tru.ó.c thı̀ o’. dây là logic 2 - giá tri. cu’a
chu.o.ng mu.c này. Các công thú.c phi thu.ò.ng trong tru.ò.ng ho..p này du.o..c go.i
là dô`ng nhâ´t dúng. Hê. L là mô.t thành công dô´i vó.i logic này nhu. các di.nh
lý 2.3.1 và 2.3.3 dã chú.ng minh. Trong các chú.ng minh vê ` tı́nh dô.c lâ.p cu’a
. . .
` (A1) - (A2) ngu ò i ta dã su’ du.ng logic 3 - giá tri. {0, 1, 2}.
các tiên dê
Chú.ng minh: Dê˜ dàng nhâ´t là ta dùng phu.o.ng pháp lâ.p ba’ng chân lý cho
mo.i công thú.c bâ´t kỳ dô´i vó.i các biê´n mê.nh dê
` có mă.t trong công thú.c dó,
và ta có thê’ xây du..ng thuâ.t toán dê’ quyê´t di.nh vó.i mo.i công thú.c A: A có
pha’i là hă` ng dúng hay không.
Mă.t khác theo di.nh lý dâ` y du’ 2.3.3: A là hă` ng dúng khi và chı’ khi A là
di.nh lý trong L. Do vâ.y thuâ.t toán dó cũng quyê´t di.nh du.o..c vó.i mo.i công
thú.c A bâ´t kỳ: A có pha’i là di.nh lý trong L hay không.
(1) A ∨ A → A
(2) A → A ∨ B
(3) A ∨ B → B ∨ A
(4) (B → C) → (A ∨ B → A ∨ C).
(1) A → (A ∧ A)
(2) A ∧ B → A
(3) (A → B) → (¬(B ∧ C) → ¬(C ∧ A)).
(1) A → (B → A)
(2) (A → (B → C)) → ((A → B) → (A → C))
(3) A ∧ B → A
(4) A ∧ B → B
(5) A → (B → (A ∧ B))
(6) A → (A ∨ B)
(7) B → (A ∨ B)
64 Chu.o.ng 2. Hê. toán mê.nh dê
`
(10) ¬¬A → A
Dô´i vó.i phép toán ↔: công thú.c A ↔ B ta vâ˜n xác di.nh là
(A → B) ∧ (B → A).
Gia’i: Dê’ gia’i bài toán này, ta hãy ký hiê.u các su.. kiê.n cu’a bài toán nhò. các
` sau:
biê´n mê.nh dê
A = “Nga di làm vê ` muô.n”
B = “Vo.. Nga sẽ râ´t giâ.n dô˜i”
C = “Hoà thu.ò.ng xuyên vă´ng nhà”
D = “Vo.. Hoà cũng râ´t giâ.n dô˜i”
E = “Cô Hă` ng ba.n cu’a ho. nhâ.n du.o..c lò.i than phiê ` n”
Du. a vào nô.i dung bài toán vó i các su. kiê.n dã du o. c mô ta’, ta xây du..ng
. . . . .
du.o..c su.. suy diê˜n cu’a bài toán nhu. sau:
` y du’ cho bài toán suy diê˜n trong logic mê.nh dê
2.7. Áp du.ng di.nh lý dâ ` 65
A→B (H1)
C →D (H2)
(B ∨ D) → E (H3)
E (H4)
∴ A∧C (A)
B = (A → B) ∧ (C → D) ∧ [(B ∨ D)E] ∧ E → (A ∧ C)
là dô`ng nhâ´t dúng (di.nh lý) trong hê. toán mê.nh dê `.
Thâ.t vâ.y, ta chú.ng minh bă` ng pha’n chú.ng:
Gia’ su’. ngu.o..c la.i, B - không dô`ng nhâ´t dúng, nghı̃a là tô`n ta.i mô.t bô. phân
bô´ I0 các giá tri. chân lý cu’a các biê´n có mă.t trong B sao cho B(I0)=False,
nghı̃a là:
(
(A → B) ∧ (C → D) ∧ [(B ∨ D) → E] ∧ E = T (1)
A∧C =F (2)
B∨D = F (9)
⇔ B = F (10)
và D = F (11)
66 Chu.o.ng 2. Hê. toán mê.nh dê
`
a) A → (B → A)
b) (A → B) → ((A → (B → C)) → (A → C))
c) A → (B → A ∧ B)
d) A ∧ B → A
e) A ∧ B → B
f) A → A ∨ B
g) B → A ∨ B
h) (A → C) → ((B → C) → ((A ∨ B) → C)).
2. Chú.ng minh các công thú.c sau là di.nh lý trong L1 và L2 :
i) `L2 A ∧ B → B ∧ A.
a) A → B `L1 C ∨ A → C ∨ B
b) C → A, A → B `L1 C → B
c) A → B, B → C `L2 ¬(¬C ∧ A)
d) ¬B → ¬A `L2 A → B
e) A → B, B → C `L4 A → C
f) B, ¬B `L4 C.
5. Kiê’m tra các công thú.c sau có pha’i là di.nh lý hay không:
a) (A → B) ∧ (B → C) ∧ (D ∨ C) ∧ (D ∨ E) ∧ E → (A ∨ B)
b) (A → B) ∧ B ∧ C → A ∨ C
c) A ∧ (A → B) ∧ (C ∨ D) ∧ (D → B) → (C ∨ E)
6. Kiê’m tra công thú.c sau có pha’i là hă` ng dúng không
A = (A ∨ B) ∧ (C ∨ D) ∧ (A ∨ C) → (B ∨ D)
bă` ng cách:
7. Chú.ng minh các công thú.c sau bă` ng cách xây du..ng dâ˜n xuâ´t:
68 Chu.o.ng 2. Hê. toán mê.nh dê
`
a) A → (B → C), A ∧ B ` A
b) A → (B → C), A ∧ B ` B
c) A, B, A → (B → C) ` C
d) A → (B → C), A ∧ B ` C
A = (A ∨ B ∨ C) ∧ A ∧ (A ∨ B ∨ C) ∧ (A ∨ B)
10. Kiê’m tra các công thú.c sau có pha’i là di.nh lý hay không:
a) A = (A ∨ B) ∧ (B ∨ C) ∧ (A ∨ C) ∧ (A ∨ B ∨ C) → A ∧ B ∧ C
b) A = (B ∧ C ∧ D) ∨ (B ∧ D) ∨ (C ∧ D) ∨ B
11. Chú.ng minh ră` ng các công thú.c sau là hă` ng dúng:
a) (A → B) ∧ (B → C) ∧ C → A
b) (A → B) ∧ (B → C) ∧ (D ∨ C) ∧ (D ∨ E) ∧ E → A
c) (A → B) ∧ (A → C) ∧ (C → D) → (B → D)
d) (X → Y ) ∧ (Y → Z) ∧ (Z1 ∨ Z) ∧ (Z 1 ∨ Z2 ) ∧ Z 2 → X
e) ((X1 ∨X2 ) → X3 )∧(X3 → (X1 ∨X5 )∧X 1 ∧X 6 ∧(X 6 → X 5 )) → X1
12. Chú.ng minh ră` ng công thú.c sau dây (X1 → X2 ) ∧ (X 3 ∨ X4 ) ∧ (X1 ∨
X3 ) → (X 2 → X4 ) là hă` ng dúng bă` ng các phu.o.ng pháp:
13. Chú.ng minh ră` ng các công thú.c sau là không hă` ng dúng
2.8. Bài tâ.p chu.o.ng 2 69
a) (X ↔ Y ) ∧ (Y → Z1 ) ∧ (Z1 ∨ Z 2 ) ∧ (Z 2 → Y ) → Z2
b) X1 ∧ (X1 → X2 ) ∧ (X1 → (X3 ∨ X 2 )) ∧ (X 3 ∨ X 4 ) → X4
c) (X 1 → X2 ) ∧ ((X2 ∧ X3 ) → X4 ) ∧ (X5 → X3 ) ∧ X1 → (X 4 → X 5 ).
Chu.o.ng 3
3.6 Tı́nh phi mâu thuâ ` y du’ cu’a logic tân tù.
˜n và dâ 110
3.6.1 Các khái niê.m và di.nh nghı̃a . . . . . . . . . . . . 110
3.6.2 Tı́nh phi mâu thuâ˜n cu’a lý thuyê´t tân tù. câ´p 1 PP111
3.6.3 Mô.t sô´ di.nh lý trong lý thuyê´t tân tù. câ´p 1 K . . 112
3.6.4 Tı́nh dâ ` y du’ cu’a lý thuyê´t tân tù. câ´p 1K . . . . . 120
3.7 Áp du.ng trong chú.ng minh di.nh lý cu’a lý thuyê´t
tân tù. câ´p 1 . . . . . . . . . . . . . . . . . . . . . . 121
3.8 Bài tâ.p chu.o.ng 3 . . . . . . . . . . . . . . . . . . 123
Logic tân tù. là mô.t hê. thô´ng logic phô’ biê´n nhâ´t mà ngôn ngũ. cu’a nó
giúp ta hı̀nh thành các khái niê.m, các thuô.c tı́nh, các quan hê., và tù. dó di
dê´n phán doán, cũng nhu. các co. chê´ lâ.p luâ.n chă.t chẽ, giúp con ngu.ò.i hiê’u
rõ và sâu să´c ba’n châ´t cu’a các dô´i tu.o..ng. Do dó có thê’ nói logic tân tù.
là mô.t công cu. nê` n ta’ng cho su.. phát triê’n cu’a nhiê` u lý thuyê´t khoa ho.c,
dă.c biê.t là Toán ho.c, chă’ng ha.n nhu. bài toán “Tô`n ta.i ı́t nhâ´t mô.t nghiê.m
x1 , x2, ..., xn” cu’a da thú.c n biê´n f (x1 , x2, ..., xn) du.o..c biê’u diê˜n nhò. logic
tân tù. nhu. sau:
∃x1 ∃x2...∃xn(f (x1 , x2, ..., xn) = 0).
(1) Mô˜i mô.t ngu.ò.i ba.n cu’a Mai là ba.n cu’a Yê´n. Phúc không pha’i là ba.n
cu’a Yê´n, nên Phúc không pha’i là ba.n cu’a Mai.
Dê’ có thê’ mô ta’ bă` ng Toán ho.c nhũ.ng mê.nh dê
` trên, ta du.a ra mô.t sô´
ký hiê.u dă.c biê.t:
72 Chu.o.ng 3. Hê. toán tân tù.
– Nê´u P (x) có nghı̃a là “x có tı́nh châ´t P ” thı̀ khi dó ∀xP (x) có nghı̃a
là “Mô˜i mô.t vâ.t x có tı́nh châ´t P ”, hay nói cách khác: “Mo.i x có tı́nh
châ´t P ”.
– Nê´u ta ký hiê.u ∃xP (x) có nghı̃a là “Tô`n ta.i ı́t nhâ´t mô.t vâ.t x có tı́nh
châ´t P ”.
Khi dó trong các biê’u thú.c trên:
– ∀xP (x) thı̀ phâ ` n ∀x du.o..c go.i là phâ ` n lu.o..ng tù., trong dó ký hiê.u ∀ -
du.o..c go.i là lu.o..ng tù. toàn thê’, và x du.o..c go.i là biê´n lu.o..ng tù..
– ∃xP (x) thı̀ phâ ` n ∃x du.o..c go.i là phâ ` n lu.o..ng tù., trong dó ký hiê.u ∃
du.o..c go.i là lu.o..ng tù. tô`n ta.i, còn x du.o..c go.i là biê´n lu.o..ng tù..
0
(1 ) ∀x(F (x, m) → F (x, y)) (a)
¬F (p, y) (b)
¬F (p, m)
0
(2 ) ∀x(M(x) → I(x)) (c)
M(s) (d)
I(s)
Trong công thú.c (1 ), ta dã ký hiê.u “F (y, z)” có nghı̃a là “y là ba.n cu’a
0
z” . Khi dó dô´i vó.i mê.nh dê` (a) ta áp du.ng lu.o..ng tù. ∀x cho tru.ò.ng ho..p
riêng “x là p”, ta nhâ.n du.o..c mê.nh dê
` sau là mê.nh dê
` dúng:
Trong logic mê.nh dê ` ta có công thú.c sau: (A → B) → (¬B → ¬A) là
công thú.c dô`ng nhâ´t dúng. Do dó ta thay A = F (p, m), và B = F (p, y), ta
nhâ.n mê.nh dê` sau dây là dúng:
nhò. qui tă´c Modus Ponens. Áp du.ng Modus Ponens mô.t lâ ` n nũ.a dô´i vó.i
(b) và (f), ta nhâ.n du.o..c kê´t qua’:
¬F (p, m), nghı̃a là “Phúc không pha’i là ba.n cu’a Mai”
. 0 . . . .
Trong công thú c (2 ) ta áp du.ng lu o. ng tù toàn thê’ ∀x dô´i vó i mê.nh dê
`
. .
(c) bă` ng cách thay “x là s”, ta nhâ.n du o. c mê.nh dê
` sau dây là dúng:
Áp du.ng qui tă´c Modus Ponens cho (d) và (g), ta nhâ.n du.o..c kê´t qua’ là:
I(s), nghı̃a là “Socrates là bâ´t tu’.”.
. . .
` u thú vi. là ta có thê’ kiê’m tra bă` ng chu o ng trı̀nh thı́ du. thú 2
Mô.t diê
vó i kê´t qua’ “Socrates là bâ´t tu’.” bă` ng ngôn ngũ. lâ.p trı̀nh PROLOG version
.
2.0 ([6]) dùng trong Trı́ tuê. nhân ta.o.
Khi ta vào môi tru.ò.ng làm viê.c cu’a TURBO PROLOG màn hı̀nh bao
gô`m 4 cu’.a sô’ sau dây:
Hãy vào mu.c File/Load, cho.n tên chu.o.ng trı̀nh AI1.PRO và thêm chı’ thi.
` u chu.o.ng trı̀nh:
trace (vê´t) lên dâ
74 Chu.o.ng 3. Hê. toán tân tù.
/*AI1.PRO*/
trace
domains
human, immortal=symbol
predicates
is(symbol, symbol)
clauses
is(X, immortal): - is(X, human).
is(“Socrates”, human).
goal
is(X, Y ),
write(X, “is”, Y ).
* Bâ´m Alt-R
.
– O’ cu’.a sô’ Edit con tro’ chı’ tù.
goal
.
– O’ cu’.a sô’ Trace ta thâ´y
CALL: goal ()
` n thú. nhâ´t)
* Hãy bâ´m F10 (lâ
.
– O’ cu’.a sô’ Edit con tro’ chı’ tân tù.
is(X, Y )
.
– O’ cu’.a sô’ Trace ta thâ´y
CALL: is( , )
3.1. Các lu.o..ng tù. 75
` n thú. 2)
* Bâ´m F10 (lâ
.
– O’ cu’.a sô’ Edit con tro’ chı’ qui tă´c
is(X, immortal): - is(X, “human” )
` n thú. 3)
* Bâ´m F10 (lâ
.
– O’ cu’.a sô’ Edit con tro’ chı’
is (X, human)
.
– O’ cu’.a sô’ Trace ta thâ´y
CALL: is ( , “human” )
` n thú. 5)
* Bâ´m F10 (lâ
.
– O’ cu’.a sô’ Edit con tro’ chı’ su.. kiê.n
is (“Socrates”, human)
.
– O’ cu’.a sô’ Trace ta thâ´y
REDO: is( , “human” )
` n thú. 6)
* Bâ´m F10 (lâ
.
– O’ cu’.a sô’ Edit con tro’ vâ˜n chı’
is (“Socrates”, human)
.
– O’ cu’.a sô’ Trace ta du.o..c
RETURN: is (“Socrates”, “human” )
` n thú. 7)
* Bâ´m F10 (lâ
76 Chu.o.ng 3. Hê. toán tân tù.
.
– O’ cu’.a sô’ Edit con tro’ la.i chı’
is (X, immortal)
.
– O’ cu’.a sô’ Trace ta có
RETURN: *is (“Socrates”, “immortal” )
` n thú. 8)
* Bâ´m F10 (lâ
.
– O’ cu’.a sô’ Edit con tro’ chı’ chũ. X trong
write (X, “is”, Y )
.
– O’ cu’.a sô’ Trace ta có
write(“Socrates” )
` n thú. 9)
* Bâ´m F10 (lâ
.
– O’ cu’.a sô’ Dialog xuâ´t hiê.n tù. Socrates
.
– O’ cu’.a sô’ Edit con tro’ chuyê’n tù. X sang chı’ “is” trong
write(X, “is”, Y )
.
– O’ cu’.a sô’ Trace ta có
write(“is” )
` n thú. 10)
* Bâ´m F10 (lâ
.
– O’ cu’.a sô’ Dialog ta du.o..c thêm tù. is, tú.c là Socrates is
.
– O’ cu’.a sô’ Edit con tro’ chuyê’n tù. “is” sang chı’ sô´ Y trong
write(X, “is”, Y )
.
– O’ cu’.a sô’ Trace ta có
write(“immortal” )
` n thú. 11)
* Bâ´m F10 (lâ
.
– O’ cu’.a sô’ Dialog ta có thêm tù. immortal, tú.c là Socrates is im-
mortal
3.2. Các khái niê.m và di.nh nghı̃a 77
.
– O’ cu’.a sô’ Edit con tro’ chı’ tù. goal
.
– O’ cu’.a sô’ Trace ta có
RETURN: goal()
` n thú. 12)
* Bâ´m F10 (lâ
.
– O’ cu’.a sô’ Dialog thêm câu nhă´c nho’. Press the SPACE bar tú.c là
bâ´m thanh ngang dê’ tro’. vê
` môi tru.ò.ng làm viê.c cũ.
Nhu. vâ.y sau 12 bu.ó.c thu..c hiê.n bâ´m F10 ta dã thu du.o..c lò.i gia’i dáp:
Socrates is immortal hay là Socrates là bâ´t tu’..
. .
Thu. c châ´t ta dã su’ du.ng các da.ng câu lê.nh dê’ chı’ câ´u trúc logic cu’a vâ´n
` . Câ´u trúc này phu. thuô.c vào các liên kê´t mê.nh dê
dê ` cũng nhu. da.ng suy
diê˜n có su’. du.ng các lu.o..ng tù., chă’ng ha.n nhu. các thı́ du. (1) và (2), ta dã có
thê’ biê’u diê˜n chúng mô.t cách trù.u tu.o..ng qua (1 ) và (2 ).
0 0
Dê’ da.t du.o..c mu.c dı́ch này, ta câ ` n pha’i su’. du.ng các ký hiê.u nhu. dâ´u
phâ’y, các că.p dâ´u ngoă. c, dâ´u phu’ di.nh ¬, dâ´u kéo theo → cu’a hê. toán
mê.nh dê ` , các biê´n cá thê’ x1, x2, ..., xn, ...,; các hă ` ng cá thê’ a1 , a2, ..., an, ...;
.
các ký hiê.u tân tù A1 , A1, ..., Ak, ...,; và các biê´n hàm f11 , f12 , ..., fkj , ..., trong
1 2 j
dó chı’ sô´ trên j là chı’ sô´ ngôi, chı’ sô´ du.ó.i k là chı’ sô´ thú. tu...
Trong các thı́ du. (1) và (2) ta su’. du.ng các ký hiê.u m, y, p, s là các hă` ng
cá thê’, F là tân tù. 2 ngôi, còn M và I là các tân tù. mô.t ngôi.
Tân tù. n ngôi là mô.t hàm n ngôi nhâ.n giá tri. True hoă.c False dô´i vó.i
mô.t danh sách các hă` ng, tú.c là ánh xa. cu’a Dn vào {T, F }, trong dó D là
miê` n xác di.nh cu’a tân tù..
Biê´n hàm n ngôi là mô.t toán tu’. tù. tâ.p Dn vào D, trong dó D là miê `n
xác di.nh.
(a) Tâ´t ca’ các biê´n và hă` ng cá thê’ dê
` u là term.
78 Chu.o.ng 3. Hê. toán tân tù.
(b) Nê´u fin là mô.t biê´n hàm và t1, t2, ..., tn là các terms, thı̀ fin (t1 , t2, ..., tn)
là mô.t term.
(c) Mô.t biê’u thú.c là mô.t term, nê´u nó du.o..c lâ.p nên tù. co. so’. (a) và (b).
a) Mô˜i mô.t công thú.c so. câ´p là mô.t công thú.c
b) Nê´u A và B là các công thú.c, và y là mô.t biê´n thı̀ (¬A), (A → B),
(∀yA) là công thú.c.
c) Mô.t biê’u thú.c là mô.t công thú.c, nê´u nó du.o..c lâ.p nên tù. co. so’. (a) và
(b).
Trong biê’u thú.c ∀yA thı̀ “A” du.o..c go.i là miê
` n tác du.ng cu’a lu.o..ng tù. ∀y.
Chú ý 1
(1) A không nhâ´t thiê´t chú.a biê´n y. Trong tru.ò.ng ho..p này, thông thu.ò.ng
ta hiê’u ∀yA và A là nhu. nhau.
(2) Các công thú.c A ∧ B, A ∨ B, A ↔ B du.o..c xác di.nh tu.o.ng tu.. nhu.
` L cu’a chu.o.ng 2 tù. D1 − D3 .
trong lý thuyê´t tiên dê
(3) Ký hiê.u ∃ du.o..c biê’u diê˜n qua ∀ nhò. công thú.c tu.o.ng du.o.ng sau dây:
∃xA ≡ ¬(∀x¬A).
3.2. Các khái niê.m và di.nh nghı̃a 79
(4) Rút go.n cách viê´t dâ´u ngoă.c trong logic tân tù.:
Quy u.ó.c tu.o.ng tu.. nhu. trong chu.o.ng 1, nhu.ng còn thêm 2 lu.o..ng tù.
∀ và ∃ du.o..c xê´p chă.t chẽ giũ.a hai nhóm ↔, → và ∨, ∧, ¬, nghı̃a là
mô.t thú. tu.. du.o..c xê´p nhu. sau:
↔, →, ∀, ∃, ∨, ∧, ¬
7 6 5 4 3 2 1
Ngoài ra tru.ò.ng ho..p công thú.c có da.ng QA thı̀ ta du.a vê
` da.ng Q1 (Q2A),
trong dó A không chú a lu o. ng tù và Q, Q1, Q2 là các lu o. ng tu’. nào dó.
. . . . . .
Thı́ du. 3.2.2 ∀x1∃x2∀x4 A31(x1, x2 , x4) thı̀ ta pha’i viê´t ngoă.c là
– Trong công thú.c (1), vi. trı́ thú. nhâ´t cu’a biê´n x1 là tu.. do.
– Trong công thú.c (2), vi. trı́ thú. nhâ´t cu’a biê´n x1 là tu.. do, còn các vi. trı́
thú. 2, thú. 3 cu’a biê´n x1 là ràng buô.c.
– Tâ´t ca’ các vi. trı́ cu’a biê´n x1 trong công thú.c (3) dê
` u là ràng buô.c.
– Mô˜i mô.t vi. trı́ cu’a biê´n x2 trong ca’ 3 công thú.c dê
` u là tu.. do.
Chú ý 2 Cùng mô.t biê´n vi. trı́ cu’a nó có thê’ vù.a là tu.. do, vù.a là ràng buô.c
trong cùng mô.t công thú.c, chă’ ng ha.n nhu. (2).
Chú ý 3 Mô.t biê´n có thê’ vù.a là biê´n tu.. do, vù.a biê´n ràng buô.c trong cùng
mô.t công thú.c, chă’ ng ha.n nhu. (2).
(1) Term t = xj là tu.. do dô´i vó.i biê´n xi trong công thú.c A = A11 (xi), nhu.ng
không tu.. do dô´i vó.i biê´n xi trong công thú.c:
B = ∀xj A21(xi , xj ).
(2) Term t = f12 (x1 , x3) là tu.. do dô´i vó.i biê´n x1 trong công thú.c A =
∀x2A21 (x1, x2) → A11(x1 ), nhu.ng không tu.. do dô´i vó.i biê´n x1 trong
công thú.c
B = ∃x3A21 (x1, x3) → A11(x1 ).
3.3 Minh hoa., su.. dô`ng nhâ´t dúng và mô hı̀nh
Mô.t công thú.c chı’ có nghı̃a khi mô.t minh hoa. du.o..c chı’ ra cho các ký hiê.u
cu’a nó.
Chú ý 1
82 Chu.o.ng 3. Hê. toán tân tù.
(1) Khi dã cho mô.t minh hoa. nào dó thı̀ các biê´n du.o..c xác di.nh trên tru.ò.ng
minh hoa. D, còn các phép toán và các lu.o..ng tù. vâ˜n hiê’u theo nghı̃a
thông thu.ò.ng, và cho phép ta hiê’u mô.t quan hê. n ngôi trong D là mô.t
tâ.p con cu’a tâ.p Dn .
(2) Dô´i vó.i mô.t minh hoa. dã cho thı̀ mô.t công thú.c không chú.a biê´n tu..
do (hay là công thú.c dóng) thê’ hiê.n mô.t mê.nh dê ` hoă.c là dúng, hoă.c
là sai, còn dô´i vó.i mô˜i mô.t công thú.c có chú.a biê´n tu.. do thê’ hiê.n
mô.t quan hê. nào dó trên tru.ò.ng minh hoa.. Quan hê. này có thê’ thu..c
hiê.n du.o..c (dúng) dô´i vó.i mô.t sô´ giá tri. nào dâ´y cu’a biê´n trong tru.ò.ng
minh hoa., và cũng có thê’ không thu..c hiê.n du.o..c (sai) dô´i vó.i mô.t sô´
giá tri. khác cu’a biê´n trong tru.ò.ng minh hoa..
Nê´u ta cho.n tru.ò.ng minh hoa. là tâ.p ho..p các sô´ nguyên du.o.ng D =
N + = {1, 2, 3, ..., ∞}, và tân tù. 2 ngôi:
(2) Nê´u term t là mô.t hă` ng cá thê’ thı̀ s∗(t) bă` ng hă` ng dó.
(3) Nê´u fjn là biê´n hàm du.o..c minh hoa. bo’.i toán tu’. g trong D, và t1 , t2, ..., tn
là các terms thı̀ s∗ (fjn (t1, t2, ..., tn)) = g(s∗ (t1), s∗ (t2), ..., s∗ (tn )).
Nhu. vâ.y s∗ là mô.t hàm xác di.nh trên tâ.p ho..p tâ´t ca’ các terms và nhâ.n
giá tri. trong D nhò. có dãy s = (b1, b2 , ...).
P
Nói mô.t cách khác, vó.i bâ´t kỳ mô.t dãy s = (b1 , b2, ..., ) ∈ và bâ´t kỳ
term t thı̀ s∗ (t) là mô.t phâ ` n tu’. cu’a tâ.p D. Phâ ` n tu’. này (s∗ (t)) nhâ.n du.o..c
bă` ng cách thê´ dô´i vó.i mô˜i i phâ
` n tu’. bi vào tâ´t ca’ các vi. trı́ cu’a biê´n xi trong
term t, và sau dó thu..c hiê.n toán tu’. tu.o.ng ú.ng cu’a biê´n hàm dô´i vó.i term t.
Thı́ du. 3.3.2 Cho term t = f12 (x3, f22 (x1, a1)) và D = Z, trong dó f12 và f22
tu.o.ng ú.ng là phép nhân và phép cô.ng, còn a1 = 2.
P
Khi dó vó.i bâ´t kỳ dãy s = (b1 , b2, ...) ∈ ta có:
(1) Nê´u A là mô.t công thú.c so. câ´p Anj (t1 , t2, ..., tn) và Bjn là quan hê. tu.o.ng
ú.ng cu’a nó trong minh hoa. thı̀ công thú.c A du.o..c go.i là thu..c hiê.n du.o..c
84 Chu.o.ng 3. Hê. toán tân tù.
P
trên dãy s = (b1, b2 , ...) ∈ khi và chı’ khi Bjn (s∗ (t1), s∗(t2 ), ..., s∗(tn )),
tú.c là bô. n phâ
` n tu’. (s∗ (t1), s∗(t2 ), ..., s∗(tn )) nă` m trong quan hê. Bjn .
(a) Cho tru.ò.ng minh hoa. D = R (sô´ thu..c); tân tù. A21 là quan hê.
“ ≤ ” và biê´n hàm f11 (x) = ex . Khi dó công thú.c so. câ´p A =
A21(f11 (x1), x5 ) là thu..c hiê.n du.o..c trên dãy s = (b1, b2, ...), khi và
chı’ khi
eb1 ≤ b5 .
(b) Cho tru.ò.ng minh hoa. D = Z, tân tù. A41(x, y, u, v) là quan hê. xv =
uy, và a1 = 2. Khi dó công thú.c so. câ´p A = A41(x3, a1 , x1, x3) là
thu..c hiê.n du.o..c trên dãy s = (b1, b2 , ..), khi và chı’ khi
b23 = 2 ∗ b1 .
P
(2) Công thú.c ¬A là thu..c hiê.n du.o..c trên dãy s = (b1, b2 , ...) ∈ , khi và
chı’ khi A không thu..c hiê.n du.o..c trên s.
P
(3) Công thú.c A → B là thu..c hiê.n du.o..c trên s = (b1, b2 , ...) ∈ , khi và
chı’ khi A không thu..c hiê.n du.o..c trên s hoă.c B thu..c hiê.n du.o..c trên s.
P
(4) Công thú.c ∀xiA là thu..c hiê.n trên dãy s = (b1, b2 , .., bi, ...) ∈ , khi và
P
chı’ khi A là thu..c hiê.n du.o..c trên mô˜i dãy bâ´t kỳ s ∈
0
khác s không
quá thành phâ .
` n thú i.
Nói mô.t cách khác, công thú.c A là thu..c hiê.n du.o..c trên dãy s =
P
(b1 , b2, ..) ∈ , khi và chı’ khi phép thê´ dô´i vó.i mô˜i i, ký hiê.u bi ta.i mo.i
vi. trı́ tu.. do cu’a xi trong A thı̀ ta du.o..c mô.t mê.nh dê
` dúng trong minh hoa.
dã cho.
3.3. Minh hoa., su.. dô`ng nhâ´t dúng và mô hı̀nh 85
Di.nh nghı̃a 3.3.4 Mô.t công thú.c A du.o..c go.i là dô`ng nhâ´t sai trong minh
hoa. dã cho, khi và chı’ khi A không thu..c hiê.n du.o..c dô´i vó.i bâ´t kỳ dãy
P
s = (b1, b2 , ...) ∈ .
• Tru.ò.ng ho..p 1:
Nê´u b1 là mô.t sô´ chă˜n thı̀ khi dó ta có
• Tru.ò.ng ho..p 2:
Nê´u b1 là mô.t sô´ le’ thı̀ A11 (b1)=False, do dó ta cũng có: A11(b1 ) →
A11 (b1)=True. Kê´t ho..p hai tru.ò.ng ho..p ta thâ´y công thú.c A =
P
∀x1(A11 (x1) → A11 (x1)) là thu..c hiê.n du.o..c trên dãy s = (b1, b2 , ...) ∈ .
Vı̀ s du.o..c cho.n tuỳ ý, do dó công thú.c A = ∀x1(A11 (x1) → A11(x1)) là
dô`ng nhâ´t dúng trong minh hoa. dã cho.
2) Không có mô.t công thú.c nào vù.a dô`ng nhâ´t dúng, vù.a dô`ng nhâ´t sai
trong cùng mô.t minh hoa..
3) Nê´u A và A → B là dô`ng nhâ´t dúng trong minh hoa. dã cho thı̀ B cũng
dô`ng nhâ´t dúng trong minh hoa. dó.
4) A → B là dô`ng nhâ´t sai trong minh hoa. dã cho, khi và chı’ khi A là dô`ng
nhâ´t dúng và B là dô`ng nhâ´t sai trong cùng minh hoa..
P
5) (i) − A ∧ B là thu..c hiê.n du.o..c trên dãy s ∈ , khi và chı’ khi A và B
cùng thu..c hiê.n du.o..c trên s.
P
- A ∨ B là thu..c hiê.n du.o..c trên dãy s ∈ , khi và chı’ khi A thu..c hiê.n
du.o..c trên s, hoă.c B thu..c hiê.n du.o..c trên s.
P
- A ↔ B là thu..c hiê.n du.o..c trên dãy s ∈ khi và chı’ khi A và B hoă.c
cùng thu. c hiê.n trên s hoă.c không cùng thu. c hiê.n du.o..c trên s.
. .
Chú ý 2
.
O’ dây ta su’. du.ng các công thú.c tu.o.ng du.o.ng sau:
Thı́ du. 3.3.5 Gia’ su’. cho mô.t minh hoa. bao gô`m:
Khi dó quan hê. mô.t ngôi trong D tu.o.ng ú.ng vó.i công thú.c:
Vâ.y công thú.c A là thu..c hiê.n du.o..c trên mô˜i dãy bâ´t kỳ
P
s = {b1, b2 , ...} ∈ , trong dó b1 là mô.t sô´ nguyên tô´.
Ta thu’. kiê’m chú.ng khă’ng di.nh trên:
P
Gia’ su’. ta xét mô.t dãy s = {b1, b2, ...} ∈ .
• Tru.ò.ng ho..p 1: b1 là sô´ nguyên tô´, chă’ng ha.n b1 = 7. Trong công thú.c
dã cho, ta thâ´y x1 là biê´n tu.. do và dóng vai trò là sô´ nguyên tô´, còn
` u là biê´n ràng buô.c.
x2 và x3 dê
Khi dó
x1 = 7 = 1 .7 = 7 .1
↑ ↑
x2 x2
- ¬A21 (x1, a1) =True
- x2 = 1
- x2 = 7:
x1 = x2 .x3 = True → x2 = x1 ∨ x2 = 1} True
T F
x T y
Vâ.y ta dã kiê’m chú.ng du.o..c ră` ng vó.i b1 = 7 là mô.t sô´ nguyên tô´ thı̀
công thú.c A là thu..c hiê.n du.o..c trên dãy s = (b1, b2, ...).
• Tru.ò.ng ho..p 2: b1 không pha’i là sô´ nguyên tô´, chă’ng ha.n b1 = 12.
Khi dó ta có:
x1 = 1 .12 = 2 .6 = 6 .2 = 3 .4 = 4 .3 = 12.1
↑ ↑ ↑ ↑ ↑ ↑
x2 x2 x2 x2 x2 x2
¬A21 (x1, a1) ∧ ∀x2 (∃x3A21(x1, f12 (x2 , x3)) → A21 (x2, x1) ∨ A21(x2, a1 ))
= True ∧ False = False.
Vâ.y chú.ng to’ ră` ng công thú.c A là không thu..c hiê.n du.o..c trên dãy s =
(b1 , b2, ...) trong dó b1 không pha’i là sô´ nguyên tô´.
3.3. Minh hoa., su.. dô`ng nhâ´t dúng và mô hı̀nh 89
Di.nh nghı̃a 3.3.7 Mô.t công thú.c A du.o..c go.i là thu..c hiê.n du.o..c trong hê.
toán tân tù., khi và chı’ khi nê´u tô`n ta.i mô.t minh hoa., mà dô´i vó.i minh hoa.
P
dó A là thu..c hiê.n du.o..c trên ı́t nhâ´t mô.t dãy s ∈ .
Chú ý 3
(1) A là logic dô`ng nhâ´t dúng khi và chı’ khi ¬A là không thu..c hiê.n du.o..c,
và A là thu..c hiê.n du.o..c, khi và chı’ khi ¬A là không logic dô`ng nhâ´t
dúng.
(2) Nê´u A là mô.t công thú.c dóng thı̀ A là thu..c hiê.n du.o..c, khi và chı’ khi
A là dúng dô´i vó.i mô.t minh hoa. nào dó.
Di.nh nghı̃a 3.3.8 Mô.t công thú.c A du.o..c go.i là mâu thuâ˜n (contradictory)
trong hê. toán tân tù., khi và chı’ khi ¬A là logic dô`ng nhâ´t dúng, hay là khi
và chı’ khi A là sai dô´i vó.i mo.i minh hoa. bâ´t kỳ.
Di.nh nghı̃a 3.3.9 Công thú.c A du.o..c go.i là logic kéo theo B trong hê. toán
tân tù., khi và chı’ khi dô´i vó.i bâ´t kỳ minh hoa., B là thu..c hiê.n du.o..c trên mô˜i
dãy mà ta.i dó A thu..c hiê.n du.o..c.
Mô.t cách tô’ng quát ho.n, B là logic kéo theo tù. tâ.p ho..p Γ các công thú.c,
khi và chı’ khi, dô´i vó.i minh hoa., B là thu..c hiê.n du.o..c trên mô˜i dãy, mà ta.i
dó mô˜i công thú.c cu’a Γ là thu..c hiê.n du.o..c.
Di.nh nghı̃a 3.3.10 Hai công thú.c A và B du.o..c go.i là logic tu.o.ng du.o.ng
trong hê. toán tân tù., khi và chı’ khi A logic kéo theo B và B logic kéo theo
A.
a) A logic kéo theo B khi và chı’ khi công thú.c (A → B) là logic dô`ng nhâ´t
dúng.
b) A và B là logic tu.o.ng du.o.ng, khi và chı’ khi công thú.c (A ↔ B) là logic
dô`ng nhâ´t dúng.
c) Nê´u A là logic kéo theo B, và A dúng trong mô.t minh hoa. dã cho thı̀ B
cũng dúng trong minh hoa. dó.
d) Nê´u B là logic kéo theo tù. tâ.p ho..p Γ các công thú.c và mo.i công thú.c
cu’a Γ dúng trong minh hoa. dã cho thı̀ B cũng dúng trong minh hoa..
Di.nh nghı̃a 3.3.11 Gia’ su’. S = {A1, A2 , ., An} là mô.t tâ.p ho..p các công
thú.c tân tù.. Khi dó, S du.o..c go.i phi mâu thuâ˜n (hay thoa’ du.o..c), nê´u tô`n
ta.i mô.t minh hoa. cu’a S sao cho mo.i công thú.c A1 , A2, ., An dê ` u dúng trong
minh hoa. dó.
- S du.o..c go.i là mâu thuâ˜n (không thoa’ mãn du.o..c), nê´u không tô`n ta.i
mô.t minh hoa. nào nhu. vâ.y.
- Công thú.c A du.o..c go.i là logic kéo theo tù. S, ký hiê.u S |= A, nê´u trong
mo.i minh hoa. mà ta.i dó mo.i công thú.c cu’a S dê ` u dúng thı̀ A cũng dúng.
Dă.c biê.t, nê´u S = ∅ thı̀ |= A có nghı̃a A là công thú.c hă` ng dúng.
Chú ý 4
Di.nh lý 2.2.1 (nguyên lý suy diê˜n) trong chu.o.ng 2 cũng dúng cho tru.ò.ng
ho..p các công thú.c A, B, H1, H2, , Hn là công thú.c logic tân tù..
Thı́ du. 3.3.6 Cho mô hı̀nh suy diê˜n trong logic tân tù.
∴ ∃x1S(x1) (A)
3.3. Minh hoa., su.. dô`ng nhâ´t dúng và mô hı̀nh 91
trong dó P (x1 ), Q(x1), R(x1 ), S(x1) là các tân tù. mô.t ngôi xác di.nh trên
mô.t tru.ò.ng minh hoa. D nào dó.
Mô hı̀nh suy diê˜n trên có dô`ng nhâ´t dúng hay không trên tru.ò.ng minh
hoa. và xây du..ng các bu.ó.c suy diê˜n cu’a mô hı̀nh trên?
là mâu thuâ˜n (theo nguyên lý suy diê˜n cu’a di.nh lý 2.4.1 (3) và phu.o.ng pháp
gia’i cu’a Robinson (chu.o.ng 2)).
Ta có hê. suy diê˜n nhu. sau:
92 Chu.o.ng 3. Hê. toán tân tù.
1. P (b1 ) ∨ Q(b1)
2. P (b1)
3. Q(b1) ∨ R(b1 ) (S)
4. S(b1 ) ∨ R(b1 )
5. S(b1 )
6. Q(b1) (1, 2, gia’i thú.c)
7. R(b1 ) (3, 6, gia’i thú.c)
8. S(b1) (4, 7, gia’i thú.c)
9. (5, 8, gia’i thú.c)
Theo nguyên lý suy diê˜n: S là mâu thuâ˜n (hay dô`ng nhâ´t sai) ⇔ S dâ˜n
` suy diê˜n (rô˜ng) theo phu.o.ng pháp gia’i cu’a Robinson (chu.o.ng 2).
vê
Vı̀ s du.o..c cho.n tuỳ ý, nên mô hı̀nh suy diê˜n dã cho là dô`ng nhâ´t dúng.
3.3.7 Các công thú.c logic dô`ng nhâ´t dúng trong hê.
toán tân tù.
1) ¬∀xA ≡ ∃x¬A
2) ¬∃xA ≡ ∀x¬A
5) (∀xA ∧ G) ≡ ∀x(A ∧ G)
6) (∀xA ∨ G) ≡ ∀x(A ∨ G)
7) (∃xA ∧ G) ≡ ∃x(A ∧ G)
8) (∃xA ∨ G) ≡ ∃x(A ∨ G)
trong dó vó.i 4 công thú.c cuô´i cùng x không pha’i là biê´n tu.. do trong công
thú.c G.
3.3. Minh hoa., su.. dô`ng nhâ´t dúng và mô hı̀nh 93
Di.nh nghı̃a 3.3.12 Mô.t công thú.c tân tù. A du.o..c go.i là chuâ’n tă´c tiê
` n tô´,
. . . .
nê´u A không chú a các lu o. ng tù hoă.c có da.ng Q1 x1Q2 x2 ... Qn xn M, trong
dó Qi (i = 1...n) hoă.c là ∀ hoă.c là ∃, và M là công thú.c không chú.a lu.o..ng
tù..
Da.i lu.o..ng Q1x1Q2 x2...Qnxn du.o..c go.i là tiê
` n tô´, còn M du.o..c go.i là ma
trâ.n cu’a công thú.c A.
Chú.ng minh
Ta có thê’ vâ.n du.ng các công thú.c hă` ng dúng (các công thú.c tu.o.ng
du.o.ng) trong mu.c 3.3.7 và thêm các công thú.c hă` ng dúng sau dê’ du.a A vê
`
. .
` n tô´ (phu o ng pháp dô’i tên biê´n):
da.ng chuâ’n tă´c tiê
Dô`ng thò.i ta thu..c hiê.n các bu.ó.c biê´n dô’i liên tiê´p sau dây:
• Tru.ó.c hê´t loa.i bo’ phép kéo theo → nhò. công thú.c: A → B tu.o.ng
du.o.ng vó.i A ∨ B, và phép ↔ nhò. công thú.c: A ↔ B tu.o.ng du.o.ng
vó.i (A → B) ∧ (B → A).
94 Chu.o.ng 3. Hê. toán tân tù.
• Xoá bo’ mo.i lu.o..ng tù. ∀x và ∃x, nê´u trong miê
` n tác du.ng cu’a chúng
không có biê´n x.
• Du.a mo.i xuâ´t hiê.n cu’a phép phu’ di.nh ¬ vào dú.ng tru..c tiê´p tru.ó.c các
công thú.c so. câ´p, và sau dó chuyê’n dâ` n các ký hiê.u lu.o..ng tù. ra phı́a
tru.ó.c công thú.c nhò. công thú.c tu.o.ng du.o.ng dã nói o’. trên.
Gia’i
A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ C)
ta thu du.o..c công thú.c A∗k ≡ Ak , và công thú.c A∗k này du.o..c go.i là da.ng
chuâ’n tă´c tuyê’n cu’a Ak , hay là:
A = Q1x1 Q2x2 ... Qn A∗k , trong dó lu.o..ng tù. Qi xi hoă.c là ∀xi hoă.c là
∃xi (i = 1, 2, . . . , n).
A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ C)
Chú ý: A → B ≡ A ∨ B.
Thı́ du. 3.3.9 Cho công thú.c tân tù. sau dây:
Gia’i:
Mô.t da.ng chuâ’n tă´c quan tro.ng và hay du.o..c dùng trong lâ.p trı̀nh logic
và Trı́ tuê. nhân ta.o, dó là da.ng chuâ’n tă´c Skolem. Da.ng này giúp cho các
nhà lâ.p trı̀nh dê˜ dàng du.a công thú.c tân tù. vào trong máy nhò. su.. chuâ’n
hoá Skolem: tù. công thú.c da.ng tiê ` n tô´ các da.i lu.o..ng gă´n vó.i lu.o..ng tù. tô`n
ta.i ∃ du.o..c thay thê´ bo’.i các hă` ng cá thê’ hoă.c hàm Skolem, và khi dó không
còn su.. hiê.n diê.n cu’a lu.o..ng tù. tô`n ta.i ∃ mà chı’ còn lu.o..ng tù. toàn thê’ ∀ trong
công thú.c dó. Do dó các nhà lâ.p trı̀nh chı’ viê.c du.a vào máy phâ ` n thân cu’a
công thú.c tân tù. dã chuâ’n hoá (du.o..c go.i là ma trâ.n) và mô˜i mô.t biê´n xuâ´t
hiê.n trong công thú.c dó dê ` u liên quan dê´n lu.o..ng tù. toàn thê’ ∀.
Di.nh nghı̃a 3.3.13 Gia’ su’. A là mô.t công thú.c tân tù. o’. da.ng tiê ` n tô´:
Q1 x1Q2x2 . . . Qn xn M và Qr là mô.t lu.o..ng tù. tô`n ta.i trong A.
- Khi dó, nê´u dô´i vó.i lu.o..ng tù. Qr không có mô.t lu.o..ng tù. toàn thê’ nào
dú.ng tru.ó.c nó thı̀ ta thay tâ´t ca’ xr trong M bo’.i mô.t hă` ng a cu’a miê ` n xác
di.nh D.
3.3. Minh hoa., su.. dô`ng nhâ´t dúng và mô hı̀nh 97
- Trong tru.ò.ng ho..p nê´u dô´i vó.i lu.o..ng tù. Qr mà dú.ng tru.ó.c nó có (r − 1)
lu.o..ng tù. toàn thê’ tu.o.ng ú.ng vó.i các biê´n x1, x2, ..., xr−1 thı̀ khi dó ta thay
mo.i ký hiê.u xr bo’.i hàm f (x1, x2 , . . . , xr−1 ). Hàm này du.o..c go.i là hàm Skolem.
Công thú.c nhâ.n du.o..c tù. A bă` ng cách thu..c hiê.n nhu. trên du.o..c go.i là
da.ng chuâ’n tă´c Skolem.
(1) Công thú.c (SA → A) là logic dô`ng nhâ´t dúng, và do dó nê´u A là mâu
thuâ˜n (logic dô`ng nhâ´t sai) thı̀ SA cũng mâu thuâ˜n.
(3) Công thú.c A là mâu thuâ˜n, khi và chı’ khi SA là mâu thuâ˜n (di.nh lý
Skolem).
Chú ý 5 Công thú.c (A → SA ) nói chung là không logic dô`ng nhâ´t dúng,
do dó A và SA là không logic tu.o.ng du.o.ng, chă’ ng ha.n:
và ta cho.n tru.ò.ng minh hoa. D = R, f (x) = e−x . Khi dó A nhâ.n giá tri.
True và SA nhâ.n giá tri. False.
Chú.ng minh ră` ng công thú.c sau dây là logic dô`ng nhâ´t dúng trong logic
tân tù.:
Chú.ng minh:
Tru.ó.c hê´t, ta câ
` n thu..c hiê.n mô.t sô´ bu.ó.c biê´n dô’i co. ba’n cu’a công thú.c
dã cho vê` da.ng quen thuô.c theo các tı́nh châ´t dã biê´t.
- Theo nguyên lý suy diê˜n và nguyên lý phu.o.ng pháp phân gia’i, ta câ `n
.
chú ng minh ră` ng công thú c: .
nhu.ng literal trong logic tân tù. là mô.t công thú.c so. câ´p hoă.c phu’ di.nh cu’a
mô.t công thú.c so. câ´p, và câ´u trúc cu’a literal phú.c ta.p ho.n nhiê ` u so vó.i
logic mê.nh dê` , nên viê.c xác di.nh các gia’i thú.c, rô`i sau dó áp du.ng nguyên
lý suy diê˜n và phu.o.ng pháp phân gia’i tu.o.ng ú.ng là viê.c làm có nhiê` u phú.c
ta.p ho.n so vó.i hê. toán mê.nh dê` . Tuy nhiên phu.o.ng pháp phân gia’i là mô.t
trong nhũ.ng phu.o.ng pháp có hiê.u qua’ trong viê.c chú.ng minh mô.t công thú.c
logic dô`ng nhâ´t dúng. Mu.c tiê´p theo ta sẽ áp du.ng nguyên lý cu’a phu.o.ng
pháp phân gia’i dê’ làm sáng to’ tı́nh hiê.u qua’ cu’a phu.o.ng pháp này.
Ta biê´n dô’i nhu. sau:
S = {P (x) ∨ Q(f (x, y, z), Q(y) ∨ R(g(x, y, z)), P (h(x, y, z)), R(z)}
trong dó các hàm f (x, y, z), g(x, y, z), h(x, y, z) là các hàm Skolem và mô˜i
` n tu’. cu’a S là mô.t clause. Mô˜i mô.t clause du.o..c lâ.p nên tù. các literal
mô.t phâ
là nhũ.ng công thú.c so. câ´p.
- Theo di.nh lý Skolem:
B là mâu thuâ˜n ⇔ S là mâu thuâ˜n (dô`ng nhâ´t sai).
Thâ.t vâ.y, ta xây du..ng hê. dâ˜n xuâ´t tù. S vê
` (rô˜ng) theo nguyên lý cu’a
phu.o.ng pháp phân gia’i cu’a Robinson nhu. sau:
100 Chu.o.ng 3. Hê. toán tân tù.
1. P (x) ∨ Q(f (x, y, z))
2. Q(y) ∨ R(g(x, y, z))
(S)
3. P (h(x, y, z))
4. R(z)
5. Q(f (h(x, y, z), y, z)) (1, 3, thê´ {x/h(x, y, z)}, gia’i thú.c)
6. Q(y) (2, 4, thê´ {z/g(x, y, z)}, gia’i thú.c)
7. (5, 6, thê´ {y/f(h(x, y, z), y, z)}, gia’i thú.c)
Vâ.y theo nguyên lý cu’a phu.o.ng pháp phân gia’i cu’a Robinson ta nhâ.n
du.o..c tâ.p S nhu. trên là mâu thuâ˜n hay công thú.c B dã cho là logic dô`ng
nhâ´t sai, tú.c là A logic dô`ng nhâ´t dúng.
` : 2 loa.i
2) Các tiên dê
3.4. Lý thuyê´t tân tù. câ´p 1K 101
Chú ý
(1) Lý thuyê´t tân tù. câ´p 1K không chú.a các tiên dê
` riêng du.o..c go.i là Hê.
toán tân tù. câ´p 1 (viê´t tă´t là PP)
(2) Dô´i vó.i mô.t mô hı̀nh cu’a lý thuyê´t tân tù. câ´p 1K, ta hiê’u là mô.t minh
hoa. mà trong dó mo.i tiên dê ` u dô`ng nhâ´t dúng.
` dê
(3) Nê´u ta áp du.ng qui tă´c Modus Ponens và Tô’ng quát hoá dô´i vó.i các
công thú.c dô`ng nhâ´t dúng trong mô.t minh hoa. dã cho thı̀ kê´t qua’ ta
nhâ.n du.o..c cũng là mô.t công thú.c dô`ng nhâ´t dúng trong minh hoa. dó.
102 Chu.o.ng 3. Hê. toán tân tù.
chă’ ng ha.n nê´u ta cho.n tru.ò.ng minh hoa.: D = {1, 2, 3, . . . } và tân tù.
A11 là
A11 (x) =def “x là chă˜n”
khi dó ta có phâ ` n kê´t luâ.n: ∀x1A11 (x1) nhâ.n giá tri. False, còn phâ
` n gia’
thiê´t: A1(x1 ), trong dó x1 là biê´n tu. do, nên nó nhâ.n giá tri. True vó.i
1 .
x1 là sô´ chă˜n, và ta có kê´t qua’ là False. Do dó trong tru.ò.ng ho..p, nê´u
xi là biê´n tu.. do trong công thú.c A thı̀ tiên dê ` (A5) sẽ nhâ.n giá tri.
False.
Khi dó mô˜i mô.t mô hı̀nh cu’a lý thuyê´t này ngu.ò.i ta go.i là mô.t câ´u
trúc să´p thú. tu.. bô. phâ.n.
mô.t biê´n hàm f12 : f12 (t, s) =def “t + s”, và mô.t hă` ng tu’. a1 = 0. Các
` riêng gô`m có:
tiên dê
(1) ∀x1∀x2∀x3 (x1 + (x2 + x3) = (x1 + x2) + x3) (kê´t ho..p)
(2) ∀x1(0 + x1 = x1) ` n tu’. do.n vi.)
(tô`n ta.i phâ
(3) ∀x1∃x2(x2 + x1 = 0) ` n tu’. dô´i)
(tô`n ta.i phâ
(4) ∀x1(x1 = x1 ) (pha’n xa.)
(5) ∀x1∀x2(x1 = x2 → x2 = x1 ) (dô´i xú.ng)
(6) ∀x1∀x2∀x3 (x1 = x2 → (x2 = x3 → x1 = x3)) (bă´c câ
` u)
(7) ∀x1∀x2∀x3 (x2 = x3 → (x1 + x2 = x1 + x3 ∧ x2 + x1 = x3 + x1 ))
(phép thê´ cu’a dă’ ng thú.c)
Khi dó mô˜i mô.t mô hı̀nh cu’a lý thuyê´t này ngu.ò.i ta go.i là mô.t
nhóm. Ngoài ra nê´u nó thoa’ mãn tiên dê` sau:
(8) ∀x1∀x2(x1 + x2 = x2 + x1) (giao hoán)
thı̀ nhóm dó du.o..c go.i là nhóm giao hoán hay nhóm Abel.
∀x1A11(x1 ) = False(1)
3.5. Di.nh lý suy diê˜n trong logic tân tù. 105
P
Xét mô.t dãy s = (b1 , b1, . . . ) ∈ . Ta thâ´y ră` ng: A11 (x1) = True(2), khi và
chı’ khi b1 là mô.t sô´ chă˜n cu’a D.
Do dó tù. (1) và (2) ta tı́nh du.o..c công thú.c B = (A11(x1 ) → ∀x1A11(x1))
nhâ.n giá tri. False trên dãy s = (b1 , b2, . . . ). Vı̀ s = (b1 , b2, . . . ) du.o..c cho.n
tuỳ ý, nên công thú.c B không logic dô`ng nhâ´t dúng. Ho.n nũ.a, ta dê˜ dàng
thâ´y ră` ng mô˜i mô.t di.nh lý cu’a lý thuyê´t tân tù. câ´p 1K là logic dô`ng nhâ´t
dúng (di.nh lý 3.6.7).
Vâ.y công thú.c (A11 (x1) → ∀x1 A11(x1)) - là không di.nh lý trong K.
. . . .
` u này buô.c ta pha’i có nhũ ng thay dô’i thı́ch ho. p, dê’ nhâ.n du o. c di.nh
Diê
lý suy diê˜n mô.t cách dúng dă´n trong logic tân tù..
Di.nh nghı̃a 3.5.1 Gia’ su’. Γ là mô.t tâ.p các công thú.c, và A là mô.t công
thú.c cu’a Γ. Gia’ su’. B1 , B2, . . . , Bn là mô.t dâ˜n xuâ´t tù. Γ. Khi dó ta nói ră` ng
công thú.c Bi là phu. thuô.c vào A trong dâ˜n xuâ´t trên, khi và chı’ khi:
(ii) Bi là dâ˜n du.o..c tru..c tiê´p tù. các công thú.c dú.ng tru.ó.c nó nhò. qui tă´c
dâ˜n xuâ´t Modus Ponens hoă.c GEN, trong dó ı́t nhâ´t mô.t trong các
công thú.c dó phu. thuô.c vào A.
Di.nh lý 3.5.1 Nê´u B không phu. thuô.c vào A trong suy diê˜n
Γ, A ` B thı̀ Γ ` B. Nê´u B không phu. thuô.c vào A trong suy diê˜n
Γ, A ` B thı̀ Γ ` B.
Chú.ng minh
Gia’ su’. B1, B2 , . . . , Bn là mô.t dâ˜n xuâ´t tù. Γ ∪ {A}, trong dó B không
phu. thuô.c vào A. Chú.ng minh bă` ng qui na.p theo dô. dài cu’a dâ˜n xuâ´t
i : i = 1, 2, . . . , n.
Gia’ thiê´t mê.nh dê` dã dúng dô´i vó.i mo.i dâ˜n xuâ´t có dô. dài < n. Ta câ `n
.
chú ng minh mê.nh dê . . .
` cũng dúng vó i i = n. Ta xét các tru ò ng ho. p sau:.
- Nê´u B thuô.c vào Γ hoă.c B là mô.t tiên dê ` thı̀ ta du.o..c Γ ` B (theo chú
ý 2 chu.o.ng 2 trang 29).
- Nê´u B là dâ˜n du.o..c tru..c tiê´p tù. mô.t hoă.c hai công thú.c dú.ng tru.ó.c nó
thı̀ khi dó, vı̀ B không phu. thuô.c vào A, nên các công thú.c dú.ng tru.ó.c nó
cũng không phu. thuô.c vào A. Do dó theo gia’ thiê´t qui na.p các công thú.c
này dú.ng tru.ó.c nó dê ` u dâ˜n du.o..c tù. Γ mô.t cách do.n phu.o.ng. Vı̀ vâ.y suy ra
ră` ng B cũng dâ˜n du.o..c tù. Γ.
Di.nh lý 3.5.2 (di.nh lý suy diê˜n trong logic tân tù.) Gia’ su’. Γ, A ` B và có
mô.t suy diê˜n cu’a B tù. Γ và A, trong dó không su’. du.ng qui tă´c GEN cho
mô.t công thú.c nào phu. thuô.c vào A vó.i biê´n lu.o..ng tù. là mô.t biê´n tu.. do cu’a
công thú.c A. Khi dó
Γ`A→B
Chú.ng minh:
3.5. Di.nh lý suy diê˜n trong logic tân tù. 107
Gia’ su’. B1, B2, ..., Bn = B là dâ˜n xuâ´t cu’a B tù. Γ ∪ {A} thoa’ mãn các gia’
thiê´t cu’a di.nh lý dã cho. Ta sẽ chú.ng minh bă` ng qui na.p theo dô. dài dâ˜n
xuâ´t i = 1...n : Γ ` A → Bi .
- Nê´u Bi là mô.t tiên dê
` hoă.c là phâ` n tu’. cu’a Γ thı̀ Γ ` A → Bi , vı̀
Bi → (A → Bi ) là tiên dê `.
- Nê´u Bi là A thı̀ Γ ` A → Bi , vı̀ theo bô’ dê ` : ` A → A.
- Nê´u tô`n ta.i j, k < i sao cho Bk = Bj → Bi thı̀ theo gia’ thiê´t qui na.p
Γ ` A → Bj và Γ ` A → (Bj → Bi ). Do dó ta có Γ ` A → Bi bă` ng cách
áp du.ng tiên dê` A2 và qui tă´c MP. Cuô´i cùng, gia’ su’. tô`n ta.i j < i sao cho
Bi = ∀xk Bj . Khi dó theo gia’ thiê´t qui na.p Γ ` A → Bj và hoă.c là Bj không
phu. thuô.c vào A hoă.c xk không pha’i là biê´n tu.. do cu’a A.
∗ Nê´u Bj không phu. thuô.c vào A thı̀ khi dó theo di.nh lý 3.5.1 ta có:
Γ ` Bj , và tiê´p theo su’. du.ng qui tă´c GEN ta du.o..c: Γ ` ∀xk Bj . Do dó ta có:
Γ ` Bi .
Theo tiên dê` A1: ` Bi → (A → Bi ). Vâ.y ta có ngay kê´t qua’ Γ ` A → Bi
nhò. qui tă´c MP.
∗ Nê´u xk không pha’i là biê´n tu.. do trong A thı̀ khi dó theo tiên dê` A5:
` ∀xk (A → Bj ) → (A → ∀xk Bj )
Γ ` A → Bi .
Γ ` A → Bi ∀i = 1...n
Γ ` A → Bn hay Γ ` A → B
108 Chu.o.ng 3. Hê. toán tân tù.
a) Nê´u Γ, A ` B không su’. du.ng qui tă´c GEN vó.i biê´n tu.. do có mă.t trong
A thı̀ Γ ` A → B.
Tù. 1 - 7 ta có ∀x1∀x2A ` ∀x2∀x1A, trong dó không su’. du.ng qui tă´c
GEN dô´i vó.i biê´n tu.. do có mă.t trong ∀x1 ∀x2A. Do dó theo hê. qua’
3.5.1(a) ta có:
` ∀x1 ∀x2A → ∀x2∀x1A.
b) Nê´u term t là tu.. do dô´i vó.i biê´n xi trong A(xi ) thı̀ ∀xiA(xi ) ` A(t) và
A(t) ` ∃xiA(xi ).
Chú.ng minh :
Dê´n dây áp du.ng thêm hê. qua’ 3.5.1(a), ta thu du.o..c di.nh lý sau
dây:
` ∀xiA(xi ) → A(t).
A(t) ` ∃xiA(xi )
Áp du.ng thêm hê. qua’ 3.5.1(a) ta có di.nh lý sau:
Di.nh nghı̃a 3.6.1 Mô.t mô hı̀nh cu’a lý thuyê´t tân tù. câ´p 1K là mô.t minh
` riêng cu’a K dê
hoa. cu’a K, trong dó mo.i tiên dê ` u dúng trong minh hoa. dó.
Dă.c biê.t, nê´u K = P P thı̀ mo.i minh hoa. cu’a PP dê` u du.o..c xem là mô
hı̀nh cu’a PP.
Chú ý 1
∗ Nê´u K là mâu thuâ˜n (hı̀nh thú.c) thı̀ có mô.t công thú.c A
sao cho ` A và ` ¬A. Do dó theo hê. qua’ 2.1.2 (chu.o.ng 2):
`x ¬A → (A → B) và qui tă´c Modus Ponens suy ra ră ` ng mo.i công thú.c bâ´t
` u là di.nh lý trong K.
kỳ B dê
Bo’.i vâ.y, nê´u trong K tô`n ta.i mô.t công thú.c không pha’i là di.nh lý thı̀ lý
thuyê´t K dó là phi mâu thuâ˜n (hı̀nh thú.c).
∗ Nê´u lý thuyê´t tân tù. câ´p 1K có chú.a ı́t nhâ´t mô.t ký hiê.u tân tù. P
không có mă.t trong các tiên dê` riêng thı̀ ta không có `K A và `K ¬A, trong
dó A là công thú c dóng ∀x1P (x1). Theo nghı̃a dó thı̀ lý thuyê´t tân tù. câ´p 1
.
PP là lý thuyê´t không dâ` y du’ hı̀nh thú.c, vı̀ ră
` ng công thú.c dóng ∀x1P (x1)
chu.a thê’ xem là mê.nh dê ` xác di.nh mà còn phu. thuô.c vào minh hoa., trong
. .
dó P du o. c xác di.nh. Tı́nh dâ ` y du’ (hı̀nh thú.c) chı’ có ý nghı̃a dô´i vó.i các lý
thuyê´t toán ho.c riêng chù.ng nào trong lý thuyê´t dó không có các ký hiê.u tân
tù. (hoă.c biê´n hàm) nào mà nô.i dung cu’a nó không du.o..c qui di.nh bo’.i các
` riêng cu’a lý thuyê´t dó.
tiên dê
- Nê´u A là mô.t di.nh lý trong PP thı̀ h(A) cũng là di.nh lý trong logic
mê.nh dê` L.
- Nê´u PP là mâu thuâ˜n, nghı̃a là tô`n ta.i công thú.c A sao cho `P P A và
`P P ¬A thı̀ khi dó trong logic mê.nh dê ` L, ta có `x h(A) và `x h(¬A) (tú.c
là `x ¬h(A)).
` u này mâu thuâ˜n vó.i di.nh lý 2.3.3 trong chu.o.ng 2: Hê. L là phi mâu
Diê
thuâ˜n.
Vâ.y ta có lý thuyê´t tân tù. câ´p 1 PP là phi mâu thuâ˜n (hı̀nh thú.c).
3.6.3 Mô.t sô´ di.nh lý trong lý thuyê´t tân tù. câ´p 1 K
Di.nh nghı̃a 3.6.4 Gia’ su’. xi và xj là hai biê´n khác nhau, A(xi ) không chú.a
biê´n tu.. do xj , xj tu.. do dô´i vó.i biê´n xi trong A(xi ), và A(xj ) là công thú.c
nhâ.n du.o..c tù. A(xi) bă` ng cách thê´ xj vào mo.i vi. trı́ tu.. do cu’a xi trong A(xi ).
Khi dó ta nói ră` ng A(xi ) và A(xj ) là dô`ng da.ng vó.i nhau.
Nhu. vâ.y trong tru.ò.ng ho..p này, ta cũng có A(xj ) không chú.a biê´n tu.. do
xi và xi là tu.. do dô´i vó.i xj trong A(xj ).
Bô’ dê
` 3.6.1 Nê´u A(xi ) và A(xj ) là dô`ng da.ng thı̀
Chú.ng minh
Theo tiên dê` (A4): ` ∀xi A(xi) → A(xj ).
Su’. du.ng qui tă´c GEN: ` ∀xj (∀xi A(xi) → A(xj )).
Mă.t khác theo tiên dê` (A5): ` ∀xi A(xi) → ∀xj A(xj ) nhò. qui tă´c Modus
Ponens.
Bă` ng cách tu.o.ng tu.. ta nhâ.n du.o..c:
Do dó theo công thú.c dô`ng nhâ´t dúng: (A1 → (A2 → A1 ∧ A2)) và áp
` n qui tă´c MP ta có
du.ng 2 lâ
Di.nh lý 3.6.3 Nê´u công thú.c dóng ¬A cu’a lý thuyê´t K là không dâ˜n du.o..c
trong K thı̀ lý thuyê´t K nhâ.n du.o..c tù. K bă
` ng cách thêm A nhu. mô.t tiên
0
cho `K 0 B và `K 0 ¬B. Mă.t khác, ta có: `L (B → (¬B → ¬A)), nên ta cũng
có: `K 0 (B → (¬B → ¬A)). Áp du.ng 2 lâ ` n qui tă´c MP ta có: `K 0 ¬A. Do
dó A `K ¬A.
Theo gia’ thiê´t A là công thú.c dóng, nên theo hê. qua’ 3.5.1 (b) cu’a di.nh
lý suy diê˜n ta có:
`K A → ¬A.
Ho.n nũ.a, ta có: `L ((A → ¬A) → ¬A), nên ta cũng có: `K ((A → ¬A) →
¬A). Áp du.ng qui tă´c MP ta có: `K ¬A, trái vó.i gia’ thiê´t cu’a di.nh lý. Vâ.y
0
K là phi mâu thuâ˜n.
` 3.6.2 Tâ.p ho..p tâ´t ca’ các biê’u thú.c (dãy hũ.u ha.n các ký hiê.u) cu’a
Bô’ dê
lý thuyê´t tân tù. câ´p 1 K là dê´m du.o..c. Diê
` u này cũng dúng cho các tru.ò.ng
ho..p là tâ.p ho..p các term, tâ.p ho..p các công thú.c, tâ.p ho..p các công thú.c
dóng.
Chú.ng minh
Tru.ó.c hê´t ta thiê´t lâ.p mô.t hàm sô´ le’ phân biê.t g(u) dô´i vó.i mô˜i mô.t ký
hiê.u u nhu. sau: g(() = 3; g()) = 5; g(, ) = 7; g(¬) = 9; g(→) = 11; g(xk ) =
5 + 8k; g(ak ) = 7 + 8k; g(fkn ) = 9 + 8(2n 3k ); g(Ank ) = 11 + 8(2n 3k ).
Khi dó dô´i vó.i mô.t biê’u thú.c u1 u2...ur tu.o.ng ú.ng là sô´ 2g(u1 ) 3g(u2 )
... pr r , trong dó pi là sô´ nguyên tô´ thú. i. Ta có thê’ dê´m du.o..c
g(u )
tâ´t ca’ các biê’u thú.c theo thú. tu.. cu’a các con sô´ liên quan
dê´n chúng.
114 Chu.o.ng 3. Hê. toán tân tù.
Di.nh nghı̃a 3.6.5 Mô.t lý thuyê´t K có cùng các ký hiê.u co. ba’n nhu. lý
0
thuyê´t K du.o..c go.i là mo’. rô.ng cu’a K, nê´u mo.i di.nh lý cu’a K cũng là di.nh
0
lý cu’a K .
Chú ý 2 Dê’ chú.ng minh K là mo’. rô.ng cu’a K chı’ câ ` n chú.ng minh ră` ng
0
0
mô˜i mô.t tiên dê
` riêng cu’a K là mô.t di.nh lý trong K .
Chú.ng minh
Theo bô’ dê` 3.6.2, tâ.p ho..p tâ´t ca’ các công thú.c dóng cu’a K là dê´m du.o..c,
chă’ng ha.n theo thú. tu.. sau: B1, B2 , B3, .... Ta xây du..ng mô.t dãy các lý thuyê´t
J0 , J1 , J2, .... nhu. sau:
- J0 = K.
- Gia’ thiê´t dã xác di.nh Jn (n ≥ 0).
- Nê´u `Jn ¬Bn+1 thı̀ dă.t Jn+1 = Jn , còn trái la.i, nê´u không pha’i `Jn
¬Bn+1 thı̀ dă.t Jn+1 là lý thuyê´t thu du.o..c tù. Jn bă` ng cách thêm Bn+1 nhu.
là mô.t tiên dê` . Theo di.nh lý 3.6.3, nê´u Jn là phi mâu thuâ˜n thı̀ Jn+1 cũng
phi mâu thuâ˜n. Do dó mo.i lý thuyê´t Jn (n ≥ 0) dê ` u phi mâu thuâ˜n. Bây
. . . ` gô`m tâ´t ca’ các tiên dê
giò ta dă.t J là lý thuyê´t tân tù câ´p 1 vó i hê. tiên dê `
cu’a Ji (i ≥ 0).
Rõ ràng Jn+1 là mo’. rô.ng cu’a Jn và J là mo’. rô.ng cu’a mo.i Ji , kê’ ca’
J0 = K.
Dê’ chú.ng minh ră` ng J là phi mâu thuâ˜n, ta pha’i chú.ng minh mo.i Ji dê`u
là phi mâu thuâ˜n, vı̀ ră` ng mô.t suy diê˜n cu’a mâu thuâ˜n trong J du.o..c thu..c
hiê.n chı’ trong mô.t sô´ hũ.u ha.n các tiên dê
` , cũng là mô.t suy diê˜n cu’a mâu
thuâ˜n trong mô.t Jn nào dó. Ta chú.ng minh tı́nh phi mâu thuâ˜n cu’a mo.i Ji
bă` ng qui na.p.
- Theo gia’ thiê´t J0 = K là phi mâu thuâ˜n.
- Gia’ su’. ră` ng Ji là phi mâu thuâ˜n.
Nê´u Ji+1 = Ji thı̀ Ji+1 là phi mâu thuâ˜n.
` y du’ cu’a logic tân tù.
3.6. Tı́nh phi mâu thuâ˜n và dâ 115
Nê´u Ji+1 6= Ji và ho.n nũ.a, theo di.nh nghı̃a cu’a Ji+1 : ¬Bi+1 là không dâ˜n
du.o..c trong Ji , nên khi dó theo di.nh lý 3.6.3 thı̀ Ji+1 cũng phi mâu thuâ˜n.
Do vâ.y Ji+1 là phi mâu thuâ˜n, nê´u Ji là phi mâu thuâ˜n, và tù. dó ta có J
là phi mâu thuâ˜n. Ta chú.ng minh tı́nh dâ ` y du’ cu’a J . Gia’ su’. A là công
thú.c dóng cu’a K. Khi dó A = Bj+1 dô´i vó.i j ≥ 0 nào dó. Bo’.i vâ.y hoă.c là
`Jj ¬Bj+1 hoă.c `Jj+1 Bj+1 , vı̀ ră` ng nê´u không pha’i `Jj ¬Bj+1 thı̀ Bj+1 du.o..c
bô’ sung vào Jj+1 nhu. là mô.t tiên dê` . Tù. dó dâ˜n tó.i hoă.c là `J ¬Bj+1 hoă.c
là `J Bj+1 . Vâ.y J là mô.t mo’. rô.ng dâ
` y du’ và phi mâu thuâ˜n cu’a K.
116 Chu.o.ng 3. Hê. toán tân tù.
Chú.ng minh:
Gia’ su’. K là lý thuyê´t tân tù. câ´p 1 phi mâu thuâ˜n.
1) Ta go.i K0 là lý thuyê´t nhâ.n du.o..c tù. K bă` ng cách thêm vào K mô.t tâ.p
dê´m du.o..c {b1 , b2, ...} các ký hiê.u hă` ng dô´i tu.o..ng mó.i. Ta chú.ng minh ră` ng
K0 là phi mâu thuâ˜n.
Thâ.t vâ.y, gia’ su’. ngu.o..c la.i, K0 là mâu thuâ˜n. Khi dó có tô`n ta.i mô.t công
thú.c A sao cho có mô.t suy diê˜n trong K0 cu’a A ∧ ¬A.
Ta thay thê´ trong suy diê˜n này mô˜i mô.t xuâ´t hiê.n cu’a bi du.o..c thay bo’.i
mô.t ký hiê.u biê´n chu.a có mă.t trong suy diê˜n và tru.ó.c dó chu.a du.o..c dùng
dê’ thay thê´. Dê˜ dàng thâ´y ră` ng viê.c thay thê´ này ta thu du.o..c mô.t suy diê˜n
trong K cu’a mô.t công thú.c da.ng A ∧ ¬A , tú.c là mâu thuâ˜n. Diê
0 0
` u này trái
vó.i gia’ thiê´t K là phi mâu thuâ˜n.
Vâ.y ta có K0 là phi mâu thuâ˜n.
2) Theo bô’ dê ` 3.6.2, tâ.p tâ´t ca’ các công thú.c chú.a không quá mô.t biê´n tu..
do trong K0 là tâ.p dê´m du.o..c, chă’ng ha.n theo cách dánh sô´ sau dây:
(xik là biê´n tu.. do cu’a Fk , nê´u Fk không chú.a biê´n tu.. do; trái la.i, dă.t
xik = x1). Ta cho.n mô.t dãy bj1, bj2 , ..., bjk , ... tù. các ký hiê.u hă` ng mó.i sao
cho bjk không chú.a trong F1, F2 , ...., Fk và khác bj1 , bj2 , ..., bjk−1.
Xét công thú.c du.o..c xác di.nh nhu. sau:
Gia’ su’. Kn là lý thuyê´t tân tù. câ´p 1 nhâ.n du.o..c tù. K0 bă` ng cách thêm
S1 , S2 , ..., Sn nhu. là các tiên dê
` mó.i, và K∞ là lý thuyê´t nhâ.n du.o..c bă` ng
cách thêm tâ´t ca’ các công thú.c Si nhu. là các tiên dê
` vào K0 .
Mô˜i mô.t suy diê˜n trong K∞ chı’ chú.a mô.t sô´ hũ.u ha.n các Si , và do dó
nó cũng là suy diê˜n trong mô.t Kn nào dó. Do vâ.y, nê´u mo.i Ki là phi mâu
` y du’ cu’a logic tân tù.
3.6. Tı́nh phi mâu thuâ˜n và dâ 117
thuâ˜n thı̀ K∞ cũng phi mâu thuâ˜n. Dê’ chú.ng minh ră` ng mo.i Ki là phi mâu
thuâ˜n, ta chú.ng minh bă` ng qui na.p.
- K0 là phi mâu thuâ˜n.
- Gia’ su’. Kn−1 là phi mâu thuâ˜n, nhu.ng Kn là mâu thuâ˜n (n ≥ 1). Khi
dó nhu. ta dã biê´t mô˜i mô.t công thú.c là dâ˜n du.o..c trong Kn theo công thú.c
dô`ng nhâ´t dúng A1 → (¬A1 → A2) và qui tă´c MP. Dă.c biê.t `K ¬Sn . Do dó
ta có Sn `Kn−1 ¬Sn .
Vı̀ Sn là công thú.c dóng, nên theo hê. qua’ 3.5.1 (b) ta có `Kn−1 Sn → ¬Sn .
Mă.t khác, ta cũng có công thú.c (A1 → ¬A1) → ¬A1 là dô`ng nhâ´t dúng, nên
ta có: `Kn−1 ¬Sn nhò. qui tă´c MP, tú.c là
Xét mô.t suy diê˜n nào dó cu’a Fn (bjn ) trong Kn−1 . Ta cho.n xp là mô.t biê´n
không có mă.t trong suy diê˜n dó. Ta thay khă´p no.i trong suy diê˜n dó ký
hiê.u bjn bo’.i xp, khi dó ta nhâ.n du.o..c mô.t suy diê˜n trong Kn−1 cu’a F (xp),
tú.c là `
Kn−1 F (x ).
n p
Áp du.ng qui tă´c GEN ta du.o..c: `Kn−1 ∀xp Fn (xp), và theo bô’ dê ` 3.6.1 ta
có: `Kn−1 ∀xin Fn (xin ), vı̀ Fn (xin ) và Fn (xp) là dô`ng da.ng vó.i nhau.
Vâ.y ta dã chú.ng minh du.o..c ră` ng Kn−1 là mâu thuâ˜n, diê ` u dó trái vó.i
gia’ thiê´t qui na.p. Do dó Kn là phi mâu thuâ˜n, và tù. dó K∞ cũng là phi
mâu thuâ˜n.
Chú ý ră` ng K∞ là mo’. rô.ng phi mâu thuâ˜n cu’a K0 , và theo di.nh lý 3.6.4
lý thuyê´t J là mô.t mo’. rô.ng phi mâu thuâ˜n và dâ
` y du’ cu’a K∞ .
3) Bây giò. ta xây du..ng mô.t minh hoa. dê´m du.o..c M cho lý thuyê´t tân tù. K0
(theo dâ ` y du’ tiê´n trı̀nh sau dây).
118 Chu.o.ng 3. Hê. toán tân tù.
Di.nh nghı̃a 3.6.6 Mô.t term (ha.ng tu’.) du.o..c go.i là dóng, nê´u nó không
chú.a các biê´n.
Minh hoa. M cu’a K0 du.o..c xây du..ng nhu. sau:
- Ta dă.t D là tâ.p ho..p tâ´t ca’ các terms dóng cu’a K0 . Tâ.p này là dê´m
du.o..c theo bô’ dê ` 3.6.2, và tâ.p D này là Tru.ò.ng minh hoa. (hay miê ` n xác di.nh
. .
dô´i tu o. ng cu’a M).
- Mô˜i mô.t ký hiê.u hă` ng c cu’a K thı̀ nó du.o..c minh hoa. bo’.i chı́nh là hă` ng
dó (vó.i tu. cách là mô.t phâ ` n tu’. cu’a D) trong M.
- Mô˜i mô.t ký hiê.u biê´n hàm fjn cu’a K du.o..c gán mô.t toán tu’. fjn∗ tù. Dn
vào D trong M sao cho dô´i vó.i mô˜i mô.t bô. (t1 , t2, ..., tn)∈ Dn các term dóng
tu.o.ng ú.ng cho ta mô.t giá tri. fjn∗ (t1, t2, ..., tn) là mô.t term dóng thuô.c D cu’a
K0 .
- Mô˜i mô.t ký hiê.u tân tù. Anj trong K du.o..c gán mô.t ánh xa. An∗ j tù
.
Dn vào {T, F } trong M sao cho dô´i vó.i mô.t bô. (t1 , t2, ..., tn) ∈ Dn ta có
An∗ n
j (t1 , t2 , ..., tn) = T , khi và chı’ khi `J Aj (t1 , t2 , ..., tn).
Mu.c dı́ch cu’a ta là chú.ng minh ră` ng minh hoa. M là mô.t mô hı̀nh cu’a lý
thuyê´t tân tù. K0 .
Dê’ chú.ng minh diê ` n chú.ng minh ră` ng mô˜i mô.t công thú.c
` u này, ta chı’ câ
dóng A cu’a K0 là dúng trong M, khi và chı’ khi `J A, vı̀ ră` ng mo.i di.nh lý
cu’a K0 dê` u là di.nh lý trong J . Ta chú.ng minh mê.nh dê ` này bă` ng qui na.p
theo sô´ phép toán và lu.o..ng tù. trong công thú.c A.
Tru.ó.c hê´t, gia’ su’. A là mô.t công thú.c dóng so. câ´p. Khi dó, theo di.nh
nghı̃a A là dúng trong M, khi và chı’ khi `J A.
Bây giò. bu.ó.c gia’ thiê´t qui na.p: nê´u B là công thú.c dóng nào dó có sô´
phép toán và lu.o..ng tù. ı́t ho.n A, và B là dúng trong M khi và chı’ khi `J B.
` n pha’i xét các tru.ò.ng ho..p sau dây:
Ta câ
- Trái la.i, nê´u A là sai trong M thı̀ B là dúng trong M. Do dó `J B. Vı̀
J là phi mâu thuâ˜n nên ta nhâ.n du.o..c: không có `J ¬B, tú.c là không
có `J A
ta nhâ.n du.o..c kê´t qua’: `J B và `J ¬C nhò. qui tă´c Modus Ponens. Do
vâ.y B là dúng trong M. Theo tı́nh phi mâu thuâ˜n cu’a J : không có
`J C và do vâ.y, C là sai trong M. Vâ.y A là sai trong M.
- Bây giò. ta gia’ thiê´t A là sai trong M nhu.ng `J A. Vı̀ ∀xik Fk (xik ) là sai
trong M, nên tô`n ta.i ı́t nhâ´t mô.t phâ` n tu’. trong D, tú.c là mô.t term dóng cu’a
K0 sao cho Fk (t) là sai trong M. Vı̀ ta gia’ thiê´t `J A, tú.c là `J ∀xik Fk (xik ),
nên theo tiên dê ` (A4) ta có `J Fk (t). Do dó Fk (t) là dúng trong M, diê `u
này mâu thuâ˜n vó.i tı́nh sai cu’a Fk (t) trong M. Vı̀ vâ.y không thê’ có `J A.
` mà ta dòi ho’i hoàn toàn du.o..c chú.ng minh dô´i vó.i A.
Mê.nh dê
Nhu. vâ.y ta dã chú.ng minh du.o..c M là mô.t mô hı̀nh dê´m du.o..c cu’a
lý thuyê´t J , và do dó cũng là dê´m du.o..c dô´i vó.i lý thuyê´t K0 . Vı̀ mo.i di.nh
lý cu’a K là di.nh lý cu’a K0 , nên M cũng là mô hı̀nh dê´m du.o..c cu’a lý thuyê´t
K.
Chú.ng minh
- Ta dê˜ dàng kiê’m tra du.o..c ră` ng các tiên dê
` tù. (A1) dê´n (A5) dê` u là
logic dô`ng nhâ´t dúng.
- Các qui tă´c dâ˜n xuâ´t MP và GEN dê ` u có tı́nh logic dô`ng nhâ´t dúng.
Do dó mô˜i mô.t di.nh lý là logic dô`ng nhâ´t dúng.
` 3.6.3 Mô˜i mô.t công thú.c logic dô`ng nhâ´t dúng cu’a lý thuyê´t tân tù.
Bô’ dê
câ´p 1 K là mô.t di.nh lý cu’a K.
Chú.ng minh
` n xét các công thú.c dóng. Gia’ su’. A là mô.t công thú.c dóng và
Ta chı’ câ
logic dô`ng nhâ´t dúng cu’a K. Gia’ su’. A không pha’i là di.nh lý cu’a K. Khi dó
theo di.nh lý 3.6.3 ta thêm vào K công thú.c ¬A nhu. mô.t tiên dê ` , ta du.o..c
0 0
mô.t lý thuyê´t phi mâu thuâ˜n K . Theo di.nh lý 3.6.5, K có mô.t mô hı̀nh
` cu’a K , nên ¬A dúng trong M. Ho.n nũ.a, A là logic
0
M. Vı̀ ¬A là tiên dê
dô`ng nhâ´t dúng, nên A cũng dúng trong M. Nhu. vâ.y công thú.c A dô`ng
3.7. Áp du.ng trong chú.ng minh di.nh lý cu’a lý thuyê´t tân tù. câ´p 1 121
thò.i vù.a dúng, vù.a không dúng trong mô hı̀nh M. Diê
` u này là mâu thuâ˜n.
Vâ.y A là mô.t di.nh lý cu’a K.
Di.nh lý 3.6.7 (di.nh lý dâ ` y du’ cu’a Giödel [1930])
Trong lý thuyê´t tân tù câ´p 1PP, ló.p các di.nh lý trùng vó.i ló.p các công
.
thú.c logic dô`ng nhâ´t dúng.
Chú.ng minh
` u này du.o..c suy ra tù. di.nh lý 3.6.6 và bô’ dê
Diê ` 3.6.3.
Chú.ng minh
Chú ý ră` ng nê´u K có mô.t mô hı̀nh thı̀ K là phi mâu thuâ˜n. Do dó theo
di.nh lý 3.6.5, K có mô.t mô hı̀nh dê´m du.o..c.
Chú.ng minh
• Cách 1: Áp du.ng di.nh lý suy diê˜n trong logic tân tù.. Tru.ó.c hê´t ta
biê´n dô’i công thú.c dã cho nhu. sau:
.
O’ dây trong khi xây du..ng dâ˜n xuâ´t ta không su’. du.ng qui tă´c GEN
dô´i vó.i biê´n tu.. do cu’a ∀xi(A → B) và ∀xi A. Do dó theo di.nh lý 3.5.2,
ta dê˜ dàng áp du.ng 2 lâ ` n di.nh lý suy diê˜n, ta có ` ∀xi (A → B) →
(∀xi A → ∀xiB)
là di.nh lý, khi và chı’ khi C là logic dô`ng nhâ´t dúng.
Ta xét mô.t minh hoa. vó.i D là Tru.ò.ng minh hoa. mà trên dó các công
thú.c A và B du.o..c xác di.nh.
P
Gia’ su’. dãy s = (b1, b2 , ...., bi, ...) ∈ tuỳ ý. Ta sẽ chú.ng minh ră` ng C
là thu..c hiê.n du.o..c trên s, tú.c là C = 1 trên dãy s = (b1, b2 , ...., bi, ...).
` n thú. i ⇔ A là thu..c hiê.n du.o..c trên mo.i dãy bâ´t kỳ s khác
0
phâ
s không quá thành phâ ` n thú. i (1) hoă.c B là thu..c hiê.n du.o..c trên
` n thú. i (2).
0
mo.i dãy bâ´t kỳ s khác s không quá thành phâ
Tù. (1) suy ra ră` ng công thú.c ∃xiA là thu..c hiê.n du.o..c dô´i vó.i ı́t
P
` n thú. i. (3) (s ∈ ).
0 0
nhâ´t mô.t dãy s khác s không quá thành phâ
Tù. (2) suy ra ră` ng ∀xi B là thu..c hiê.n du.o..c trên mo.i dãy bâ´t kỳ
` n thú. i. (4)
0
s khác s không quá thành phâ
Kê´t ho..p (3) và (4) ta có: G = ∃xi A ∨ ∀xiB là thu..c hiê.n du.o..c
trên dãy s, tú.c là G = 1 trên dãy s.
Vâ.y C = D → G = 1 → 1 = 1, nghı̃a là C là thu..c hiê.n du.o..c trên
P
dãy s = (b1, b2 , ..., bi, ...) ∈ . Vı̀ s du.o..c cho.n tuỳ ý, nên công
thú.c C là logic dô`ng nhâ´t dúng.
2. Hãy chı’ ra biê´n nào là biê´n tu.. do, biê´n nào là biê´n ràng buô.c cu’a các
công thú.c sau:
3. Có pha’i t = f12 (x1, x2 ) là tu.. do dô´i vó.i x1 trong công thú.c sau dây không:
4. Chú.ng minh ră` ng các công thú.c sau dây không logic dô`ng nhâ´t dúng:
5. Chú.ng minh ră` ng các công thú.c sau dây là logic dô`ng nhâ´t dúng:
6. Nê´u A là mô.t công thú.c dóng thı̀ khi dó chú.ng minh ră` ng A logic kéo
theo B, khi và chı’ khi B là dúng trong mô˜i mô.t minh hoa. mà ta.i dó A
là dúng.
7. Chú.ng minh ră` ng công thú.c sau dây không logic dô`ng nhâ´t dúng:
8. Chú.ng minh ră` ng các công thú.c sau là di.nh lý:
9. Dô´i vó.i mô˜i mô.t lý thuyê´t tân tù. câ´p 1K, nê´u Γ `K A và mô˜i mô.t công
thú.c cu’a Γ là dúng trong minh hoa. M dã cho cu’a K thı̀ A cũng dúng
trong M.
Chu.o.ng 4
4.2.3 Các phép toán, quan hê. và hàm chuâ’n . . . . . . . 137
Diê’m ma.nh cu’a ngôn ngũ. PROLOG so vó.i ngôn ngũ. lâ.p trı̀nh truyê `n
. .
` bă` ng viê.c mô ta’ phu o ng pháp gia’i
thô´ng là cách tiê´p câ.n gia’i quyê´t vâ´n dê
quyê´t. Chu.o.ng trı̀nh Prolog không mô ta’ thu’ tu.c gia’i quyê´t vâ´n dê ` mà mô
ta’ logic cu’a vâ´n dê ` câ
` n gia’i quyê´t.
Prolog du o. c coi là bu.ó.c thành công dâ
. . ` u tiên cu’a lâ.p trı̀nh logic, hu.ó.ng
` u khı́a ca.nh thông minh cu’a mô.t chu.o.ng
dâ˜n viê.c cài dă.t có hiê.u qua’ nhiê
trı̀nh, chă’ng ha.n: lu..a cho.n không tâ´t di.nh, xu’. lý song song, go.i thu’ tu.c
không qua tham sô´ (pattern dicected procedure call), ...
Vı̀ Prolog tiê´p câ.n các vâ´n dê ` mô.t cách tu.. nhiên và logic, nên nhũ.ng
ngu.ò.i mó.i lâ.p trı̀nh và nhũ.ng ngu.ò.i lâ.p trı̀nh viên có kinh nghiê.m dê ` u có
128 Chu.o.ng 4. Ngôn ngũ. PROLOG
thê’ dùng nó dê’ viê´t nhũ.ng chu.o.ng trı̀nh ú.ng du.ng có tâ ` m cõ. nhu. các hê.
chuyên gia, các co. so’. tri thú.c, các giao diê.n bă` ng ngôn ngũ. tu.. nhiên, và các
hê. thô´ng qua’n lý thông tin go.n nhe. và hiê.u qua’.
Diê’m ma.nh cu’a Prolog là cách tiê´p câ.n gia’i quyê´t vâ´n dê ` bă` ng viê.c mô
ta’ phu.o.ng pháp gia’i quyê´t. Chu.o.ng trı̀nh Prolog không mô ta’ thu’ tu.c gia’i
quyê´t vâ´n dê` mà mô ta’ logic cu’a vâ´n dê ` câ` n gia’i quyê´t, nghı̃a là ngu.ò.i lâ.p
trı̀nh câ` n dành toàn bô. sú.c lu..c và su.. quan tâm cu’a mı̀nh vào viê.c khai báo
cho máy tı́nh mô.t sô´ khă’ng di.nh câ ` n thiê´t vê` các tı́nh châ´t cu’a các dô´i tu.o..ng
trong lı̃nh vu..c du.o..c dê` câ.p và mô.t sô´ luâ.t suy diê˜n, mô ta’ tı́nh châ´t và các
quan hê. giũ.a các dô´i tu.o..ng.
Du..a vào viê.c suy diê˜n theo các luâ.t, kê´t ho..p vó.i khă’ng di.nh dã cho,
chu.o.ng trı̀nh Prolog tu.. xác di.nh cách thú.c “dâ˜n” ra lò.i gia’i cu’a vâ´n dê `.
Ngoài ra Prolog cho phép gia’i quyê´t các vâ´n dê ` mà lò.i gia’i là không tâ´t di.nh
và làm viê.c vó.i các dô´i tu.o..ng hoàn toàn chu.a du.o..c biê´t hoă.c mó.i chı’ biê´t
mô.t phâ ` n vê
` chúng.
Cũng nhu. các ngôn ngũ. lâ.p trı̀nh truyê ` n thô´ng: Pascal, C, ... ngu.ò.i ta
xây du..ng phâ ` m Turbo-Prolog giúp cho ngu.ò.i lâ.p trı̀nh cha.y chu.o.ng
` n mê
trı̀nh Prolog dê˜ dàng và hiê.u qua’ ho.n. Turbo-Prolog tro’. thành mô.t công cu.
lâ.p trı̀nh râ´t hũ.u du.ng vó.i nhũ.ng lý do sau dây:
1. Có thê’ ta.o ra các chu.o.ng trı̀nh dô.c lâ.p cha.y trên các máy PC, và
cho phép dê˜ dàng truy câ.p dê´n bô. nhó. và các cô’ng vào/ra cũng nhu.
các kha’ năng phô´i ho..p các chu.o.ng trı̀nh viê´t bă` ng mã máy vào trong
chu.o.ng trı̀nh Turbo Prolog.
2. Turbo Prolog duy trı̀ tên biê´n cu’a riêng ngu.ò.i lâ.p trı̀nh, nghı̃a là kê’ ca’
khi chu.o.ng trı̀nh dã du.o..c biên di.ch, ta vâ˜n có thê’ làm chu’ chu.o.ng trı̀nh
gô´c. Trong khi tı̀m và gõ. lô˜i, ta dùng vê´t (trace) cho phép quan sát
viê.c thu..c hiê.n chu.o.ng trı̀nh và quá trı̀nh thao tác qua các dı́ch (goal).
3. Turbo Prolog là mô.t môi tru.ò.ng phát triê’n chu.o.ng trı̀nh hoàn toàn
theo môdun. Các môdun chu.o.ng trı̀nh viê´t trong Turbo Prolog hoă.c
4.1. Mo’. dâ
`u 129
các ngôn ngũ. khác nhu. C, Assembler, ... có thê’ du.o..c nô´i la.i vó.i nhau
thành mô.t chu.o.ng trı̀nh.
4. Các tân tù. có să˜n trong hê. thô´ng cho phép su’. du.ng các tê.p truy nhâ.p
tru..c tiê´p (random access files).
5. Toàn bô. các thao tác tı́nh toán vó.i các sô´ nguyên, sô´ thu..c, các hàm
lu.o..ng giác cũng nhu. các thao tác bit dùng dê’ viê´t các chu.o.ng trı̀nh
ú.ng du.ng cho Robot và diê ` u du.o..c du.a vào thành
` u khiê’n kỹ thuâ.t, dê
thao tác chuâ’n cu’a hê. thô´ng Turbo Prolog.
1. Ta.o hı̀nh mâ˜u (prototype) cho mô.t chu.o.ng trı̀nh ú.ng du.ng. Nhũ.ng
ý tu.o’.ng ban dâ
` u có thê’ du.o..c mô hı̀nh hoá nhanh chóng bă` ng Turbo
Prolog và cha.y thu’. ngay mô hı̀nh dó.
` u khiê’n và chı’ da.o các quá trı̀nh sa’n xuâ´t công nghiê.p.
2. Diê
3. Cài dă.t các co. so’. dũ. liê.u dô.ng quan hê..
4. Di.ch ngôn ngũ. hoă.c di.ch ngôn ngũ. tu.. nhiên cu’a con ngu.ò.i, hoă.c di.ch
tù. mô.t ngôn ngũ. lâ.p trı̀nh này sang mô.t ngôn ngũ. lâ.p trı̀nh khác,
chă’ng ha.n mô.t chu.o.ng trı̀nh di.ch ngôn ngũ. viê´t bă` ng Turbo Prolog
di.ch du.o..c ngôn ngũ. Basic sang ngôn ngũ. C cha.y trong hê. diê ` u hành
Unix trên máy tı́nh HP-9000.
5. Xây du..ng các giao diê.n bă` ng ngôn ngũ. tu.. nhiên cho các hê. thô´ng phâ
`n
` m có să˜n dê’ có thê’ truy câ.p và su’. du.ng chúng thuâ.n lo..i ho.n.
mê
6. Xây du..ng các Hê. chuyên gia và các công cu. (Tools) dê’ xây du..ng hê.
chuyên gia.
7. Viê´t các chu.o.ng trı̀nh ú.ng du.ng cho Trı́ tuê. nhân ta.o và chú.ng minh
di.nh lý.
130 Chu.o.ng 4. Ngôn ngũ. PROLOG
Chu.o.ng trı̀nh Prolog bao gô`m các khai báo: su.. khai báo này du.o..c ta.o
thành bo’.i 3 phâ
` n:
a) Tên và câ´u trúc cu’a các dô´i tu.o..ng trong bài toán
c) Các su.. kiê.n (fact) và luâ.t (rule) mô ta’ nhũ.ng quan hê. này.
Su.. khai báo trong chu.o.ng trı̀nh Prolog du.o..c su’. du.ng dê’ xác di.nh mô´i
quan hê. giũ.a các dũ. liê.u vào và các dũ. liê.u ra sẽ du.o..c Prolog ta.o ra khi nó
su’. du.ng các su.. kiê.n và luâ.t. Ngoài nhũ.ng khai báo câ ` n thiê´t, mô.t chu.o.ng
trı̀nh Prolog còn bao gô`m mô.t danh sách các mê.nh dê ` logic hoă.c da.ng các
su.. kiê.n, chă’ng ha.n “Hôm nay trò.i mu.a” hoă.c da.ng luâ.t, chă’ng ha.n “Nê´u
trò.i mu.a mà ba.n quên ô thı̀ ba.n sẽ u.ó.t”.
Prolog có thê’ thu..c hiê.n suy diê˜n, chă’ng ha.n cho tru.ó.c các su.. kiê.n:
Folin thı́ch Mery.
Tom thı́ch Sam.
và luâ.t: Nê´u Tom thı́ch X thı̀ Jeanette thı́ch X.
Prolog có thê’ suy diê˜n nhu. sau:
Jeanette thı́ch Sam
Ba.n cũng có thê’ cho Prolog mô.t dı́ch, chă’ng ha.n:
Hãy tı̀m ngu.ò.i thı́ch Sam?
Khi dó Prolog sẽ su’. du.ng kha’ năng suy diê˜n cu’a mı̀nh dê’ tı̀m ra tâ´t ca’ các
lò.i gia’i có thê’ cu’a bài toán.
Khi mô.t chu.o.ng trı̀nh Prolog du.o..c thu..c hiê.n, hê. thô´ng sẽ cô´ gă´ng tı̀m
ra các tâ.p giá tri. có thê’ thoa’ mãn dı́ch dã cho. Prolog su’. du.ng co. chê´
backtracking (quay lui), nghı̃a là khi dã tı̀m ra mô.t lò.i gia’i thı̀ quay la.i bâ´t
cú. mô.t gia’ thiê´t dã xác di.nh dê’ xem liê.u có rút ra du.o..c lò.i gia’i mó.i nũ.a
không.
Prolog có mô.t cú pháp râ´t ngă´n go.n và do.n gia’n, nên dê˜ ho.c ho.n nhiê `u
so vó.i các ngôn ngũ. lâ.p trı̀nh truyê
` n thô´ng.
4.2. Ngôn ngũ. PROLOG 131
Theo quan diê’m cu’a lâ.p trı̀nh logic, Prolog là mô.t ngôn ngũ. tân tù. câ´p
1 có ha.n chê´ du.o..c xây du..ng nên tù. các thành phâ
` n co. ba’n sau dây:
• Mô.t ba’ng chũ. cái (tâ.p các ký hiê.u co. ba’n cu’a ngôn ngũ.)
Các qui tă´c cú pháp cu’a mô.t ngôn ngũ. mô ta’ cách thú.c ghép nô´i ta.o nên
các tù. cu’a ngôn ngũ..
Thuâ.t ngũ. “term” dùng dê’ chı’ mô.t dãy các ký hiê.u co. ba’n phù ho..p vó.i
các qui tă´c cú pháp cu’a ngôn ngũ.. Ngôn ngũ. Prolog phân biê.t 3 loa.i “term”:
• Các hă` ng
• Các biê´n
N O P Q R S T U V W X Y Z
` ng
4.2.2.2 Các hă
Trong Prolog các hă ` ng dùng dê’ dă.t tên các dô´i tu.o..ng và các quan hê.
` n pha’i phân biê.t hai loa.i hă` ng: hă` ng ký hiê.u và hă` ng sô´.
riêng biê.t, và ta câ
– Kiê’u thú. hai là mô.t dãy ký tu.. bâ´t kỳ nă` m giũ.a hai dâ´u nháy do.n,
chă’ng ha.n ‘hoa lan’, ngoài ra dâ´u ga.ch thâ´p “ ” du.o..c dùng dê’ chèn
vào giũ.a hai dãy ký hiê.u làm cho hă` ng dó dê˜ do.c, dê˜ hiê’u ho.n nhiê
` u.
Các dãy ký hiê.u sau dây không pha’i là các hă` ng ký hiê.u : 124k, Void,
1hoa lan, alpha.
Các hă` ng sô´ dùng dê’ biê’u diê˜n dũ. liê.u sô´. Các thao tác tı́nh toán có thê’
du.o..c thu..c hiê.n vó.i chúng.
4.2. Ngôn ngũ. PROLOG 133
` n dũ. liê
Ba’ ng các miê . u chuâ’n cu’ a Prolog
- integer: sô´ nguyên tù. - 32768 dê´n 32767.
- char: ký tu.. du.o..c viê´t trong hai dâ´u nháy do.n, chă’ng ha.n: ‘a0, ‘b0, ‘c0...
- string: xâu ký tu.. du.o..c viê´t giũ.a hai dâ´u nháy kép, chă’ng ha.n “chào các
ban”
1. Dãy các chũ., các sô´ và dâ´u ga.ch thâ´p. Dãy này pha’i bă´t dâ
`u
. . .
bă` ng mô.t chũ viê´t thu ò ng, chă’ng ha.n: anh em.
2. Dãy ký tu.. nă` m giũ.a că.p dâ´u nháy kép chă’ng ha.n: “DR no” ,
“Hanoi”, v.v...
Chú ý: Symbol (ký hiê.u) và string (xâu) có thê’ su’. du.ng thay cho nhau,
nhu.ng chúng du.o..c xu’. lý khác nhau.
Biê´n pha’i bă´t dâ ` u bă` ng mô.t chũ. viê´t hoa hoă.c mô.t dâ´u ga.ch thâ´p “ ”
(du.o..c go.i là biê´n vô danh anonymous variable). Biê´n vô danh có mô.t tı́nh
châ´t râ´t dă.c biê.t là nó có thê’ ký hiê.u cho mo.i dô´i tu.o..ng, vı̀ thê´ nó có thê’
du.o..c su’. du.ng vào bâ´t kỳ chô˜ nào mà mô.t biê´n khác có thê’ dùng du.o..c,
nhu.ng không câ ` n nhâ.n mô.t giá tri. cu. thê’.
• Biê´n tu.. do: Prolog không biê´t giá tri. cu’a nó,
domains
person, hobby=symbol
predicates
likes(person, hobby)
clauses
likes(john, reading).
likes(ellen, computers).
likes(eric, swimming).
likes(eric, reading).
Cha.y chu.o.ng trı̀nh theo chê´ dô. Interactive Mode (hô.i thoa.i)
Goal: likes(X, reading)←-
Kê´t qua’ là: X=ellen
X=eric
2 solutions
trong dó X du.o..c xem là biê´n tu.. do gă´n liê
` n vó.i quan hê. cu’a lu.o..ng tù. toàn
thê’ ∀, còn reading du.o..c xem là ràng buô.c gă´n liê
` n vó.i quan hê. cu’a lu.o..ng
tù. tô`n ta.i ∃.
Câ´u trúc là loa.i term thú. 3 (thu.ò.ng du.o..c go.i là biê´n hàm f ) du.o..c su’.
du.ng trong chu.o.ng trı̀nh Prolog.
Mô.t câ´u trúc là mô.t dô´i tu.o..ng do.n du.o..c ta.o nên tù. mô.t tâ.p ho..p các dô´i
tu.o..ng khác go.i là các thành phâ ` n. Các thành phâ ` n du.o..c liên kê´t vó.i nhau
trong mô.t câ´u trúc dê’ có thê’ xu’. lý chúng mô.t cách thuâ.n tiê.n và thô´ng
nhâ´t.
Mô.t câ´u trúc du.o..c viê´t trong cú pháp Prolog bă` ng cách mô ta’ tên du.o..c
go.i là “functor” cu’a câ´u trúc, sau dó mô ta’ các thành phâ ` n. Các thành phâ `n
. . . .
này du o. c viê´t trong hai dâ´u ngoă.c do n, và cách nhau bo’ i các dâ´u phâ’y.
/* John có quyê’n sách “Dô`i gió hú” cu’a tác gia’ Emily Brownte*/
Câ´u trúc sách là mô.t dô´i cu’a khă’ng di.nh trên và tham gia vào quan hê.
“co” nhu. là mô.t dô´i tu.o..ng do.n.
Viê.c biê’u diê˜n các chu.o.ng trı̀nh Prolog nhu. là các câ´u trúc functor (...)
` u u.u diê’m, vı̀ ră` ng có thê’ thao tác các thành phâ
có râ´t nhiê ` n cu’a mô.t chu.o.ng
trı̀nh mô.t cách thô´ng nhâ´t bă` ng mô.t sô´ công cu. du’ ma.nh, dó là co. chê´ dô`ng
nhâ´t hoá (unification mechanism).
Viê.c thô´ng nhâ´t các hă` ng sô´ và các câ´u trúc vào trong mô.t khái niê.m
chung du.o..c go.i là “object” (dô´i tu.o..ng) cu’a Prolog du.a dê´n mô.t u.u diê’m ló.n
là nó cho phép ngu.ò.i lâ.p trı̀nh di.nh nghı̃a kiê’u dũ. liê.u mó.i cu’a mı̀nh, ngoài
nhũ.ng kiê’u dũ. liê.u chuâ’n cu’a ngôn ngũ., rô`i khai báo chúng vó.i chu.o.ng trı̀nh
biên di.ch.
Viê.c dô`ng nhâ´t hoá sẽ bao gô`m
- Truy câ.p vào câ´u trúc dũ. liê.u bă` ng co. chê´ dô´i sánh dô´i tu.o..ng tô’ng quát.
- Kiê’m tra tı́nh bă` ng nhau (trên co. so’. các nguyên tă´c cu’a tı́nh bă` ng nhau).
- Có su.. giô´ng nhau cu’a 2 quá trı̀nh dô`ng nhâ´t hoá và hàm cho các dô´i
tu.o..ng bă` ng nhau.
` viê.c su’. du.ng co. chê´ dô`ng nhâ´t hoá trong Turbo Prolog:
Thı́ du. 4.2.3 Vê
136 Chu.o.ng 4. Ngôn ngũ. PROLOG
domains
ten sach, tac gia=symbol
so trang=integer
xuat ban=sach(ten sach, so trang)
predicates
viet boi (tac gia, xuat ban)
tieu thuyet dai(ten sach)
clauses
viet boi (flemming, sach (“DR NO” , 210))
viet boi (melville, sach (“X30” , 600)).
tieu thuyet dai(Ten sach):-
viet boi( , sach(Ten sach, So trang)),
So trang>300.
Sau dây là mô.t sô´ câu ho’i và tra’ lò.i:
Danh sách là mô.t câ´u trúc dũ. liê.u co. ba’n cu’a Turbo Prolog và nó tu.o.ng
tu.. nhu. là ma’ng (array) cu’a Pascal. Turbo Prolog trı̀nh bày danh sách nhu.
4.2. Ngôn ngũ. PROLOG 137
là mô.t dô´i tu.o..ng phú.c ho..p, và du.o..c viê´t nhu. sau: [X || Y ], trong dó X là
` n dâ
phâ ` u cu’a danh sách, còn Y là phâ ` n duôi cu’a danh sách, dâ´u || là dâ´u
phân cách. Tâ.p rô˜ng du.o..c ký hiê.u là [ ].
4.2.3.1 Các phép toán sô´ ho.c và kiê’u toán tu’.
- round(x) dô´i là sô´ thu..c, kê´t qua’ là sô´ nguyên do x du.o..c làm tròn, không
pha’i là sô´ nguyên ló.n nhâ´t nho’ ho.n hoă.c bă` ng x, dâ´u là dâ´u cu’a x.
<AND>=def and || ,
<OR>=def or || ;
.
O’ dây dâ´u , || , thay cho “hay là”
4.3. Câ´u trúc cu’a chu.o.ng trı̀nh PROLOG 139
` n domains
• Phâ
Dây là phâ` n khai báo kiê’u cu’a các dô´i sô´ trong các tân tù. cu’a chu.o.ng
trı̀nh. Tru.ò.ng ho..p các tân tù. du.o..c viê´t du.ó.i da.ng khai báo kiê’u dô´i
tu.o..ng tru..c tiê´p thı̀ phâ
` n domains không câ ` n khai báo.
` n predicates
• Phâ
Nê´u trong phâ ` n clauses ta có su’. du.ng tân tù. nào thı̀ pha’i khai báo,
trù. các tân tù. chuâ’n có să˜n nhu. write, nl, fail... và trên mô˜i dòng mô.t
tân tù..
` n clauses
• Phâ
Dây là các su.. kiê.n và luâ.t mà máy pha’i tuân theo dê’ thoa’ mãn phâ
`n
goal (dı́ch).
` n goal
• Phâ
Nê´u goal viê´t să˜n trong chu.o.ng trı̀nh thı̀ nó du.o..c go.i là goal nô.i, còn
không thı̀ cha.y ta.i cu’.a sô’ Dialog go.i là goal ngoa.i.
Goal: -
Con tro’ - nhâ´p nháy chò. ngu.ò.i dùng dánh vào goal ngoa.i, và bâ´m
Enter sẽ cho kê´t qua’.
Chú ý: Goal nô.i và goal ngoa. i khác nhau o’. chô˜: goal ngoa.i cho tâ´t ca’ các
lò.i gia’i, còn goal nô.i khi dã da.t du.o..c mô.t lò.i gia’i rô`i thı̀ dù.ng. Vı̀ thê´ khi
140 Chu.o.ng 4. Ngôn ngũ. PROLOG
dùng goal nô.i mà muô´n có mo.i lò.i gia’i, ta dùng thêm tân tù. fail (xem mu.c
sau) o’. cuô´i cùng trong goal nô.i.
Ngoài các phâ ` n trên, còn có thê’ thêm các phâ
` n sau:
` n database (co. so’. dũ. liê.u) du.o..c dă.t tru.ó.c vùng predicates, và
• Phâ
pha’i chı’ rõ nhũ.ng tân tù. nào liên quan dê´n co. so’. dũ. liê.u dê
` u pha’i khai
.
` y du’ o’ vùng này.
báo dâ
` n constants cho tên và giá tri. các hă` ng sô´, du.o..c khai báo tru.ó.c
• Phâ
vùng predicates.
Tru.ó.c khi di.ch chu.o.ng trı̀nh Turbo Prolog thay thê´ mô˜i hă` ng (viê´t
du.ó.i da.ng mô.t chuô˜i chũ. pi, ega...) bă` ng giá tri. cu’a nó.
` n include “filename”
• Phâ
` u khi cha.y, Turbo Prolog du.a thêm vào mô.t tê.p tin có să˜n
- Yêu câ
trong ô’ dı̃a A:, B:, C:,
4.4.1 Tân tù. fail yêu câ ` u Turbo Prolog sau khi tı̀m du.o..c mô.t lò.i gia’i pha’i
` dê’ tı̀m các lò.i gia’i khác.
quay vê
Fail là mô.t tân tù. luôn luôn sai nhă` m gây hiê.u ú.ng backtracking (quay
lui).
ba
dung
2 solutions
Chú ý: nl là viê´t tă´t cu’a new line (xuô´ng dòng).
4.4.2 Nhát că´t (!) ngăn không cho quay vê ` xét la.i các su.. kiê.n dú.ng tru.ó.c
nó. Ta dùng nhát că´t khi muô´n chı’ có mô.t lò.i gia’i trong goal ngoa.i.
predicates
buy car(symbol, symbol)
car(symbol, symbol, interger)
color(symbol)
clauses
buy car(Model, Color):-
car(Model, Color, Price),
color(Color), !,
Price <= 25000.
car(toyota, green, 23000).
car(datsun, blue, 24000).
car(mazda, red, 25000).
color(red).
color(blue).
color(green).
- Nê´u ta bo’ nhát că´t ! và cũng cha.y theo goal ngoa. i
Goal: buy car(X, Y) ←-
thı̀ ta du.o..c kê´t qua’ trên cu’.a sô’ Dialog:
X=toyota Y =green
X=datsun Y =blue
X=mazda Y =red
3 solutions
4.4.3 Tân tù. NOT phu’ di.nh dô´i sô´ dú.ng sau nó.
4.5. Phu.o.ng thú.c xuâ´t nhâ.p dũ. liê.u 143
- p chı’ sô´ các chũ. sô´ thâ.p phân sau dâ´u châ´m.
` n dô´i tu.o..ng.
- readterm(<tên>, TermParam), trong dó <tên> là tên cu’a miê
Khi dó tân tù. readterm có thê’ do.c bâ´t kỳ dô´i tu.o..ng nào du.o..c ghi vào
file nhò. write:
readterm(muc du lieu, p(Ten, Dia chi)).
Dê’ xu’ lý tê.p trong Turbo Prolog, ta hay dùng mô.t sô´ tân tù. chuâ’n sau
.
dây:
- openwrite(SymbolicFileName, DosFileName),
trong dó DosFilename là tên tê.p mó.i ta mo’. dê’ viê´t. Nê´u tên tê.p mó.i
dă.t trùng tên tê.p cũ thı̀ tê.p cũ sẽ bi. viê´t dè lên.
Trong các thı́ du. trên ta su’. du.ng thêm mô.t sô´ tân tù. mó.i:
- readdevice(SymbolicFileName) dùng dê’ xác di.nh la.i thiê´t bi. do.c hiê.n hành
dô´i vó.i tê.p tin SymbolicFileName.
- writedevice(SymbolicFileName) dùng dê’ xác di.nh la.i thiê´t bi. viê´t dô´i vó.i
tê.p tin SymbolicFileName.
- file str(DosFileName, StringVariable) dùng dê’ do.c hoă.c dê’ viê´t mô.t tê.p
tin trên dı̃a do biê´n StringVariable mà ta thu.ò.ng dă.t ngă´n go.n là Str.
- display (String Variable) là tân tù. dùng dê’ hiê.n mô.t xâu lên màn hı̀nh.
148 Chu.o.ng 4. Ngôn ngũ. PROLOG
domains
name,address,gender=string
age=integer
file=myfile
database
person(name,age,address,gender)
predicates
run
repfile(file)
laptep
doctep
thoat
demo
clauses
readint(Ch),
Ch=1,laptep;
Ch=2,doctep;
Ch=0,thoat;
demo.
thoat:-write(”Chao tam biet!!!”),exit,nl.
goal
demo.
constants
bgi path = ” ”
include ”GRAPDECL.PRO”
goal
circle(150,150,100),
ellipse(150,150,0,359,100,50),
pieslice(100,100,0,135,49),
pieslice(100,100,135,225,49),
pieslice(100,100,225,360,49),
readchar ( ),
closegraph.
4.6. Mô.t sô´ thı́ du. minh hoa. vê
` lâ.p trı̀nh PROLOG 151
CYAN = 3
RED = 4
MAGENTA = 5
BROWN = 6
LIGHTGRAY = 7
DARKGRAY = 8 /* light colors */
LIGHTBLUE = 9
LIGHTGREEN = 10
LIGHTCYAN = 11
LIGHTRED = 12
LIGHTMAGENTA = 13
YELLOW = 14
WHITE = 15
SMALL FONT = 2
SANS SERIF FONT = 3
GOTHIC FONT = 4
HORIZ DIR = 0 /* left to right */
VERT DIR = 1 /* bottom to top */
USER CHAR SIZE = 0 /* user-defined char size */
nowarnings
predicates
gthua(integer,real)
4.6. Mô.t sô´ thı́ du. minh hoa. vê
` lâ.p trı̀nh PROLOG 157
tggtdao(integer,real)
gtdao(integer,real)
demo
goal
demo.
clauses
gthua(1,1).
gthua(N,Kq): - N > 1,N 1 = N − 1,
gthua(N1,KqN1), Kq=KqN1*N.
tggtdao(1,1).
tggtdao(N,Kq2):-N > 1,N2=N-1,
gthua(N2,KqN3),
tggtdao(N2,KqN2),
Kq2=KqN2+1/(N*KqN3).
gtdao(1,1).
gtdao(N,Kq):-N > 1,N1=N-1,
gtdao(N1,KqN1),
Kq=KqN1*(1/N).
demo:-write(”Ban TINH GIA TRI cua GT,TGGTdao,GTdao cua N?
”),nl,
write(”Ban cho gia tri cua N ?”),
readint(N),
gthua(N,Kq),
writef(”Ket qua:\n %2.0!= %3.0”,N,Kq),nl,
tggtdao(N,KqTGNGTD),
writef(”\n 1/1!+1/2!+..+1/%1.0! = %10.9”,N,KqTGNGTD),nl,
158 Chu.o.ng 4. Ngôn ngũ. PROLOG
gtdao(N,KqDGT),
writef(”\n Dao giai thua: 1/%1.0! = %10.9”,N,KqDGT),nl.
domains
namelist=name*
name=symbol
clauses
string namelist(S,[H—T]):-
fronttoken(S,H,S1),!,string namelist(S1,T).
string namelist( ,[]).
member(X,[X— ]):-!.
member(X,[ —T]):-member(X,T),!.
run:-
makewindow(1,7,7,”ELIZA”,0,0,25,80),
write(”-HELLO,PLEASE TELL ME YOUR PROBLEM”),nl,
readln(Answ),
4.6. Mô.t sô´ thı́ du. minh hoa. vê
` lâ.p trı̀nh PROLOG 159
string namelist(Answ,List),
uni1( ,List).
run:-
write(” THIS IS OUT MY DOMAIN.”,
”I’M NOT SURE I UNDERSTAND YOU FULLY.”),nl,run1.
run1:-
readln(Answ),
string namelist(Answ,List),
uni1( ,List).
uni1(a,L):-
member(a,L),!,
uni(X),member(X,L).
uni1(X,L):-
uni(X),member(X,L),
ans(X).
uni(depressed).uni(unhappy).uni(help).uni(mother).
ans(”depressed”):-!,
write(”I’M SORRY TO HEAR YOU ARE DE-
PRESSED”),nl,run1.
ans(”unhappy”):-
write(”-DO YOU THINK COMING HERE WILL HELP YOU”,
” NOT TO BE UNHAPPY”),nl,run1.
ans(”help”):-!,
write(”-WHAT WOULD IT MEAN TO YOU IF YOU GOT
”,”HELP?”),nl,run.
ans(”mother”):-!,
write(”-TELL ME MORE ABOUT YOUR FAMILY”),nl,run1.
160 Chu.o.ng 4. Ngôn ngũ. PROLOG
goal
run,exit.
/*openread-write-append-modify*/
domains
file=myfile
predicates
repfile(file)
demo
thoat
opread
opwrite
opappe
opmodi
clauses
repfile( ).
repfile(F):-
not(eof(F)),
repfile(F).
opread:-
write(”Ban doc-tep nao(Tentep.TXT) ?”),
readln(Tentep),
openread(myfile,Tentep),
4.6. Mô.t sô´ thı́ du. minh hoa. vê
` lâ.p trı̀nh PROLOG 161
readdevice(myfile),
repfile(myfile),
readln(L),write(L),nl,
fail.
opwrite:- write(”Ban viet-vao tep nao(Tentep.TXT) ?”),
readln(Tentep),
openwrite(myfile,Tentep),
writedevice(myfile),
write(”\nTroi van con mua”),
write(”\nSao em cu doi.”),
write(”\nNho mai trong con mua nay”),
closefile(myfile),
file str(Tentep,Str),
display(Str),nl.
opappe:-
write(”Ban noi-vao tep nao(Tentep.TXT) ?”),
readln(Tentep),
openappend(myfile,Tentep),
writedevice(myfile),
write(”\nNho mai trong con mua nay!!”),
write(”\nDoi buon co hay”),
closefile(myfile),
file str(Tentep,Str),
display(Str),nl.
opmodi:-
write(”Ban sua-vao tep nao(Tentep.TXT) ?”),
readln(Tentep),
openmodify(myfile,Tentep),
162 Chu.o.ng 4. Ngôn ngũ. PROLOG
readdevice(myfile),
readln( ),
filepos(myfile,FilePos,0),
writedevice(myfile),
filepos(myfile,FilePos,0),
write(”\nNho mai trong dem mua nay!!!”),
write(”\nDoi buon co nhau”),
closefile(myfile),
file str(Tentep,Str),
display(Str),nl.
thoat:-write(”Chao tam biet!”),exit,nl.
demo:-write(”\nBan Mo doc: An 1;\nMo viet: An 2; \nMo noithem
:An 3; \nSua doi : An 4;\n va THOAT: An 0 !”),
readint(Ch),
Ch=1,opread,exit;
Ch=2,opwrite,exit;
Ch=3,opappe,exit;
Ch=4,opmodi,exit;
Ch=0,thoat;
demo.
goal
clearwindow,
demo.
Hãy lâ.p trı̀nh bă` ng Prolog tı́nh dãy Fibonacci không vu.o..t quá N , trong
dó N du.o..c nhâ.p vào tù. bàn phı́m. In dãy Fibonacci dó lên màn hı̀nh.
2. Hãy viê´t mô.t chu.o.ng trı̀nh Prolog sao cho khi hô.i thoa.i ta du.a câu ho’i
vào thı̀ hê. thô´ng Prolog sẽ tra’ lò.i hay biê´n dô’i câu dó theo mô.t cách
di.nh să˜n, chă’ng ha.n dê’ có thê’ ta.o ra cuô.c hô.i thoa.i sau dây:
Ngu.ò.i ho’i: Anh là máy tı́nh?
Máy tı́nh tra’ lò.i: Tôi không pha’i là máy tı́nh.
Ngu.ò.i ho’i: Anh nói du.o..c tiê´ng Dú.c không?
Máy tra’ lò.i: Không, tôi chı’ nói du.o..c tiê´ng Anh.
(Chú ý: Prolog xu’. lý tiê´ng Viê.t không dâ´u).
3. Hãy viê´t mô.t chu.o.ng trı̀nh Prolog in mô.t danh sách các di.a chı’ cá nhân
da.ng sau dây:
Nguyê˜n Văn Hoàng
20 Nguyê˜n Ca’nh Chân
Ba Dı̀nh, Hà Nô.i
Tel. 048512346.
4. Hãy viê´t mô.t chu.o.ng trı̀nh Prolog do.c vào mô.t dãy ký tu.. tuỳ ý tù. bàn
phı́m và cú. gă.p ký tu.. ‘a’ thı̀ lâ.p tú.c dô’i nó thành ký tu.. ‘b’ rô`i in kê´t
qua’ cu’a dãy cuô´i cùng lên màn hı̀nh.
5. Hãy viê´t mô.t chu.o.ng trı̀nh Prolog sinh ngâ˜u nhiên mô.t sô´ tu.. nhiên
trong khoa’ng tù. 1 dê´n 200.
7. Gia’ su’. ta khai báo cho Prolog các quan hê. sau:
bô´ (X, Y ) /*X là bô´ cu’a Y */
me. (X, Y ) /*X là me. cu’a Y */
dàn ông (X) /*X là dàn ông*/
dàn bà (X) /*X là dàn bà*/
bô´ me. (X, Y ) /*X là bô´ hoă.c me. cu’a Y */
khác nhau (X, Y ) /*X khác Y */
Hãy viê´t các luâ.t suy diê˜n theo cú pháp cu’a Prolog dê’ di.nh nghı̃a các
quan hê. sau dây:
là me. (X) /*X là me.*/
là bô´ (X) /*X là bô´*/
là con (X) /*X là con*/
chi. em gái (X, Y ) /*X là chi. em gái cu’a Y */
ông (X, Y ) /*X là ông nô.i/ngoa.i cu’a Y */
con cùng cha (X, Y ) /*X và Y có cùng mô.t bô´*/
cô (X, Y ) /*X là cô cu’a Y */
4.7. Bài tâ.p chu.o.ng 4 165
9. Hãy cha.y vê´t (Trace) cu’a chu.o.ng trı̀nh sau dê’ in kê´t qua’:
domains
ds sô´ nguyên=interger∗
predicates
in ds (ds sô´ nguyên)
in5(ds sô´ nguyên, interger)
goal
in ds ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13])
clauses
in ds (DS): – nl, in5 (DS, 0), nl.
in5 (L, 5): – !, nl, in5 (L, 0).
in5 ([H || T], N): – write(H, “ ”), N1=N+1, in5 (T, N1).
in5 ([ ], ).
Chu.o.ng 5
Logic mò.
Lotfi Zadel dã trı̀nh bày lý thuyê´t logic da tri. là lý thuyê´t du.o..c ông dùng
thuâ.t ngũ. Lý thuyê´t tâ.p mò.. Zadel dã vâ.n du.ng thuâ.t ngũ. Logic mò. và
` n ta’ng cu’a mô.t lı̃nh vu..c mó.i trong khoa ho.c mà nó du.o..c
thiê´t lâ.p nên nê
tiê´p tu.c phát triê’n cho dê´n tâ.n ngày nay. Dâ ` u ngu.ò.i dã phê phán
` u tiên nhiê
lý thuyê´t cu’a Zadel, chı’ trı́ch ră` ng logic mò. không pha’i là cái gı̀ khác mà là
lý thuyê´t xác suâ´t trá hı̀nh. Zadeh dã phát triê’n lý thuyê´t cu’a mı̀nh thành
Lý thuyê´t kha’ năng. Lý thuyê´t này khác biê.t mô.t cách có ý nghı̃a so vó.i lý
thuyê´t xác suâ´t. Dă.c biê.t ta.i Nhâ.t Ba’n, lý thuyê´t logic mò. dã du.o..c hu.o’.ng
ú.ng mô.t cách nhanh chóng dê´n tâ.n mo.i miê ` n ú.ng du.ng, mà o’. dó nó mang
la.i nhũ.ng món lo..i nhuâ.n kê´ch sù. Kosko gia’ thuyê´t ră` ng các nguyên lý cu’a
logic mò. gă´n chă.t nhiê ` u ho.n vó.i khái niê.m logic cu’a ngu.ò.i phu.o.ng Dông so
vó.i logic cu’a Aristote gă´n chă.t vó.i ngu.ò.i phu.o.ng Tây, và vı̀ vâ.y dây chı́nh
là lý do dê’ hiê’u ră` ng ta.i sao ngu.ò.i Nhâ.t tiê´p câ.n nhiê
` u ho.n vê` logic mò..
Nhũ.ng nhân tô´ co. ba’n nhâ´t cu’a logic mò. câ
` n du.o..c hiê’u là các kỹ thuâ.t
` u khiê’n mò.. Ngày nay không chı’ các nu.ó.c phát triê’n mà ca’ các nu.ó.c
diê
dang phát triê’n cũng quan tâm nghiên cú.u và phát triê’n ú.ng du.ng cu’a lı̃nh
vu..c “khoa ho.c mò.” nhu. Trung Quô´c, Singapor, Brazil, Iran... Diê ` u này
chú.ng minh thêm ý nghı̃a thu..c tiê˜n cu’a lı̃nh vu..c “khoa ho.c mò.” .
5.2. Các khái niê.m co. ba’n 169
Tı́nh mò. có thê’ du.a vào trong lý thuyê´t tâ.p ho..p, nê´u hàm dă.c tru.ng cu’a
nó du.o..c mo’. rô.ng trên tâ.p vô ha.n các giá tri. nă` m giũ.a 0 và 1.
Di.nh nghı̃a 5.2.2 Gia’ su’. X là mô.t tâ.p nê ` n. Mô.t tâ.p ho..p A du.o..c go.i là
∼
mô.t tâ.p mò. cu’a tâ.p nê
` n X, nê´u tâ.p dó du.o..c dă.c tru.ng bo’.i hàm thuô.c µA (x)
∼
là ánh xa. cu’a tâ.p nê ` n X vào doa.n [0, 1] (nghı̃a là µA (x) là dô. thuô.c cu’a
∼
phâ` n tu’. x sao cho x ∈ A), tú.c là:
∼
µA : X → [0, 1]
∼
` n X là hũ.u ha.n và rò.i ra.c thı̀ ta ký hiê.u tâ.p mò. A nhu. sau:
- Nê´u tâ.p nê
∼
X µA
∼
(xi )
A=
∼ xi
xi ∈X
` n X là liên tu.c và vô ha.n thı̀ ta ký hiê.u tâ.p mò. A nhu. sau:
- Nê´u tâ.p nê
∼
Z µA (x)
∼
A=
∼ x
170 Chu.o.ng 5. Logic mò.
P R
Chú ý ră` ng hai ký hiê.u và du.o..c dùng trong tâ.p mò. là không liên
quan gı̀ dê´n tô’ng và tı́nh tı́ch phân o’. dây.
Thı́ du. 5.2.1 Cho tâ.p nê ` n X = {1, 2, 3, 4, 5, 6}. Mô.t tâ.p mò. A du.o..c xác
∼
di.nh nhu. sau:
0.3 0.8 0.65 0.72
A(x) = + + +
∼ 1 2 3 5
` n tu’. 1 vào tâ.p mò. A là 0.3, cu’a 2 là 0.8, cu’a 3 là
nghı̃a là dô. thuô.c cu’a phâ
∼
0.65, cu’a 5 là 0.72, còn các phâ ` n tu’. 4 và 6 có dô. thuô.c là 0.
Di.nh nghı̃a 5.2.3 Mô.t biê´n mò. là mô.t biê´n mà giá tri. cu’a nó du.o..c xét
dê´n là các nhãn (label) cu’a tâ.p mò..
Thı́ du. 5.2.2 “Nhiê.t dô.” có thê’ xem là mô.t biê´n mò. mà nó có kha’ năng
nhâ.n các giá tri. ngôn ngũ. nhu. “Thâ´p”, “Trung bı̀nh”, “Bı̀nh thu.ò.ng”, “Cao”,
và “Râ´t cao” .
Nói chung bâ´t kỳ biê´n mò. nào cũng có thê’ du.o..c biê’u diê˜n bă` ng thuâ.t
ngũ. cu’a các câu, và các câu này là tô’ ho..p cu’a các biê´n mò., các diê˜n ta’ ngôn
ngũ. và các tù. nhâ´n (hedges) chă’ng ha.n các giá tri. cu’a biê´n mò. “Nhiê.t dô.”
có thê’ du.o..c mô ta’ nhu. sau:
“Cao”, “Không cao”, “Quá cao”, “Không râ´t - Cao”, “Cu..c cao”, “Toàn
cao”,... trong dó nhãn là “Cao”, phu’ di.nh là không (NOT), và tù. nhâ´n là
“cu..c”, “quá”, “toàn”, ...
Hı̀nh 2. Biê´n ngôn ngũ. “Nhiê.t dô.” và mô.t sô´ giá tri. cu’a nó
Su.. phu. thuô.c cu’a mô.t biê´n ngôn ngũ. vào mô.t biê´n khác du.o..c diê˜n ta’
thông qua mô.t câu lê.nh mò. có diê
` u kiê.n du.ó.i da.ng sau dây:
R: IF S1 THEN S2
hoă.c bă` ng ký hiê.u:
Thı́ du. 5.2.3 Ta nói “Hoàng có tuô’i trung niên”. Ta cho.n x là biê´n ngôn
ngũ. “Tuô’i”, tâ.p nê
` n là thò.i gian sô´ng: X = [0, 130] (tuô’i). A là tâ.p mò.
∼
“Trung niên” tu.o.ng ú.ng vó.i hàm thuô.c µA : X → [0, 1].
∼
Khi dó có su.. kiê.n “có thê’ tuô’i cu’a Hoàng là 40” dı̃ nhiên không chă´c
chă´n và khá ho..p lý, nê´u diê˜n da.t theo lý thuyê´t kha’ năng cu’a Zadeh là:
Kha’ năng (Tuô’i cu’a Hoàng là 40)=Poss (x = 40) cho biê´t du.o..c dô. thuô.c
cu’a sô´ tuô’i 40 vào tâ.p mò. A = A(40).
∼ ∼
` mò. “Hoàng có tuô’i trung niên” du.o..c diê˜n da.t thành mê.nh dê
Mê.nh dê `:
P ={ biê´n x nhâ.n giá tri. mò. cu’a A trên nê
` n X}={x là A }
∼ ∼
Tu.o.ng tu.., biê´n ngôn ngũ. y=“tô´c dô. xe” trên tâ.p nê` n Y = [0, 150]
(km/giò.), và tâ.p mò. B là “xe di nhanh” tu.o.ng ú.ng vó.i hàm thuô.c
∼
µB : Y → [0, 1].
∼
172 Chu.o.ng 5. Logic mò.
`:
Khi dó ta ký hiê.u mê.nh dê
S1 = “góc tay quay ló.n” = {x là A}
∼
S2 = “xe di nhanh” = {y là B }
∼
` u kiê.n mò. có da.ng S1 → S2 du.o..c diê˜n da.t nhu. sau:
` diê
thı̀ mê.nh dê
IF “góc tay quay ló.n” THEN “xe di nhanh”.
• Phu’ di.nh NOT và các liên kê´t AND và OR.
• Các diê’m ghi chú (markers), chă’ng ha.n nhu. dóng mo’. ngoă.c ().
` biê´n ngôn ngũ.
5.3. Mô.t sô´ chú ý vê 173
Các hàm so. câ´p có thê’ hoă.c là hàm thuô.c liên tu.c, hoă.c là hàm thuô.c rò.i
ra.c. Các hàm thuô.c liên tu.c thông thu.ò.ng du.o..c xác di.nh bo’.i các hàm gia’i
tı́ch. Công ty Dan Ma.ch cu’a F. L. Smitdth trong khi thiê´t kê´ bô. diê ` u khiê’n
cho công nghiê.p sa’n suâ´t xi-măng dã su’. du.ng hàm thuô.c phân bô´ Gauss có
da.ng sau dây:
α !β
µA (x) = 1 − e |γ − x| (dô` thi. o’. hı̀nh 3)
∼
Bă` ng cách xác di.nh luân phiên hai hàm thuô.c dă.c chu’ng, ký hiê.u là S và
Π, du.o..c chı’ ra sau dây:
174 Chu.o.ng 5. Logic mò.
Hàm thú. nhâ´t S là mô.t hàm do.n diê.u và du.o..c xác di.nh nhu. sau (H5.)
0 vó.i x ≤ α
2
x−y
vó.i α ≤ x ≤ β
γ − α 2
S(x, α, β, γ) =
x−γ
1−2 vó.i β ≤ x ≤ α
γ − α
1 vó.i x ≥ γ
Hàm thú. hai Π là hàm dă.c chu’ng, hàm này thay dô’i tı́nh do.n diê.u ta.i
duy nhâ´t mô.t diê’m và du.o..c xác di.nh du..a vào hàm thuô.c S, trong dó tham
sô´ β biê’u diê˜n dô. rô.ng cu’a hàm giũ.a các diê’m trung bı̀nh sao cho hàm thuô.c
có mô.t giá tri. 0,5. Hàm này du.o..c xác di.nh nhu. sau (hı̀nh 6.)
S(x, γ − β, γ − β , γ) vó.i x ≤ γ
Π(x, α, β, γ) = 2
β
1 − S(x, γ, γ + , β + γ) vó.i x > γ
2
Các tâ.p mò. liên tu.c cũng có thê’ xây du..ng tù. các hàm tam giác hoă.c hı̀nh
thang. Ba thı́ du. cu’a các hàm hı̀nh thang sau dây (H7.) biê’u diê˜n các tâ.p
so. câ´p (Small, Medium và Large), và các tâ.p mò. tu.o.ng ú.ng du.o..c xác di.nh
có su’. du.ng 4 tham biê´n: hai diê’m trong b và c, hai diê’m mép trái - pha’i a
và d.
Các tâ.p mò. tu.o.ng ú.ng vó.i các biê´n ngôn ngũ. (small, medium và large)
là
` n X = {0, 1, 2, 3, 4, 5, 6} (tâ.p rò.i ra.c) và du.o..c biê’u diê˜n bo’.i dô`
trên tâ.p nê
thi. sau dây (hı̀nh 8):
176 Chu.o.ng 5. Logic mò.
Chú ý: Ta có thê’ kiê’m tra mô.t sô´ hàm thuô.c trong MATLAB/Fuzzy Tool-
box.
A = φ, nê´u µA (x) = 0 ∀x ∈ X.
∼ ∼
` n bù A cu’a mô.t tâ.p mò. A du.o..c xác di.nh do.n gia’n:
2. Phâ
∼ ∼
µA (x) = 1 − µA (x) ∀x ∈ X.
∼ ∼
3. Hai tâ.p mò. A và B du.o..c go.i là bă` ng nhau, ký hiê.u A = B nê´u
∼ ∼ ∼ ∼
µA (x) = µB (x) ∀x ∈ X
∼ ∼
4. Tâ.p mò. B du.o..c go.i là bao tâ.p mò. A, ký hiê.u A ⊂ B , nê´u µA (x) ≤
∼ ∼ ∼ ∼ ∼
µB (x) ∀x ∈ X.
∼
Chú ý:
1. A ⊆ X ⇒ µA (x) ≤ µX (x)
∼ ∼
5.5. Các tı́nh châ´t trên tâ.p mò. 177
2. ∀ ∈ X : µX (x) = 1
3. Luâ.t De Morgan:
• A∩B = A∪B
∼ ∼ ∼ ∼
• A∪B = A∩B
∼ ∼ ∼ ∼
4. A ∪ A 6= X
∼ ∼
A ∩ A 6= ∅
∼ ∼
5. Hiê.u cua’ hai tâ.p mò. A và B , ký hiê.u A|B , du.o..c xác di.nh là:
∼ ∼ ∼ ∼
A|B = A ∩ B
∼ ∼ ∼ ∼
A∪B = B ∪A
∼ ∼ ∼ ∼
A∩B = B ∩A
∼ ∼ ∼ ∼
2. Kê´t ho..p
A ∪ (B ∪ C = (A ∪ B ) ∪ C
∼ ∼ ∼ ∼ ∼ ∼
A ∩ (B ∩ C = (A ∩ B ) ∩ C
∼ ∼ ∼ ∼ ∼ ∼
A ∩ (B ∪ C ) = (A ∩ B ) ∪ (A ∩ C )
∼ ∼ ∼ ∼ ∼ ∼ ∼
4. Lũy dă’ng:
A∪A=A
∼ ∼ ∼
A∩A=A
∼ ∼ ∼
5. Dô`ng nhâ´t:
A ∪ ∅ = A và A ∩ X = A
∼ ∼ ∼ ∼
A ∩ ∅ = ∅ và A ∪ X = X
∼ ∼
6. Bă´c câ
` u: Nê´u A ⊆ B ⊆ C thı̀ A ⊆ C
∼ ∼ ∼ ∼ ∼
A × B = R ⊂ X × Y vó.i
∼ ∼ ∼
0.2 0.5 1
Thı́ du. 5.6.1 Gia’ su’. cho tâ.p mò. A = + + `n X =
trên tâ.p nê
∼ x1 x2 x3
0.3 0.9
{x1 , x2, x3 }, và tâ.p mò. B = + ` n Y = {y1, y2 }.
trên tâ.p nê
∼ y1 y2
Hãy tı̀m quan hê. mò. R = A × B trên tâ.p nê `n X × Y ?
∼ ∼ ∼
Gia’i: Dê’ dê˜ dàng tı́nh toán, ta viê´t tâ.p mò. A du.ó.i da.ng ma trâ.n cô.t nhu.
∼
x1 0.2
y1 y2
sau: A= x2 0.5 và tâ.p mò. B du.ó.i da.ng ma trâ.n dòng: B =
∼ ∼ ∼ 0.3 0.9
x3 1
Khi dó quan hê. mò. R là ma trâ.n cõ. 3 × 2 sau dây du.o..c tı́nh tu.o.ng tu..
∼
nhu. nhân hai ma trâ.n:
180 Chu.o.ng 5. Logic mò.
y1 y2
x1 0.2 0.2
R = A × B=
∼ ∼ ∼ x2 0.3 0.5
x3 0.3 0.9
R ∪ R 6= E
∼ ∼
R ∩ R 6= 0
∼ ∼
1 ··· 1 0 ··· 0
. . ` y du’) và 0 = . . .
trong dó E = .. . . . .. (quan hê. dâ .. . . .. (quan hê.
1 ··· 1 0 ··· 0
null).
Vâ´n dê` ha.n chê´ cu’a logic mê.nh dê ` cô’ diê’n là o’. chô˜ “Logic hai giá tri.”,
và dã ta.o nên nhiê ` u nghi.ch lý thú vi. qua nhiê ` u thò.i da.i, chă’ng ha.n ngu.ò.i
tho.. ca.o cu’a xú. Seville là mô.t nghi.ch lý, và nó thu.ò.ng du.o..c go.i là “Russell’
s barber”: o’. mô.t thành phô´ nho’ cu’a Tây Ban Nha thuô.c xú. Seville có tô`n
ta.i tù. lâu dò.i mô.t luâ.t nhu. sau: “Tâ´t ca’ và chı’ có nhũ.ng ngu.ò.i dàn ông,
ho. không tu.. ca.o râu thı̀ du.o..c ca.o râu bo’.i ông tho.. ca.o. Ho’i ră ` ng ai ca.o râu
.
ông tho. ca.o”.
Nghi.ch lý này du.o..c chı’ ra nhò. khái niê.m tâ.p ho..p: gia’ su’. S là mô.t mê.nh
` thê’ hiê.n ngu.ò.i tho.. ca.o tu.. ca.o râu, và S là mê.nh dê
dê ` thê’ hiê.n ngu.ò.i tho..
ca.o không làm. Khi dó vı̀ S → S và S → S là hai mê.nh dê ` logic tu.o.ng
du.o.ng: S ↔ S. Do dó hai mê.nh dê ` nhâ.n cùng giá tri. chân lý, nghı̃a là:
1
T (S) = T (S) = 1 − T (S), suy ra T (S) =
2
.
O’ dây ta ký hiê.u T (S) là giá tri. chân lý cu’a mê.nh dê ` S. Vâ.y ta nhı̀n thâ´y
.
nghi.ch lý dâ˜n dê´n giá tri. mô.t nu’ a mô.t cách hoàn toàn Toán ho.c. Trong logic
mê.nh dê` cô’ diê’n nhũ.ng diê
` u nhu. vâ.y là không cho phép, mà chı’ có giá tri.
T (S) = 1 hoă.c T (S) = 0.
Mô.t mê.nh dê ` logic mò. P là mô.t câu chı’ ra mô.t khái niê.m nào dó không
∼
rõ ràng du.o..c xác di.nh nhiê ` u gió.i ha.n. Giá tri. chân lý cu’a P có thê’ là mô.t
∼
giá tri. nào dó trong doa.n [0, 1], tú.c là:
T : x ∈ X → [0, 1].
Các mê.nh dê` mò. du.o..c gán cho tâ.p mò.. Gia’ su’. mê.nh dê ` P du.o..c gán cho
∼
tâ.p mò. A. Khi dó giá tri. chân lý cu’a mê.nh dê ` du.o..c ký hiê.u T (P ) và du.o..c
∼ ∼
tı́nh: T (P ) = µA (x)(∗), trong dó 0 ≤ µA (x) ≤ 1.
∼ ∼ ∼
Dă’ng thú.c (*) chı’ ra ră` ng bâ.c chân lý cu’a mê.nh dê
` P : x là A là tu.o.ng
∼ ∼
du.o.ng vó.i dô. thuô.c cu’a x trong tâ.p mò. A.
∼
Các phép kê´t nô´i thông thu.ò.ng bao gô`m phu’ di.nh (NOT), hô.i (AND),
tuyê’n (OR), và kéo theo (→, Implication).
Phu’ di.nh (Negation) là mô.t trong nhũ.ng phép toán logic co. ba’n:
T (P ) = 1 − T (P )
∼ ∼
Mô.t sô´ tı́nh châ´t quen thuô.c vâ˜n thu.ò.ng du.o..c dùng trong logic:
a) T (P ) chı’ phu. thuô.c vào T (P ).
∼ ∼
b) Nê´u T (P ) = 1 thı̀ T (P ) = 0.
∼ ∼
c) Nê´u T (P ) = 0 thı̀ T (P ) = 1.
∼ ∼
Phép hô.i là mô.t trong nhũ.ng phép toán logic co. ba’n nhâ´t và là co. so’.
di.nh nghı̃a phép giao cu’a hai tâ.p mò.. Ta xác di.nh phép hô.i nhu. sau:
P ∧ Q : x is A and B
∼ ∼ ∼ ∼
T (P ∧ Q) = Min(T (P ), T (Q)).
∼ ∼ ∼ ∼
b) Nê´u T (P1 ) = 1 thı̀ T (P1 and P2 ) =T (P2) vó.i mo.i mê.nh dê
` P2 .
∼ ∼ ∼ ∼ ∼
d) Nê´u T (P1) ≤ T (P2) thı̀ T (P1 and P3 )≤T (P2 and P3 ) vó.i mo.i mê.nh dê
`
∼ ∼ ∼ ∼ ∼ ∼
P3 .
∼
Phép tuyê’n là mô.t trong nhũ.ng phép toán co. ba’n và du.o..c xác di.nh nhu.
sau:
P ∨ Q : x is A or B
∼ ∼ ∼ ∼
T (P ∨ Q) = Max(T (P ), T (Q))
∼ ∼ ∼ ∼
d) Nê´u T (P1 ) ≤ T (P2 ) thı̀ T (P1 or P3 ) ≤ T (P2 or P3 ) vó.i mo.i mê.nh dê
` P3
∼ ∼ ∼ ∼ ∼ ∼ ∼
Phép kéo theo là mô.t da.ng luâ.t (rule) du.o..c xác di.nh nhu. sau:
P → Q : IF x is A THEN x is B
∼ ∼ ∼ ∼
T (P → Q) = T (P ∨ Q) = Max(T (P ), T (Q))
∼ ∼ ∼ ∼ ∼ ∼
Nhu. trong logic 2 giá tri., phép kéo theo có thê’ du.o..c mô hı̀nh hoá thành
da.ng luâ.t nhu. sau:
P → Q: IF x is A THEN y is B
∼ ∼ ∼ ∼
tu.o.ng du.o.ng vó.i quan hê. mò. R = (A × B ) ∪ (A × Y )
∼ ∼ ∼ ∼
ú.ng vó.i hàm thuô.c µR (x, y) = max[(µA (x) ∧ µB (y)), (1 − µA (x))]
∼ ∼ ∼ ∼
184 Chu.o.ng 5. Logic mò.
Thı́ du. 5.7.1 Dê’ dánh giá mô.t phát minh mó.i nhă` m xác di.nh kha’ năng
thu.o.ng ma.i cu’a nó, ngu.ò.i ta dùng dô. do là “The uniqueness” (tı́nh duy
nhâ´t) thông qua tâ.p nê
` n X = {1, 2, 3, 4} và “The market size” (pha.m vi
. . ` n Y = {1, 2, 3, 4, 5, 6}. Trong ca’ hai tâ.p nê
thu o ng ma.i) thông qua tâ.p nê `n
nhũ.ng con sô´ hy vo.ng nhâ´t là “the hightest uniqueness” (tı́nh duy nhâ´t cao)
và “the largest market” (thi. tru.ò.ng rô.ng nhâ´t). Ngu.ò.i ta go.i A là tâ.p mò.
∼
“medium uniqueness” (tı́nh duy nhâ´t trung bı̀nh) và B là tâ.p mò. “medium
∼
market” (thi. tru.ò.ng trung bı̀nh).
Trong thı́ du. này, ngu.ò.i ta muô´n xác di.nh phép kéo theo IF A THEN B
∼ ∼
xa’y ra nhu. thê´ nào.
Gia’ su’. tâ.p mò. A là:
∼
0.6 1 0.2
A = medium uniqueness = + + ,
∼ 2 3 4
và tâ.p mò. B là:
∼
0.4 1 0.8 0.3
B = medium market size = + + +
∼ 2 3 4 5
Khi dó các ma trâ.n sau dây cho phép ta xác di.nh hàm thuô.c cu’a phép
kéo theo µR (x, y) nhu. sau:
∼
x\y 1 2 3 4 5 6
1 0 0 0 0 0 0
A×B = 2 0 0.4 0.6 0.6 0.3 0
∼ ∼
3 0 0.4 1 0.8 0.3 0
4 0 0.2 0.2 0.2 0.2 0
x\y 1 2 3 4 5 6
1 1 1 1 1 1 1
A×Y = 2 0.4 0.4 0.4 0.4 0.4 0.4
3 0 0 0 0 0 0
4 0.8 0.8 0.8 0.8 0.8 0.8
.
và cuô´i cùng theo công thú c:
5.8. Su.. dô`ng nhâ´t dúng mò. (Fuzzy Tautologies) 185
x\y 1 2 3 4 5 6
1 1 1 1 1 1 1
R = max(A × B , A × Y ) = 2 0.4 0.4 0.6 0.6 0.4 0.4
∼ ∼ ∼ ∼
3 0 0.4 1 0.8 0.3 0
4 0.8 0.8 0.8 0.8 0.8 0.8
Ba’ng B. Ba’ng chân lý (approximate Modus Ponens - có thay dô’i giá tri. chân
lý mô.t ı́t)
A B A→B (A ∧ (A → B)) (A ∧ (A → B)) → B
0.4 0.1 0.6 0.4 0.6 Quasi-
0.4 0.9 0.9 0.4 0.9 Tautology
0.6 0.1 0.4 0.4 0.6
0.6 0.9 0.9 0.6 0.9
Dê’ làm gia’m bó.t su.. phu. thuô.c vào các phép tı́nh Min và Max, dô`ng thò.i
` m de’o và linh hoa.t trong viê.c gia’i các bài toán thu..c tê´,
dê’ làm tăng tı́nh mê
ngu.ò.i ta mo’. rô.ng hai phép tı́nh Min, Max thành hai ló.p hàm t − norm và
t − conorm.
Di.nh nghı̃a 5.9.1 Mô.t hàm T : [0, 1]2 → [0, 1] du.o..c go.i là t-norm (hay là
t-chuâ’n), nê´u nó thoa’ mãn các diê
` u kiê.n sau dây:
a) T (1, x) = x ∀x ∈ [0, 1]
Di.nh nghı̃a 5.9.2 Mô.t hàm S : [0, 1]2 → [0, 1] du.o..c go.i là t-conorm (hay
là t-dô´i chuâ’n), nê´u nó thoa’ mãn các diê
` u kiê.n sau dây:
a) S(0, x) = x ∀x ∈ [0, 1]
Thı́ du. 5.9.2 (So sánh tı́nh dô´i chuâ’n cu’a S vó.i T trong 3 thı́ du. trên)
5.10. Phép ho..p thành (Composition) 187
T (x, y) S(x, y)
min(x, y) max(x, y)
xy x + y − xy
min0(x, y) = max1 (x, y) =
min(x, y), nê´u x + y > 1 max(x, y), nê´u x + y < 1
0, nê´u x + y ≤ 1 1, nê´u x + y ≥ 1
µR1 ◦R2 (x, z) = Max{min(µR1 (x, y), µR2 (y, z))} ∀(x, z) ∈ X × Z.
y
c) Ho..p thành Max-? du.o..c xác di.nh bo’.i toán tu’. ?: [0, 1]2 → [0, 1]
Cho mô.t hê. mò. biê’u diê˜n du.ó.i mô.t quan hê. R mò. hai ngôi trên tâ.p nê
`n
∼
X × Y . Dâ ` u vào (input) là mô.t tâ.p mò. A trên tâ.p nê ` n X. Tác dô.ng cu’a
∼
` u vào A lên hê. R sẽ là phép ho..p thành A ◦ R, và cho dâ
dâ ` u ra (output) mô.t
∼ ∼ ∼ ∼
tâ.p mò. B trên tâ.p nê
` n Y . Khi dó ta có phu.o.ng trı̀nh:
∼
A ◦ R = B.
∼ ∼ ∼
0.2 0.8 1
A= + + = (0.2 0.8 1) (vecto. dòng)
∼ x1 x2 x3
0.7 1 0.4
R = 0.5 0.9 0.6
∼
0.2 0.6 0.3
Ta su’. du.ng phép ho..p thành Max-Min cho hàm thuô.c cu’a B du.o..c xác di.nh
∼
theo da.ng sau:
Bây giò., nê´u ta su’. du.ng phép ho..p thành Max-* cho hàm thuô.c cu’a B
∼
du.o..c viê´t du.ó.i da.ng sau:
5.12. Lâ.p luâ.n mò. (Fuzzy Reasoning) 189
R : IF A THEN B = A → B ≡ A × B ,
∼ ∼ ∼ ∼ ∼ ∼
trong dó A × B là tı́ch Des Carte cu’a hai tâ.p mò..
∼ ∼
Nê´u ta su’. du.ng toán tu’. hô.i là min thı̀ tı́ch Des Carte du.o..c xác di.nh là:
Z
A×B = µA (x)) ∧ µB (y)/(x, y) (5.1)
∼ ∼ ∼ ∼
X×Y
Z
= min(µA (x), µB (y))/(x, y) (5.2)
∼ ∼
X×Y
Còn trong tru.ò.ng ho..p nê´u ta su’. du.ng toán tu’. hô.i là tı́ch da.i sô´ thı̀ tı́ch
Des Carte du.o..c xác di.nh là:
Z
A×B = (µA (x) ∗ µB (y))/(x, y)
∼ ∼ ∼ ∼
X×Y
190 Chu.o.ng 5. Logic mò.
1 0.7 0.2
Thı́ du. 5.12.1 Cho hai tâ.p mò. A = + + ` n X = {1, 2, 3}
trên tâ.p nê
∼ 1 2 3
0.8 0.6 0.4 0.2
và tâ.p B = + + + ` n Y = {1, 2, 3, 4}. Khi dó ta
trên tâ.p nê
∼ 1 2 3 4
có:
x\y 1 2 3 4
1 0.8 0.6 0.4 0.2
Rhô.i = A × B = 2 0.7 0.6 0.4 0.2
∼ ∼ ∼
3 0.2 0.2 0.2 0.2
Quan sát hai kê´t qua’ mò. cu’a hai quan hê. Rhô.i và R∗ ta thâ´y ră` ng khi su’.
∼ ∼
du.ng toán tu’. hô.i là min cho tı́ch Des Carte thı̀ do.n gia’n ho.n nhiê ` u và tı́nh
hiê.u qua’ cao cho viê.c cài dă.t tı́nh toán.
Vı̀ vâ.y nói chung ngu.ò.i ta thı́ch su’. du.ng toán tu’. này trong mô to. suy
` u khiê’n mò..
diê˜n diê
Hàm thuô.c dă.c ta’ cho phép kéo theo mò. du.o..c chı’ ra nhò. các hàm thuô.c
µA (x) và µB (y) cu’a hai tâ.p mò. A và B theo nhiê ` u cách khác nhau và du.o..c
∼ ∼ ∼ ∼
mô ta’ nhu. sau:
Gia’ su’. ră` ng
trong dó ψ là toán tu’. kéo theo nào dó và R = {µR (x, y)/(x, y)}.
∼ ∼
5.12. Lâ.p luâ.n mò. (Fuzzy Reasoning) 191
Mô.t cách tô’ng quát, nê´u A1 , A2 , . . . , AN là các tâ.p mò. trên X và
∼ ∼ ∼
B 1 , B 2 , . . . , B N là các tâ.p mò. trên Y thı̀ khi dó thuâ.t toán mò. du.o..c xác
∼ ∼ ∼
di.nh nhu. là tâ.p cu’a các luâ.t
RN : IF A1 THEN B 1
∼ ∼
OR
IF A2 THEN B 2
∼ ∼
OR
................
IF AN THEN B N
∼ ∼
Da.ng luâ.t này hay du.o..c su’. du.ng trong diê ` u khiê’n mò. và nó gâ
` n gũi vó.i
tu. duy và thao tác cu’a con ngu.ò.i.
Phép liên kê´t OR, viê´t tă´t là ϕ, phu. thuô.c vào ψ - toán tu’. mò. cu’a phép
kéo theo. Do dó hàm thuô.c N luâ.t trong thuâ.t toán mò. xác di.nh bo’.i công
thú.c sau:
Ngoài ra, ngu.ò.i ta còn mo’. rô.ng da.ng câu lê.nh (luâ.t): “IF ... THEN ...
ELSE” dê’ thu..c hiê.n cho nhiê
` u biê´n và có thê’ biê’u diê˜n du.ó.i da.ng dãy bao
nhau:
IF A1 THEN (IF A2 THEN ... (IF AN THEN B )) hoă.c viê´t nhò. liên kê´t
∼ ∼ ∼ ∼
AND nhu. sau:
IF (A1 AND A2 AND ... AND AN ) THEN B , trong dó
∼ ∼ ∼ ∼
n
µR (x1, x2, ..., xN , y) =ϕ µA1 (x1), ϕ(µA2 (x2)), ...,
∼ ∼ ∼
o
ϕ(ϕ(µAN (xN ), ϕ(µB (y))))
∼ ∼
µR (x1, x2, ..., xN , y) =ϕ{µA1 (x1 ) ∧ µA2 (x2)... ∧ (µAN (xN ), µB (y))}
∼ ∼ ∼ ∼ ∼
1. Luâ.t Modus Ponens tô’ng quát, viê´t tă´t GMP nhu. sau:
GMP: Su.. kiê.n 1: x là A0
∼
.
Su. kiê.n 2: IF x là A THEN y là B
∼ ∼
2. Luâ.t Modus Tollens tô’ng quát, viê´t tă´t là GMT nhu. sau:
GMT: Su.. kiê.n 1: y là B 0
∼
.
Su. kiê.n 2: IF x là A THEN y là B
∼ ∼
GMT liên quan tru..c tiê´p dê´n mô to. suy diê˜n dâ˜n vê ` dı́ch ngu.o..c lên
(backward) và du.o..c áp du.ng trong hê. chuyên gia, trong khi dó GMP la.i liên
quan dê´n mô to. suy diê˜n dâ˜n dũ. liê.u theo chiê
` u xuôi (forward).
. . .
Tru ò ng ho. p dă.c biê.t:
Nê´u A0 = A và B 0 = B thı̀ GMT là Modus Tollens thông thu.ò.ng.
∼ ∼ ∼ ∼
- Tru.ò.ng ho..p cho N luâ.t có su’. du.ng liên kê´t AND:
- Tru.ò.ng ho..p cho N luâ.t có su’. du.ng liên kê´t AND:
5.12.3.3 Phép kéo theo Zadeh Zadeh su’. du.ng hai phép toán Max-Min:
RZadeh = (A × B ) ∪ (A × X ) tu.o.ng ú.ng vó.i hàm thuô.c
∼ ∼ ∼
µR (x, y) = (µA (x) ∧ µB (y)) ∨ (1 − µA (x)).
∼ ∼ ∼ ∼
Luâ.t mò. kéo theo cu’a Zadeh là khó áp du.ng trong thu..c tê´ và nó kéo dài
` u năm cho dê´n khi Mamdani dê
nhiê ` xuâ´t da.ng do.n gia’n ho.n và thu.ò.ng hay
du.o..c su’. du.ng trong diê
` u khiê’n mò..
– Tru.ò.ng ho..p cho N luâ.t có su’. du.ng liên kê´t OR:
– Tru.ò.ng ho..p cho N luâ.t có su’. du.ng liên kê´t OR:
Hai phép kéo theo cu’a Mamdani và Larsen du.o..c áp du.ng nhiê ` u trong
` u khiê’n mò., dă.c biê.t trong tâ´t ca’ các bô. diê
chê´ ta.o các bô. diê ` u khiê’n mò.
công nghiê.p có su’. du.ng mô.t trong các phép kéo theo mò. nói trên và nói
riêng kéo theo cu’a Mamdani su’. du.ng tı́nh toán nhanh ho.n và râ´t thu.ò.ng
xuyên.
và trong khi dó Larsen su’. du.ng toán tu’. Max-product:
. .
. ng : Gia’ su’ cho hai tâ.p mò :
Áp du
A = {µA (x)/x} vó.i x ∈ X và
∼ ∼
B = {µB (y)/y} vó.i y ∈ Y , trong dó luâ.t suy diê˜n ho..p thành:
∼ ∼
B 0 = A0 ◦ R
∼ ∼ ∼
Thı́ du. 5.13.1 Mô.t cách cu. thê’ ho.n ta xét luâ.t: “IF A is Slow THEN B is
∼ ∼
Fast”
trong dó :
x\y 1 2 3 4 5 6
1 0 0 0.3 0.7 1 1
2 0 0 0.3 0.7 0.7 0.7
3 0 0 0.3 0.3 0.3 0.3
R = A × B = {min[µA (x), µB (y)]} =
∼ ∼ ∼ ∼ ∼ 4 0 0 0 0 0 0
5 0 0 0 0 0 0
6 0 0 0 0 0 0
Nê´u su.. kiê.n A du.o..c thay dô’i thành A0 tu.o.ng ú.ng vó.i hàm thuô.c, chă’ng
∼ ∼
ha.n:
µA0 = {0.3 + 0.7 + 1 + 0.7 + 0.3 + 0}
∼
tú.c là:
0 0 0.3 0.7 0.7 0.7
µB0 (y) = + + + + +
∼ 1 2 3 4 5 6
Nê´u ta dùng luâ.t ho..p thành Max-product, ta du.o..c:
tú.c là
0 0 0.15 0.35 0.49 0.49
µB 0 (y) = + + + + +
∼ 1 2 3 4 5 6
` u khiê’n vó i m dâ
Mô.t cách tô’ng quát, nê´u ta diê . ` u vào và mô.t dâ
` u ra, ta có:
N .
R = {µRN (x1, x2 , ..., xm, y)/(x1, x2 , ..., xm, y) vó i xk ∈ Xk và y ∈ Y .
∼ ∼
Bây giò. ta có:
trong dó
µB0 (y) = ∨ ∨ .... ∨ [∧k (µA0 ∧ µRN (x1, x2 , ..., xm))] vó.i k = 1, 2, ..., m
∼ x1 x2 xm ∼k ∼
.
5.14 Ú ng du.ng
Mô.t thu..c tê´ chú.ng minh su.. phát triê’n vu.o..t bâ.c cu’a lý thuyê´t tâ.p mò. và
công nghê. mò. o’. Nhâ.t Ba’n pha’i nhă´c dê´n du.. án LIFE tù. năm 1989 dê´n 1995
do GS. T. Terano làm giám dô´c diê ` u hành và o’. dây ho. dã chuyê’n dâ ` n các
kê´t qua’ trong phòng thı́ nghiê.m sang thành sa’n phâ’m hàng hoá du.a ra thi.
tru.ò.ng mô˜i năm mô.t tăng cao. Các ú.ng du.ng bao gô`m nhu.:
` u khiê’n mò., chă’ng ha.n máy giă.t Fuzzy, máy tı́nh hiê’u du.o..c ngôn
• Diê
ngũ. tu.. nhiên nhu. “cao”, “nóng”, “â´m”, “yê´u”, ...
• Dùng logic mò. dê’ biê’u diê˜n tri thú.c nhu. các hê. chuyên gia mò. trong
các lı̃nh vu..c y ho.c, nông nghiê.p, qua’n lý, xã hô.i ho.c, môi tru.ò.ng...
• Giao tiê´p giũ.a ngu.ò.i và máy thông qua ngôn ngũ. tu.. nhiên nhu. Robot
thông minh Asimo, các hê. hô˜ tro.. quyê´t di.nh.
• Trı́ tuê. nhân ta.o tı́ch ho..p: giao lu.u và tı́ch ho..p giũ.a trı́ tuê. nhân ta.o,
logic mò., ma.ng no.ron và con ngu.ò.i, v.v...
5.15. Bài tâ.p chu.o.ng 5 199
Trong sô´ nhũ.ng ú.ng du.ng thu..c su.. thành công pha’i nhă´c dê´n bô. FLC
dùng trong qua’n lý sân bay, các hê. thô´ng diê` u khiê’n du.ò.ng să´t và các hê.
thô´ng câ` n câ’u container. Ngoài ra, mô.t ú.ng du.ng khác cu’a diê
` u khiê’n mò.
` u khiê’n “The camera tracking” cu’a NASA.
là hê. diê
Mă.t khác gia’ su’. ta có tâ.p mò. cu’a nhiê.t dô. “trên 55◦ F” vó.i hàm thuô.c
là:
0.5 1 0.7
I ={ + + }.
∼T 50 55 50
2. Trong ma.ng máy tı́nh có tô`n ta.i mô´i quan hê. giũ.a mú.c su’. du.ng ma.ng
băng thông rô.ng và tô´c dô. du.ò.ng chuyê
` n peer- to - peer. Gia’ su’. X
∼
là tâ.p mò. cu’a mú.c su’. du.ng băng thông rô.ng và Y là tâ.p mò. tô´c dô.
∼
truyê` n (in milliseconds) vó.i hàm thuô.c:
200 Chu.o.ng 5. Logic mò.
1 0.9 0.1
A1 = + + ;
∼ x1 x2 x3
0.9 1 0.2
A2 = + + ;
∼ x1 x2 x3
1 0.2
B1 = + ;
∼ y1 y2
0.2 0.9
B2 = + ;
∼ y1 y2
4. Các qui luâ.t suy diê˜n sau dây giũ. mô.t vai trò quan tro.ng trong lâ.p
` n thô´ng. Dó là các luâ.t:
luâ.n truyê
a) Modus Ponens: P ∧ (P → Q) → Q
b) Modus Tollens: (P → Q) ∧ Q → P
5. Hãy cho mô.t thı́ du. vê` cuô.c sô´ng dò.i thu.ò.ng cu’a mô˜i mô.t kiê’u mê.nh
` mò. và biê’u diê˜n mê.nh dê
dê ` theo da.ng chuâ’n tă´c.
` trong thı́ du. cu’a bài tâ.p 5 bă` ng cách su’. du.ng
6. Hãy gia’i quyê´t vâ´n dê
0.6 1 0.9
A= + + ;
∼ x1 x2 x3
0.6 1
B= + ;
∼ y1 y2
0 0.5 0.9 1
A = + + .
∼ x1 x2 x3
7. Tù. các gia’ thiê´t dã cho cu’a bài tâ.pp 6, hãy tı́nh quan hê. tâ.p mò.:
R = A×B
∼ ∼ ∼
0 0
B =A ◦R
∼ ∼ ∼
8. Trong quá trı̀nh làm a’nh có hai khâu mâ´u chô´t: thò.i gian ru’.a (exposure
time) và thò.i gian tráng a’nh (development time). Gia’ su’. ră` ng mô˜i mô.t
khâu du.o..c dă.c tru.ng bo’.i tâ.p mò. sau:
0 1 0.7 0.1
A = “exposure” = { + + + }
∼ 0 1 2 3
` n X = [0, 3] (giây) và
trong dó tâ.p nê
0 0 1 0.4 0
A = “about 1” = { + + + }
0 1 2 3
Su’ du.ng phu o ng pháp ho. p thành Max- min hãy tı̀m thò.i gian ru’.a a’nh
. . . .
mó.i B có quan hê. vó.i thò.i gian tráng phim mó.i A .
0 0
∼ ∼
Tài liê.u tham kha’o
3. Bùi Công Cu.ò.ng, Hê. mò., ma.ng no.ron và ú.ng du.ng, Nhà xuâ´t ba’n
Khoa ho.c và Kỹ thuâ.t, 2001.
6. Phan Tru.o.ng Dâ ` n, Lâ.p trı̀nh Turbo Prolog 2.0, Nhà xuâ´t ba’n Khoa
ho.c và Kỹ thuâ.t, 1998.
7. Phan Dı̀nh Diê.u, Logic Toán và Co. so’. Toán ho.c, Nhà xuâ´t ba’n Da.i
ho.c Quô´c gia Hà Nô.i, 2003.
8. Dô˜ Dú.c Giáo, Toán rò.i ra.c, Nhà xuâ´t ba’n Da.i ho.c Quô´c gia Hà Nô.i,
2004.
10. Ba.ch Hu.ng Khang, và n.n.k , Prolog và Hê. chuyên gia, Tâ.p 1, Viê.n
` u khiê’n, 1988.
khoa ho.c tı́nh toán và diê
12. S.C. Kleene, Mathematical Logic, John Wiley & Sons, Inc., 1988.
15. Nguyê˜n Hũ.u Ngu.., Giáo trı̀nh Logic Toán, Da.i ho.c Tô’ng ho..p Hà Nô.i,
1989.
18. Dă.ng Huy Ruâ.n, Ba’y phu.o.ng pháp gia’i các bài toán Logic, Nhà xuâ´t
ba’n Khoa ho.c và kỹ thuâ.t, 2002.
19. P. Suppes, Introduction to Logic, D. Van Nostrand Inc., 1957, 3th Edi-
tion, 1994.