a) True, false và là Wff b) Mệnh đề hoặc biến mệnh đề là Wff.
3.4.3. Thiết kế chương trình: % Luat dan 1: xac dinh gio
% Luat dan 1: xac dinh gio
hour(H,H1):- H>=23.5,H<=24,H1="Ty'"; H>=0, H<1.5,H1="Ty'";
H>=1.5, H<3.5, H1="Suu"; H>=3.5, H<5.5, H1="Dan"; H>=5.5, H<7.5,H1="Meo"; H>=7.5, H<9.5, H1="Thin"; H>=9.5, H<11.5, H1="Ty."; H>=11.5, H<13.5, H1="Ngo"; H>=13.5, H<15.5, H1="Mui"; H>=15.5, H<17.5, H1="Than"; H>=17.5, H<19.5, H1="Dau"; H>=19.5, H<21.5, H1="Tuat";
% Luat dan 2: xac dinh thang
month(M,M1):- M=11,M1="Ty'"; M=12,M1="Suu"; M=1,M1="Dan"; M=2,M1="Meo"; M=3,M1="Thin"; M=4,M1="Ty."; M=5,M1="Ngo"; M=6,M1="Mui"; M=7,M1="Than"; M=8,M1="Dau"; M=9,M1="Tuat"; M=10,M1="Hoi".
% Luat dan 3: xac dinh can
can(Y,Y1):- (Y-4) mod 10=0,Y1="Giap"; (Y-4) mod 10=1,Y1="At";
(Y-4) mod 10=2,Y1="Binh"; (Y-4) mod 10=3,Y1="Dinh"; (Y-4) mod 10=4,Y1="Mau"; (Y-4) mod 10=5,Y1="Ky";
(Y-4) mod 10=6,Y1="Canh"; (Y-4) mod 10=7,Y1="Tan"; (Y-4) mod 10=8,Y1="Nham"; (Y-4) mod 10=9,Y1="Quy".
% Luat dan 4: xac dinh chi
chi(Y,Y1):- (Y-4) mod 12=0,Y1="Ty'"; (Y-4) mod 12=1,Y1="Suu"; (Y-4) mod 12=2,Y1="Dan"; (Y-4) mod 12=3,Y1="Meo"; (Y-4) mod 12=4,Y1="Thin"; (Y-4) mod 12=5,Y1="Ty."; (Y-4) mod 12=6,Y1="Ngo"; (Y-4) mod 12=7,Y1="Mui"; (Y-4) mod 12=8,Y1="Than"; (Y-4) mod 12=9,Y1="Dau"; (Y-4) mod 12=10,Y1="Tuat"; (Y-4) mod 12=11,Y1="Hoi".
% Luat dan 5: xac dinh cung
cung(Y,S,P,C):- Y>0, S1=S+Y mod 10,Y1=Y div 10,cung(Y1,S1,P,C). cung(Y,S,P,C):- Y=0,S mod 9 =1,P="nam",C="Kham";
Y=0,S mod 9 =6,P="nu",C="Kham"; Y=0,S mod 9 =2,P="nam",C="Ly"; Y=0,S mod 9 =5,P="nu",C="Ly";
Y=0,S mod 9 =3,P="nam",C="Ca'n"; Y=0,S mod 9 =1,P="nu",C="Ca'n"; Y=0,S mod 9 =4,P="nu",C="Ca'n";
Y=0,S mod 9 =4,P="nam",C="Doai"; Y=0,S mod 9 =3,P="nu",C="Doai";
Y=0,S mod 9 =5,P="nam",C="Ca`n"; Y=0,S mod 9 =2,P="nu",C="Ca`n";
Y=0,S mod 9 =6,P="nam",C="Khon"; Y=0,S mod 9 =9,P="nam",C="Khon"; Y=0,S mod 9 =0,P="nam",C="Khon"; Y=0,S mod 9 =7,P="nu",C="Khon";
Y=0,S mod 9 =7,P="nam",C="Ton"; Y=0,S mod 9 =9,P="nu",C="Ton"; Y=0,S mod 9 =0,P="nu",C="Ton";
Y=0,S mod 9 =8,P="nam",C="Chan"; Y=0,S mod 9 =8,P="nu",C="Chan".
% Luat dan 6: xac dinh mang
mang(Y,Y1):- (Y-3) mod 30 = 1, Y1="Duong Kim";(Y-3) mod 30 = 9, Y1="Duong Kim";(Y-3) mod 30 = 7, Y1="Duong Kim";
(Y-3) mod 30 = 2, Y1="Am Kim";(Y-3) mod 30 = 10, Y1="Am Kim";(Y-3) mod 30 = 18, Y1="Am Kim";
(Y-3) mod 30 = 3, Y1="Duong Hoa";(Y-3) mod 30 = 11, Y1="Duong Hoa";(Y-3) mod 30 = 25, Y1="Duong Hoa";
(Y-3) mod 30 = 4, Y1="Am Hoa";(Y-3) mod 30 = 12, Y1="Am Hoa";(Y-3) mod 30 = 26, Y1="Am Hoa";
(Y-3) mod 30 = 5, Y1="Duong Moc";(Y-3) mod 30 = 19, Y1="Duong Moc";(Y-3) mod 30 = 27, Y1="Duong Moc";
(Y-3) mod 30 = 6, Y1="Am Moc";(Y-3) mod 30 = 20, Y1="Am Moc";(Y-3) mod 30 = 28, Y1="Am Moc";
(Y-3) mod 30 = 7, Y1="Duong Tho";(Y-3) mod 30 = 15, Y1="Duong Tho";(Y-3) mod 30 = 23, Y1="Duong Tho";
(Y-3) mod 30 = 8, Y1="Am Tho";(Y-3) mod 30 = 16, Y1="Am Tho";(Y-3) mod 30 = 24, Y1="Am Tho";
(Y-3) mod 30 = 13, Y1="Duong Thuy";(Y-3) mod 30 = 21, Y1="Duong Thuy";(Y-3) mod 30 = 29, Y1="Duong Thuy";
(Y-3) mod 30 = 14, Y1="Am Thuy";(Y-3) mod 30 = 22, Y1="Am Thuy";(Y-3) mod 30 = 0, Y1="Am Thuy".
% Luat dan 7: xac dinh mang tuong khac
mangts(A,A1):- A="Thuy",A1="Thuy sinh Moc, Kim sinh Thuy"; A="Moc",A1="Moc sinh Hoa, Thuy sinh Moc";
A="Hoa",A1="Hoa sinh Tho, Moc sinh Hoa"; A="Tho",A1="Tho sinh Kim, Hoa sinh Tho"; A="Kim",A1="Kim sinh Thuy, Tho sinh Kim".
% Luat dan 8: xac dinh mang tuong sinh
mangtk(A,A1):- A="Thuy",A1="Thuy khac Hoa, Tho khac Thuy"; A="Moc",A1="Moc khac Tho, Kim khac Moc"; A="Hoa",A1="Hoa khac Kim, Thuy khac Hoa";
A="Tho",A1="Tho khac Thuy, Moc khac Tho"; A="Kim",A1="Kim khac Moc, Hoa khac Kim".
% Luat dan 9: xac dinh mau sac hop
color_hop(A,A1):- A="Kim",A1="yellow, brown, White, grey"; A="Moc",A1="Black, blue, Green";
A="Thuy",A1="White, grey, Black, blue"; A="Hoa",A1="Green, Red, pink, purple";
A="Tho",A1="Red, pink, purple, Yellow, brown, orgrane".
% Luat dan 10: xac dinh mau sac khong hop
color_k_hop(A,A1):- A="Kim",A1="Red, pink, purple"; A="Moc",A1="White, grey";
A="Thuy",A1="Yellow, brown, orgrane"; A="Hoa",A1="Black, blue";
A="Tho",A1="Green".
% Luat dan 11: xac dinh huong theo cung
huong(C,C1):- C="Kham",C1="Dong tu mang"; C="Chan",C1="Dong tu mang"; C="Ton",C1="Dong tu mang"; C="Ly",C1="Dong tu mang"; C="Khon",C1="Tay tu mang"; C="Doai",C1="Tay tu mang"; C="Ca`n",C1="Tay tu mang"; C="Ca'n",C1="Tay tu mang".
huongtot(C,C1):-C="Dong tu mang",C1="Dong Nam, Chanh Nam, Chanh Dong, Chanh Bac";
C="Tay tu mang",C1="Chanh Tay, Tay Nam, Dong Bac, Tay Bac".
% Luat dan 13: xac dinh huong xau
huongxau(C,C1):-C="Dong tu mang",C1="Chanh Tay, Tay Nam, Dong Bac, Tay Bac"; C="Tay tu mang",C1="Chanh Nam, Chanh Dong, Dong Nam, Chanh Bac".
% Luat dan 14: xac dinh nam hop ky theo can
hopcan(Y1,Y2,KQ):- Y1="Giap",Y2="Ky",KQ="hop";Y2="Giap",Y1="Ky",KQ="hop"; Y1="At",Y2="Canh",KQ="hop";Y2="At",Y1="Canh",KQ="hop"; Y1="Binh",Y2="Tan",KQ="hop";Y2="Binh",Y1="Tan",KQ="hop"; Y1="Dinh",Y2="Nham",KQ="hop";Y2="Dinh",Y1="Nham",KQ="hop"; Y1="Mau",Y2="Quy",KQ="hop";Y2="Mau",Y1="Quy",KQ="hop"; Y1="Giap",Y2="Mau",KQ="ky";Y2="Giap",Y1="Mau",KQ="ky"; Y1="At",Y2="Ky",KQ="ky";Y2="At",Y1="Ky",KQ="ky"; Y1="Binh",Y2="Canh",KQ="ky";Y2="Binh",Y1="Canh",KQ="ky"; Y1="Dinh",Y2="Tan",KQ="ky";Y2="Dinh",Y1="Tan",KQ="ky"; Y1="Mau",Y2="Nham",KQ="ky";Y2="Mau",Y1="Nham",KQ="ky"; Y1="Ky",Y2="Quy",KQ="ky";Y2="Ky",Y1="Quy",KQ="ky"; Y1="Canh",Y2="Giap",KQ="ky";Y2="Canh",Y1="Giap",KQ="ky"; Y1="Tan",Y2="At",KQ="ky";Y2="Tan",Y1="At",KQ="ky"; Y1="Nham",Y2="Binh",KQ="ky";Y2="Nham",Y1="Binh",KQ="ky"; Y1="Quy",Y2="Dinh",KQ="ky";Y2="Quy",Y1="Dinh",KQ="ky"; KQ="va".
% in ket qua cho luat dan nam hop theo can
kt(KQ,KQ1):-KQ="hop",KQ1="tot"; KQ="ky",KQ1="khong tot"; KQ="va",KQ1="khong hop, khong ky".
% Luat dan 15: xac dinh nam hop ky theo chi
hopchi(Y1,Y2,KQ):- Y1="Dan",Y2="Ngo",KQ="hop voi Tuat"; Y2="Dan",Y1="Ngo",KQ="hop voi Tuat";
Y1="Dan",Y2="Tuat",KQ="hop voi Ngo"; Y2="Dan",Y1="Tuat",KQ="hop voi Tuat"; Y1="Ngo",Y2="Tuat",KQ="hop voi Dan"; Y2="Ngo",Y1="Tuat",KQ="hop voi Dan"; Y1="Than",Y2="Ty'",KQ="hop voi Thin"; Y2="Than",Y1="Ty'",KQ="hop voi Thin"; Y1="Than",Y2="Thin",KQ="hop voi Ty'"; Y2="Than",Y1="Thin",KQ="hop voi Ty'"; Y1="Ty'",Y2="Thin",KQ="hop voi Than"; Y2="Ty'",Y1="Thin",KQ="hop voi Than"; Y1="Ty.",Y2="Dau",KQ="hop voi Suu"; Y2="Ty.",Y1="Dau",KQ="hop voi Suu"; Y1="Ty.",Y2="Suu",KQ="hop voi Dau"; Y2="Ty.",Y1="Suu",KQ="hop voi Dau"; Y1="Dau",Y2="Suu",KQ="hop voi Ty."; Y2="Dau",Y1="Suu",KQ="hop voi Ty."; Y1="Hoi",Y2="Mao",KQ="hop voi Mui";
Y1="Hoi",Y2="Mui",KQ="hop voi Mao"; Y1="Hoi",Y2="Mui",KQ="hop voi Mao"; Y1="Mao",Y2="Mui",KQ="hop voi Hoi"; Y1="Mao",Y2="Mui",KQ="hop voi Hoi"; Y1="Ty",Y2="Suu",KQ="hop nhau"; Y2="Ty",Y1="Suu",KQ="hop nhau"; Y1="Thin",Y2="Dau",KQ="hop nhau"; Y2="Thin",Y1="Dau",KQ="hop nhau"; Y1="Dan",Y2="Hoi",KQ="hop nhau"; Y2="Dan",Y1="Hoi",KQ="hop nhau"; Y1="Ty.",Y2="Than",KQ="hop nhau"; Y2="Ty.",Y1="Than",KQ="hop nhau"; Y1="Mao",Y2="Tuat",KQ="hop nhau"; Y2="Mao",Y1="Tuat",KQ="hop nhau"; Y1="Ngo",Y2="Mui",KQ="hop nhau"; Y2="Ngo",Y1="Mui",KQ="hop nhau"; Y1="Ty'",Y2="Ngo",KQ="khac nhau"; Y2="Ty'",Y1="Ngo",KQ="khac nhau"; Y1="Ty.",Y2="Hoi",KQ="khac nhau"; Y2="Ty.",Y1="Hoi",KQ="khac nhau"; Y1="Mao",Y2="Dau",KQ="khac nhau"; Y2="Mao",Y1="Dau",KQ="khac nhau"; Y1="Thin",Y2="Tuat",KQ="khac nhau"; Y2="Thin",Y1="Tuat",KQ="khac nhau";
Y1="Dan",Y2="Than",KQ="khac nhau"; Y2="Dan",Y1="Than",KQ="khac nhau"; Y1="Suu",Y2="Mui",KQ="khac nhau"; Y2="Suu",Y1="Mui",KQ="khac nhau"; KQ="khong hop khong ky".
% Luat dan 16: xac dinh hanh theo cung
hanhcung(C,H):- C="Ca`n",H="Kim"; C="Doai",H="Kim"; C="Chan",H="Moc"; C="Ton",H="Moc"; C="Kham",H="Thuy";
C="Ly",H="Hoa";
C="Ca'n",H="Tho";C="Khon",H="Tho".