/* print the employee relation */
employee_print(_) :-
employee(FNAME, LNAME, SSN, BDATE, ADDRESS, S, SALARY, SUPERSSN, DNO),
write(FNAME), write(' '), write(LNAME), write(' \t'), write(SSN),
write(' '), write(BDATE), write(' \t'), write(ADDRESS), write(' '),
write(S), write(' '), write(SALARY), write(' '), write(SUPERSSN),
write(' '), write(DNO), nl, fail.
/* print the employee relation as a html table */
table_start(_) :- write('<table border><tr><td>').
table_new_row(_) :- write('</td></tr><tr><td>').
table_row_mid(_) :- write('</td><td>').
table_end(_) :- write('</td></tr></table>').
employee_html(_) :-
table_start(_), (employee_print_html(_) | nl), table_end(_).
employee_print_html(_) :-
employee(FNAME, LNAME, SSN, BDATE, ADDRESS, S, SALARY, SUPERSSN, DNO),
write(FNAME), table_row_mid(_), write(LNAME), table_row_mid(_),
write(SSN), table_row_mid(_), write(BDATE),
table_row_mid(_), write(ADDRESS), table_row_mid(_), write(S),
table_row_mid(_), write(SALARY), table_row_mid(_), write(SUPERSSN),
table_row_mid(_), write(DNO), table_new_row(_), nl, fail.
/* print first_name, last_name, and supervisor's last_name */
employee_supervisor(FNAME, LNAME, SUPERLNAME) :-
employee(FNAME, LNAME, _, _, _, _, _, SUPERSSN, _),
employee(_, SUPERLNAME, SUPERSSN, _, _, _, _, _, _).
employee_supervisor_print(_) :-
employee_supervisor(FNAME, LNAME, SUPERLNAME),
write(FNAME), write(' '), write(LNAME),
write(' \thas supervisor: '), write(SUPERLNAME), nl, fail.