Closed mezpusz closed 4 months ago
Will look forward to doing some performance checks with this one!
Thanks for changes! Fine to merge for me, imagine @quickbeam123 would like to check some perf.
@joe-hauns Thanks for the review! I tried to address your comments, but let me know if there is something I misunderstood, or is still not satisfactory.
Is this stable/ready for one final quick round of my checks?
This PR refactors functionality of KBO and LPO such that two terms can be compared modulo some substitution without creating the result of the application. Some notes:
KBOForEPR
has been removed as the use case in my opinion is not that prevalent and the code does not give a major improvement overKBO
.SKIKBO
has not been adapted, but I did not remove it due to some functionaility being used elsewhere.Additionally, a unidirectional check has been implemented for KBO and exposed for LPO. This is far from super optimal, but it's a bit more efficient than the bidirectional check when we don't need the latter.
I did some optimisations here and there in other parts too, see comments below.