First-order predicate calculus