% === 10.2 === dcera(lisa, marge). dcera(maggie, marge). dcera(lisa, homer). dcera(maggie, homer). syn(bart, marge). syn(bart, homer). sestra(Clovek, Ses) :- dcera(Clovek, Rodic), dcera(Ses, Rodic). sestra(Clovek, Ses) :- syn(Clovek, Rodic), dcera(Ses, Rodic). deti(Dieta, Rodic) :- dcera(Dieta, Rodic); syn(Dieta, Rodic). rodice(Rodic1, Rodic2) :- deti(Dieta, Rodic1), deti(Dieta, Rodic2). % === 10.3 === r(a,b). r(a,c). r(b,d). f1(a). f1(X) :- f1(Y), r(Y,X). f2(X) :- f2(Y), r(Y,X). f2(a). g1(a). g1(X) :- r(Y,X), g1(Y). g2(X) :- r(Y,X), g2(Y). g2(a). % === 10.4 === % =, ==, =:=, is % N is N1 + 2 * 3 / N2 fact(0, 1 ). fact(Num, Fact) :- Num1 is Num - 1, fact(Num1, Fact1), Fact is Num * Fact1. % zmensit N o 1, faktorial N-1, vynasobit ho N % === 10.5 === word(astante, a,s,t,a,n,t,e). word(astoria, a,s,t,o,r,i,a). word(baratto, b,a,r,a,t,t,o). word(cobalto, c,o,b,a,l,t,o). word(pistola, p,i,s,t,o,l,a). word(statale, s,t,a,t,a,l,e). crossword(V1, V2, V3, H1, H2, H3) :- word(V1, _, F11, _, F12, _, F13, _), word(V2, _, F21, _, F22, _, F23, _), word(V3, _, F31, _, F32, _, F33, _), word(H1, _, F11, _, F21, _, F31, _), word(H2, _, F12, _, F22, _, F32, _), word(H3, _, F13, _, F23, _, F33, _).