I believe the issue is that atoms which are created in dreal::strengthen_enode have an undefined polarity, whereas dreal::contractor_ibex_polytope::build_system_factory requires polarity to place enodes into the correct cache. I’m fuzzy on what exactly should be happening here (not sure I fully understand the semantics behind polarity), but the issue seems to be fixed by forcing the atoms created by strengthen_enode to true with the following patch:
I run the following:
I believe the issue is that atoms which are created in dreal::strengthen_enode have an undefined polarity, whereas dreal::contractor_ibex_polytope::build_system_factory requires polarity to place enodes into the correct cache. I’m fuzzy on what exactly should be happening here (not sure I fully understand the semantics behind polarity), but the issue seems to be fixed by forcing the atoms created by strengthen_enode to true with the following patch: