% z(Jmeno,Prijmeni,Pohlavi,Vek,Prace,Firma)
z(petr,jirku,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(hana,jirku,z,35,kucharka,zs_stara).
z(roman,maly,m,35,manazer,cs).  
z(alena,novotna,z,40,ucitelka,zs_stara).
z(david,jirku,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 ).

% Pocet muzu a zen 
?- findall( c(P,J), z(P,J,z,_,_,_), L), length(L,N).
?- findall( c(P,J), z(P,J,m,_,_,_), L), length(L,N).
?- bagof(c(P,J), [Ve,Pr,Fi]^z(P,J,S,Ve,Pr,Fi), L), length(L,N).
?- findall( S-N, ( bagof(c(P,J), [Ve,Pr,Fi]^z(P,J,S,Ve,Pr,Fi), L),
                   length(L,N)
                 ), Dvojice ).
