This PR primarily adds in the capability to do e-graph unification. The code for e-graphs can be found in egraph.ml, and the e-graph type is used in unification.ml in the unify_egraph function. This PR includes tests for this new feature. An additional small change is the addition of infrastructure for checking test coverage, including a new command, make coverage, that will generate a test coverage report.
This PR primarily adds in the capability to do e-graph unification. The code for e-graphs can be found in
egraph.ml
, and the e-graph type is used inunification.ml
in theunify_egraph
function. This PR includes tests for this new feature. An additional small change is the addition of infrastructure for checking test coverage, including a new command,make coverage
, that will generate a test coverage report.