Iterative Monomorphisation
摘要
Monomorphisation can be used to extend monomorphic provers to support polymorphic logics. We describe a pragmatic iterative approach. We implemented it in the Zipperposition prover, where it is used to translate away polymorphism before invoking the monomorphic prover E as a backend. Our evaluation shows that this approach increases Zipperposition’s success rate. Moreover, we find that iterative monomorphisation outperforms some native implementations of polymorphism.