% @(#)$Id: ArrayIterateProc.lsl,v 1.2 1995/12/24 22:25:22 leavens Exp $ % Iteration of state changes for elements of an array ArrayIterateProc(Loc, Elem): trait assumes SideEffectsFun(Elem) includes Array(Loc, Elem) introduces isIteratedStateFor: Arr[Loc[Elem]], int, int, State, State -> Bool asserts \forall a: Arr[Loc[Elem]], i,ub: int, pre,next,post: State (i >= ub) => isIteratedStateFor(a, i, ub, pre, pre); ((i < ub) /\ isStateFor(eval(a, pre)[i], pre, next) /\ isIteratedStateFor(a, i+1, ub, next, post)) => isIteratedStateFor(a, i, ub, pre, post);
[Index]
HTML generated using lcpp2html.