====== Úkol 2 ======
muz(iluvatar).
muz(elros).
muz(elrond).
muz(john).
muz(paul).
muz(george).
muz(ringo).
zena(clare).
zena(lucy).
zena(mary).
zena(jane).
zena(linda).
otec(iluvatar,elrond).
otec(iluvatar,elros).
otec(elros,clare).
otec(elros,lucy).
otec(elrond,paul).
otec(elrond,george).
otec(paul,john).
otec(george,mary).
otec(john,ringo).
otec(john,jane).
matka(clare,john).
matka(lucy,mary).
matka(linda,ringo).
matka(mary,jane).
rodic(X,Y) :- otec(X,Y).
rodic(X,Y) :- matka(X,Y).
je_matka(X) :- matka(X,_).
%tyto pravidla doplnte
sourozenec(X,Y) :- rodic(R, X), rodic(R, Y), X \== Y.
teta(X,Y) :- sestra(X , R), rodic(R, Y).
sestra(X,Y) :- zena(X), sourozenec(X, Y).
deda(X,Y) :- muz(X), rodic(R, Y), rodic(X, R).
%delka linearniho seznamu
delka([],0).
delka([_|T],S) :- delka(T,SS), S is SS + 1.
%je prvek clenem lin. seznamu?
jePrvek([X|_],X).
jePrvek([_|T],X) :- jePrvek(T,X).
%spojeni dvou linearnich seznamu
spoj([],L,L).
spoj([H|T],L,[H|TT]) :- spoj(T,L,TT).
%doplnte nasledujici predikaty
%doplnte nasledujici predikaty
max(A, B, MAX) :- A>=B, MAX is A.
max(A, B, MAX) :- A