\item \self Explain for what the \textit{Congruence Closure} algorithm is used.
What are the inputs and outputs of the algorithm? What does the algorithm compute?
Explain the individual steps of the algorithm. 
