**If a function f is expanded
into a sequence g and h, the correctness ****condition
for all input to f is:
**

**• Does g followed by h do f?
**

**When a function f is refined
into a conditional (if-then-else), the ****correctness
condition for all input to f is:
**

**• Whenever condition <c> is true does g do f and
whenever <c> is ****false, does h do f?
**

**When function f is refined as
a loop, the correctness conditions for ****all
input to f is:
**

**When function f is refined as
a loop, the correctness conditions for ****all
input to f is:
**

**• Is termination guaranteed?
**

**• Whenever <c> is true does g followed by f do f,
and whenever ****<c> is false, does
skipping the loop still do f?****
**