First-order logic