implement disjunctions with variable length (gringo syntax)