% z(Jmeno,Prijmeni,Pohlavi,Vek,Prace,Firma)
z(petr,novak,m,30,skladnik,skoda).  
z(pavel,novy,m,40,mechanik,skoda).
z(rostislav,lucensky,m,50,technik,skoda).
z(alena,vesela,z,25,sekretarka,skoda).
z(jana,dankova,z,35,asistentka,skoda).  
z(lenka,merinska,z,35,ucetni,skoda).
z(roman,maly,m,35,manazer,cs).  
z(alena,novotna,z,40,ucitelka,zs_stara).
z(david,novy,m,30,ucitel,zs_stara).
z(petra,spickova,z,45,uklizecka,zs_stara).

end_of_file.

% Jmeno a Prijmeni vsech lidi
?- findall(Jmeno-Prijmeni, z(Jmeno,Prijmeni,_,_,_,_),L).
?- bagof( Jmeno-Prijmeni, [S,V,Pr,F] ^ z(Jmeno,Prijmeni,S,V,Pr,F) , L).
?- bagof( Jmeno-Prijmeni, [V,Pr,F] ^ z(Jmeno,Prijmeni,S,V,Pr,F) ,  L ).

% Jmeno a Prijmeni zamestnancu firmy skoda a cs
?- findall( c(J,P,Firma), ( z(J,P,_,_,_,Firma), ( Firma=skoda ; Firma=cs ) ), L ).
?- bagof( J-P, [P,S,V,Pr]^(z(J,P,S,V,Pr,F),( F=skoda ; F=cs ) ) ,  L ).
?- setof( P-J, [P,S,V,Pr]^(z(J,P,S,V,Pr,F),( F=skoda ; F=cs ) ) ,  L ).

% S=[1,2,3|K]-K
% [1,2,3]-[3]
% last(S-[H],H).

