Armstrong/Virding partial correctness