Definition add_case_pptrofs t si :=
if Archi.ptr64 then Cop.add_case_pl t else Cop.add_case_pi t si.

Lemma array_op_facts: forall ei rho t_root e efs gfs tts t n a t0 p,
legal_nested_efield_rec t_root gfs tts = true ->
type_almost_match e t_root (LR_of_type t_root) = true ->
is_int_type (typeof ei) = true ->
nested_field_type t_root gfs = Tarray t n a ->
field_compatible t_root gfs p ->
efield_denote efs gfs rho ->
(exists si, Cop.classify_add (typeof (nested_efield e efs tts)) (typeof ei) = Cop.add_case_pi t si) /\
isBinOpResultType Cop.Oadd (nested_efield e efs tts) ei (tptr t0) = tc_isptr (nested_efield e efs tts).