first-order elimination