fact: Definition PivotTargets (p : Program) (pivot : Location) : list FieldSignature := match pivot with | Heap.InstanceField pivot_obj pivot_fsig => match findField p pivot_fsig with | Some pivot_f => let dgs_dyn := filter (fun dg => DATA_GROUP.isDynamic dg) (FIELD.dataGroups pivot_f) in let fsigs_option := (map (fun dg => match (DATA_GROUP.pivotTarget dg) with | Some (FieldDg fsig) => Some fsig | _ => None end) dgs_dyn) in option_list2list fsigs_option | _ => [] end | _ => [] end.
imports: Coq(List) JML(Stack) Coq(ListSet) Coq(Bool) Coq(ZArith) Coq(Relation_Operators) JML(ListHelpers) Coq(Classical) Coq(DecidableType) Coq(FSetInterface) Coq(FSetProperties) Coq(FSetEqProperties) Coq(FSetFacts) Coq(Sumbool) Coq(Lia)