proposition: Lemma FieldUpdateAction_Equiv: forall p loc st v st', st' = FieldUpdateAction p loc v st -> EquivAssignables p st st'[h:=Heap.update st@h loc v].
proof: Proof. intros. unfold FieldUpdateAction in H. case_eq(isPivot p loc);intro;rewrite H0 in H. subst. unfold EquivAssignables. simpl. apply SavePreState_3. unfold EquivAssignables. simpl. rewrite H. generalize EquivAssignables_2. intros. specialize H1 with p st loc v. apply H1 in H0. trivial. Qed.
imports: Coq(List) JML(Stack) Coq(ListSet) Coq(Bool) Coq(ZArith) Coq(Relation_Operators) JML(ListHelpers) Coq(Classical)