\item What does the congruence closure algorithm compute? State the inputs and output of the algorithm. In the context of deciding satisfiability of formulas in $\EUF$, what is the congruence closure algorithm used for?