Foundations for practical network verification