Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
sav08:assume_guarantee_reasoning_with_procedures [2008/04/09 10:42] vkuncak |
sav08:assume_guarantee_reasoning_with_procedures [2008/04/09 10:43] vkuncak |
||
---|---|---|---|
Line 5: | Line 5: | ||
Given | Given | ||
- | var x; | + | var x : int; |
proc P() | proc P() | ||
Line 33: | Line 33: | ||
===== Postconditions that refer to pre state ===== | ===== Postconditions that refer to pre state ===== | ||
- | proc dec(x) | + | <code> |
+ | var x : int; | ||
+ | |||
+ | proc dec() | ||
requires x > 0 | requires x > 0 | ||
ensures x <= (old x) | ensures x <= (old x) | ||
{ x = x - 2; } | { x = x - 2; } | ||
+ | </code> | ||
+ | <code> | ||
proc Q() | proc Q() | ||
{ | { | ||
Line 44: | Line 49: | ||
c2; | c2; | ||
} | } | ||
+ | </code> | ||
- | ===== Handling Parameters ===== | + | ===== Procedures with Parameters ===== |