We discussed this with @frapac this week. Given 0 <= f ⟂ g >= 0, there are two possibilities: add a constraint that the product is zero or add one that the product is nonpositive. According to @frapac , the latter is more appropriate if the solver is interior point. So it's unclear which one should be added by default but we can start by creating a bridge (probably parametrized by a Bool indicating which approach is employed).