It would be useful to support expressions of the type: $$ [AtLeast(1,Y_i) \wedge AtLeast(1,Z_j)] \Leftrightarrow W $$ Where Y and Z are Boolean variables associated to unrelated disjuncts. This is expression would be currently supported in Pyomo.GDP as: @m.LogicalConstraint() def foo(m): return equivalent(land(atleast(1, m.Y[:].indicator_var), atleast(1, m.Z[:].indicator_var)), m.W)