let rec eq_data d1 d2 =
let eq_exp = Fol.eq_term eq_data in
let rec eq d1 d2 = match d1, d2 with
| E0addr v1, E0addr v2 -> v1.Cil_types.lv_id = v2.Cil_types.lv_id
| E0addr _, _ -> false
| E0proj (e1, ch1), E0proj (e2, ch2) ->
eq_exp e1 e2 && WpFol.eq_epath eq_exp ch1 ch2
| E0proj _, _ -> false
| E0depl (e1, ch1), E0depl (e2, ch2) ->
eq_exp e1 e2 && WpFol.eq_epath eq_exp ch1 ch2
| E0depl _, _ -> false
| E0shift (e1, i1), E0shift (e2, i2) ->
eq_exp e1 e2 && eq_exp i1 i2
| E0shift _, _ -> false
| E0mu (e1, ch1, x1), E0mu (e2, ch2, x2) ->
eq_exp e1 e2 && WpFol.eq_epath eq_exp ch1 ch2 && eq_exp x1 x2
| E0mu _, _ -> false
in eq d1 d2