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))