let prop_in_data do_exp d =
let do_path ch = match ch with
| WpFol.Pfield _ -> ch
| WpFol.Pidx i -> WpFol.Pidx (do_exp i)
in match d with
| E1addr _ -> Fol.Tdata d
| E1indir e -> access (do_exp e)
| E1proj (e, ch) -> Fol.Tdata (E1proj (do_exp e, do_path ch))
| E1depl (e, ch) -> Fol.Tdata (E1depl (do_exp e, do_path ch))
| E1shift (e, i) -> Fol.Tdata (E1shift (do_exp e, do_exp i))
| E1mu (e, ch, x) -> Fol.Tdata (E1mu (do_exp e, do_path ch, do_exp x))
| E1muI (e, x) -> Fol.Tdata (E1muI (do_exp e, do_exp x))