inv b1 + b2 + b3 <= 40 and b1 <= b2 and b2 <= b3 and b3 - b1 <= 15
operations
public Add: nat ==> ()
Add(x) == if x + b1 < b2 then b1 := b1 + x elseif b2 + x <= b3 then b2 := b2 + x else b3 := b3 + x pre x <= 5 and b1 + b2 + b3 + x <= 40 post b1 + b2 + b3 = b1~ + b2~ + b3~ + x;
public Remove: nat ==> ()
Remove(x) == if x + b2 <= b3 then b3 := b3 - x elseif x + b1 <= b2 then b2 := b2 - x else b1 := b1 - x pre x <= 5 and x <= b1 + b2 + b3 post b1 + b2 + b3 + x = b1~ + b2~ + b3~;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.