You can use the fact that salaries are unique in all your queries:
Emp(ID, salary) // ID is a key, salary is a key.
a) A clue about the clue: recall what Prof. Widom said in class, "when database people say join they usually mean theta join".
There is no typo in the results table. We are looking for a result relation where each of the original tuples appears one fewer time. If (5,6) appeared 3 times originally, it should appear twice in the result. If (3,4) appeared only once, it should not appear in the result.