(* Lemma classify_add_add_case_pi: forall ei ty t n a si, match typeof ei with Tint _ si' _ => si=si' | _ => False end -> typeconv (Tarray t n a) = typeconv ty -> Cop.classify_add ty (typeof ei) = Cop.add_case_pi t si. *)

(* Specifications: *)
Lemma isBinOpResultType_add_ptr_ptrofs: forall e t n a t0 ei,
is_ptrofs_type (typeof ei) = true ->
typeconv (Tarray t0 n a) = typeconv (typeof e) ->
complete_legal_cosu_type t0 = true ->
eqb_type (typeof e) int_or_ptr_type = false ->
isBinOpResultType Cop.Oadd e ei (tptr t) = tc_isptr e.
Lemma isBinOpResultType_add_ptr: forall e t n a t0 ei,
is_int_type (typeof ei) = true ->
typeconv (Tarray t0 n a) = typeconv (typeof e) ->
complete_legal_cosu_type t0 = true ->
eqb_type (typeof e) int_or_ptr_type = false ->
isBinOpResultType Cop.Oadd e ei (tptr t) = tc_isptr e.