fact: Definition SavePreState (p : Program) (h : Heap.t) (pivot : Location) (assignable: LocSet.t * LocSet.t) : (LocSet.t * LocSet.t) := if LocSet.mem pivot (fst assignable) then assignable else let fields := AssignablePivotTargets p h pivot assignable in (LocSet.add pivot (fst assignable), LocSet.union fields (snd assignable)).
imports: Coq(List) JML(Stack) Coq(ListSet) Coq(Bool) Coq(ZArith) Coq(Relation_Operators) JML(ListHelpers) Coq(Classical)