Fixpoint tc_efield_b_norho Delta efs :=
match efs with
| nil => true
| eArraySubsc ei :: efs' =>
(tc_expr_b_norho Delta ei && tc_efield_b_norho Delta efs')%bool
| eStructField _ :: efs' => tc_efield_b_norho Delta efs'
| eUnionField _ :: efs' => tc_efield_b_norho Delta efs'
end.

Lemma tc_efield_b_sound: forall efs Delta rho,
tc_efield_b_norho Delta efs = true -> tc_efield Delta efs rho.