A sound and complete calculus for update logic