Natural Deduction Predicate Logic