Skip to main content
OCMEBilingual mathematics & derivations繁體中文

OCME · Bilingual mathematics & derivations

Concept derivation guides

299 concept teaching guides, separate from the 36,000 individual question derivations.

Search all questions & derivations →

Concept guide

Algorithm correctness: partial correctness, termination and total correctness of nondeterministic adjacent-swap sorting

In a finite-state model M whose states are the six permutations of (1,2,3), with initial state (3,2,1), each step may nondeterministically swap any adjacent inverted pair, and Halt={(1,2,3)}. With the postcondition 'increasing, and a rearrangement of the input', prove partial correctness, termination and total correctness of M, using the ranking function inv (the number of inversions) to show every execution takes at most 3 steps and every maximal execution stops in Halt. Then use the variant M′ (any adjacent pair may be swapped) to show that one successful path and partial correctness do not give total correctness, and the variant M″ (a wrong halting condition) to show that termination does not give correctness.

Algorithm correctness

derivation-mko-algorithm-correctness-01