let prop_in_data do_exp d =
let d' = match d with
| E2addr _ -> d
| E2depl (p, WpFol.Pfield f) -> E2depl (do_exp p, WpFol.Pfield f)
| E2depl (p, WpFol.Pidx i) -> E2depl (do_exp p, WpFol.Pidx (do_exp i))
| E2proj (p, WpFol.Pfield f) -> E2proj (do_exp p, WpFol.Pfield f)
| E2proj (p, WpFol.Pidx i) -> E2proj (do_exp p, WpFol.Pidx (do_exp i))
| E2shift (p, i) -> E2shift (do_exp p, do_exp i)
| E2load (m, p) -> E2load (do_exp m, do_exp p)
| E2store (m, p, v) -> E2store (do_exp m, do_exp p, do_exp v)
in Fol.Tdata d'