Definition efield_beq a b :=
match a, b with
| eStructField x, eStructField y => eqb_ident x y
| eUnionField x, eUnionField y => eqb_ident x y
| eArraySubsc x, eArraySubsc y => expr_beq x y
| _, _ => false
end.

Lemma efield_beq_spec: forall a b, efield_beq a b = true <-> a = b.