This problem can be expressed as a set of strings: B = {p | p(ε)↓}, where p is a Java program. But Java is universal — it has the same recognition power as a Turing machine. B is nontrivial because some Java programs halt on an empty input and some don't. It respects equivalence because, if p and q are equivalent programs then either p and q both stop on an empty string or p and q both loop forever on an empty string. That is, pB iff qB.

By Rice's Theorem, B is uncomputable.