conjunction disjunction macro