First-order logic made easy