Compactness Theorem for First-Order Logic