First-Order Rough Logic I: Approximate Reasoning via Rough Sets