class Sequences { var xs: seq method append(a: int) requires acc(xs) ensures acc(xs) ensures size() == old(size()) + 1 /* verifies */ ensures |xs| == old(|xs|) + 1 /* previously failed */ { xs := xs ++ [a] } /* this heap-independent version also verifies. */ method append0(ins: seq, a: int) returns (outs: seq) ensures |outs| == |ins| + 1 { outs := ins ++ [a] } function size(): int requires rd(xs) { |xs| } }