Bài giảng Luận lý toán học - Chương 3: Luận lý vị từ (Phần 4) - Nguyễn Thanh Sơn
Tính hằng sai
• Mục tiêu :
Số diễn dịch của 1 công thức LLVT là vô hạn.
Làm sao biết được một công thức là hằng
đúng, hằng sai, khả đúng, khả sai ?.
Dựa vào định nghĩa ?
• Giải pháp ?
nhất
• Để có được một mgu từ tập bất đồng thì tập bất
đồng phải có :
1. Một biến.
2. Biến biểu thức.
ntsơn
mgu
Thí dụ :
S = {p(x, y, z), p(f(y), z, g(w)), p(f(g(a)), z, t)}
{x, f(y)} 0 = {f(y)/x}
S0 = {p(f(y), y, z), p(f(y), z, g(w)), p(f(g(a)), z, t)}
{y, z} 1 = 0.{z/y} = {f(z)/x, z/y}
S1 = {p(f(z), z, z), p(f(z), z, g(w)), p(f(g(a)), z, t)}
{z, g(w)} 2 = 1.{g(w)/z}
= {f(g(w))/x, g(w)/y, g(w)/z}
S2 = {p(f(g(w)), g(w), g(w)), p(f(g(a)), g(w), t)}
ntsơn
mgu
{z, g(w)} 2 = {f(g(w))/x, g(w)/y, g(w)/z}
S2 = {p(f(g(w)), g(w), g(w)), p(f(g(a)), g(w), t)}
{w, a} 3 = 2.{a/w}
= {f(g(a))/x, g(a)/y, g(a)/z, a/w}
S3 = {p(f(g(a)), g(a), g(a)), p(f(g(a)), g(a), t)}
{g(a), t} 4 = 3.{g(a)/t}
= {f(g(a))/x, g(a)/y, g(a)/z, a/w, g(a)/t}
S4 = {p(f(g(a)), g(a), g(a))}
mgu(S) ={f(g(a))/x, g(a)/y, g(a)/z, a/w, g(a)/t}
ntsơn
Thừa số
• Thừa số (factor) của một mệnh đề.
D = p(x) p(f(y)) q(x) p(z)
p(x) và p(f(y)) có mgu = {f(y)/x}.
D = p(f(y) q(f(y)) p(z) là thừa số.
p(z) và p(f(y)) có mgu = {f(y)/z}.
D = p(x) p(f(y) q(x) là một thừa số.
p(x) và p(z) có mgu = {x/z}.
D = p(x) p(f(y) q(x) là một thừa số.
ntsơn
Phân giải nhị phân
• Phân giải nhị phân của 2 mệnh đề.
C = p(x) q(x) D = p(a) r(x).
LC = p(x) và
LD = p(a).
LC và LD có mgu = {a/x}.
(C LC) (D LD) = q(a) r(a).
pgb(C, D) = (q(a) r(a)) là phân giải nhị phân
của C và D.
ntsơn
Phân giải nhị phân
Thí dụ
C = p(x) r(a) D = p(b) p(f(y)) r(x).
pgb(C, D) = r(a) p(f(y)) r(b), với = {b/x}.
pgb(C, D) = r(a) p(b) r(f(y)),
với = {f(y)/x}.
pgb(C, D) = p(a) p(b) p(f(y)), với ={a/x}.
ntsơn
Phân giải
• Phân giải của hai mệnh đề C, D :
1. Phân giải nhị phân của C và D.
2. Phân giải nhị phân của C và 1 thừa số của D.
3. Phân giải nhị phân của 1 thừa số của C và 1
thừa số của D.
Ký hiệu pg(C, D)
ntsơn
Phân giải
Thí dụ
C = p(x) q(a) D = p(z) p(f(y)) r(x).
pg(C, D) = q(a) p(f(y)) r(x).
pg(C, D) = q(a) p(z) r(f(y)),
pg(C, D) = q(a) r(f(y)).
ntsơn
Phân giải
Định lý
Phân giải là hệ quả luận lý của 2 mệnh đề được
phân giải.
C, D ╞═ pg(C, D)
Hệ quả
Một hệ thống hằng sai nếu phân giải ra được
mệnh đề hằng sai ().
Quá trình phân giải sẽ dừng nếu không sinh ra
được mệnh đề mới.
ntsơn
Chứng minh
• Chứng minh H là hệ qủa luận lý của F và G :
F = x (p(x) (w(x) r(x)))
G = x (p(x) q(x))
H = x (q(x) r(x))
Chuyển F, G và H thành dạng chuẩn.
F = x ((p(x) w(x)) (p(x) r(x)))
G = x (p(x) q(x))
H = x (q(x) r(x))
ntsơn
Chứng minh
• Hệ thống mới là :
(1) (p(x) w(x))
(2) (p(x) r(x)))
(3) p(a)
(4) q(a)
(5) q(x) r(x).
pg(2, 3) = r(a) (6)
pg(4, 5) = r(a) (7)
pg(6, 7) = .
ntsơn
Problem-solving[13]
• If one number is less than or equal to a second
number, and the second number is less than or
equal to a third, then the first number is not
greater than the third. A number is less than or
equal to a second number if and only if the
second number is greater than the first or the
first is equal to the second. Given a number,
there is another number that it is less than or
equal to. Therefore, every number is less than
or equal to itself.
[13] The essence of logic John Kelly. Prentice Hall 1997
ntsơn
Problem-solving[13]
• Biểu diễn dưới dạng ký hiệu toán học.
If (x y) and (y z) then not (x > z).
(x y) iff (y > x)) or (x = y).
For every x, there is a y such that x y.
Therefore, x x for every x.
ntsơn
Problem-solving[13]
• Biểu diễn dưới dạng logic.
Các vị từ le (), gt (>), eq (=)
x y z ((le(x, y) le(y, z)) gt(x, z))
x y (le(x, y) (gt(y, x) eq(x, y)))
x y le(x, y)
╞═ x le(x, x).
ntsơn
Problem-solving[13]
• Biểu diễn dưới dạng logic.
Các vị từ le (), gt (>), eq (=)
x y z ((le(x, y) le(y, z)) gt(x, z))
x y (le(x, y) (gt(y, x) eq(x, y)))
x y le(x, y)
╞═ x le(x, x).
ntsơn
Problem-solving[13]
• Biểu diễn dưới dạng logic.
{
x y z ((le(x, y) le(y, z)) gt(x, z)),
x y (le(x, y) (gt(y, x) eq(x, y))),
x y ((gt(y, x) eq(x, y))) le(x, y),
x y le(x, y),
(x le(x, x)).
} hệ thống hằng sai.
ntsơn
Problem-solving[13]
• Biểu diễn dưới dạng logic.
{
x y z (le(x, y) le(y, z) gt(x, z)),
x y (le(x, y) gt(y, x) eq(x, y)),
x y ((gt(y, x) eq(x, y)) le(x, y)),
x y le(x, y),
x le(x, x).
} hệ thống hằng sai.
ntsơn
Problem-solving[13]
• Biểu diễn dưới dạng logic.
{
x y z (le(x, y) le(y, z) gt(x, z)),
x y (le(x, y) gt(y, x) eq(x, y)),
x y ((gt(y,x) le(x,y)) (eq(x,y) le(x,y)),
x y le(x, y),
x le(x, x)
} hệ thống hằng sai.
ntsơn
Problem-solving[13]
• Biến đổi về dạng chuẩn Skolem.
{
le(x, y) le(y, z) gt(x, z),
le(x, y) gt(y, x) eq(x, y),
gt(y, x) le(x, y),
eq(x, y) le(x, y),
le(x, f(x)),
le(a, a)
}
ntsơn
Problem-solving[13]
• Biến đổi về dạng chuẩn Skolem.
le(x, y) le(y, z) gt(x, z) (1’)
le(x, y) gt(y, x) eq(x, y) (2)
gt(y, x) le(x, y) (3)
eq(x, y) le(x, y) (4)
le(x, f(x)) (5)
le(a, a) (6)
ntsơn
Problem-solving[13]
• Biến đổi về dạng chuẩn Skolem.
/* le(x, y) le(y, z) gt(x, z) (1’) */
le(x, x) gt(x, x) (1) thừa số (1’)
le(x, y) gt(y, x) eq(x, y) (2)
gt(y, x) le(x, y) (3)
eq(x, y) le(x, y) (4)
le(x, f(x)) (5)
le(a, a) (6)
ntsơn
Using Resolution[13]
• Phân giải.
pg(1, 2), pg(1, 3), pg(1, 4), pg(1, 5), pg(1, 6),
pg(2, 3), pg(2, 4), pg(2, 5), pg(2, 6),
pg(3, 4), pg(3, 5), pg(3, 6),
pg(4, 5), pg(4, 6),
pg(5, 6)
ntsơn
Using Resolution[13]
• Phân giải pg(1, 2).
M1 = le(x, x) gt(x, x) (1)
M2 = le(x, y) gt(y, x) eq(x, y) (2)
= {x/y}
M1 = le(x, x) gt(x, x)
M2 = le(x, x) gt(x, x) eq(x, x)
pg(1, 2) = le(x, x) eq(x, x)
ntsơn
Problem-solving[13]
• Some students attend logic lectures diligently.
No student attends boring logic lectures
diligently. Sean’s lectures on logic are attended
diligently by all students. Therefore none of
Sean’s logic lectures are boring.
• Chọn các vị từ :
lec(x) : x là bài giảng về logic
st(x) : x là student, s : Sean,
at(x, y) : x tham dự y chăm chỉ,
bor(x) : x tẻ nhạt, gv(x, y) : x được cho bởi y
ntsơn
Problem-solving[13]
• Chuyển về LLVT
Some students attend logic lectures diligently.
There is an x who is a student and, for every y,
if y is a logic lecture, then x attends y diligently.
x (st(x) y (lec(y) at(x, y)))
Nếu dịch :
x y (st(x) lec(y) at(x, y))) ???
y x (st(x) lec(y) at(x, y))) ???
ntsơn
Problem-solving[13]
• Chuyển về LLVT
No student attends boring logic lectures
diligently.
For every x, if x is a student, then, for every y, if
y is a lecture which is boring, then x does not
attend y.
x (st(x) y (lec(y) bor(y) at(x, y)))
ntsơn
Problem-solving[13]
• Chuyển về LLVT
Sean’s lectures on logic are attended diligently
by all students.
If x is a lecture given by s then every student z
attends it.
x (lec(x) gv(x, s) z (st(z) at(z, x)))
ntsơn
Problem-solving[13]
• Chuyển về LLVT
Therefore none of Sean’s logic lectures are
boring.
Every lecture given by s is not boring.
x ((lec(x) gv(x, s)) bor(x))
ntsơn
Problem-solving[13]
• Tổng kết
x (st(x) y (lec(y) at(x, y)))
x (st(x) y (lec(y) bor(y) at(x, y)))
x (lec(x) gv(x, s) z (st(z) at(z, x)))
╞═ x (lec(x) gv(x, s) bor(x))
ntsơn
Problem-solving[13]
• Biến đổi
x (st(x) y (lec(y) at(x, y)))
x (st(x) y (lec(y) bor(y) at(x, y)))
x (lec(x) gv(x, s) z (st(z) at(z, x)))
x (lec(x) gv(x, s) bor(x))
chứng minh hệ thống hằng sai.
ntsơn
Problem-solving[13]
• Biến đổi
x y (st(x) (lec(y) at(x, y)))
x y (st(x) lec(y) bor(y) at(x, y))
x z (lec(x) gv(x, s) st(z) at(z, x))
x (lec(x) gv(x, s) bor(x))
ntsơn
Problem-solving[13]
• Biến đổi
st(a) (lec(y) at(a, y))
st(x) lec(y) bor(y) at(x, y)
lec(x) gv(x, s) st(z) at(z, x)
lec(b) gv(x, s) bor(b)
ntsơn
Problem-solving[13]
• Biến đổi
st(a) (1)
lec(y) at(a, y) (2)
st(x) lec(y) bor(y) at(x, y) (3)
lec(x) gv(x, s) st(z) at(z, x) (4)
lec(b) (5)
gv(x, s) (6)
bor(b) (7)
ntsơn
Problem-solving[13]
• Phân giải
st(a) (1)
lec(y) at(a, y) (2)
st(x) lec(y) bor(y) at(x, y) (3)
lec(x) gv(x, s) st(z) at(z, x) (4)
lec(b) (5)
gv(x, s) (6)
bor(b) (7)
ntsơn
Problem-solving[13]
• Phân giải
st(a) (1)
lec(y) at(a, y) (2)
st(x) lec(y) bor(y) at(x, y) (3)
lec(x) gv(x, s) st(z) at(z, x) (4)
lec(b) (5)
gv(x, s) (6)
bor(b) (7)
Nhận xét : dư (4) và (6) !!!.
ntsơn
Bài tập
Chương 4 : Phân giải
ntsơn
Dạng chuẩn Skolem
1. Chuyển về dạng chuẩn Skolem :
F = xy ((S(x,y) T(x,y)) x T(x,y))
H = (x (p(x) yz q(y,z)))
G = xy (z K(x,y,z) v (H(y,v)u H(u,v)))
K = x ( e(x,0)
(y ( e(y, g(x)) z (e(z, g(x)) e(y, z)) )))
ntsơn
Thay thế
2. Cho 3 thay thế = f(y)/x, z/y, g(x)/z,
= a/x, b/y, x/t,
= y/z, h(x)/y, f(x)/t .
Tìm hợp nối và .
3. Dùng thuật toán đồng nhất tìm mgu của công
thức P :
P = q(f(x),y,u), q(u,v,h(x)), q(t,y,z).
ntsơn
Thừa số
4. Cho thay thế =a/x, b/y, g(x,y)/z và
E = p(h(x),z), Tính E.
5. Tìm các thừa số của T :
T = p(h(x)) r(y) p(f(y)) q(x) r(g(a))
r(y) p(a).
6. Dùng phân giải để khảo sát tính hằng sai, khả
đúng của công thức :
(r(x,y,z) v(f(y),w)) v(x,y) t(x,z) (t(x,y)
v(x,y))
ntsơn
Chứng minh
7. Bằng phân giải chứng minh tập S là hằng sai
S = p(x) q(y), p(a) r(x), p(a) r(x), p(x)
q(b), r(a) q(y), r(x) q(b).
8. Dùng phân giải cho biết công thức F là hằng sai
hay khả đúng :
F =(q(c) p(b)) (q(c) r(c)) (q(c) r(c))
(q(c) p(b)) (r(c) p(b)) (r(c)
p(b)).
ntsơn
Hết slide
File đính kèm:
bai_giang_luan_ly_toan_hoc_chuong_3_luan_ly_vi_tu_phan_4_ngu.pdf

