Section COMPOSITE_ENV.
Context (cenv: composite_env)
(cenv_consistent: composite_env_consistent cenv).

(* Specifications: *)
Lemma type_ind: forall P : type -> Prop,
(forall t,
match t with
| Tarray t0 _ _ => P t0
| Tstruct id _
| Tunion id _ => match cenv ! id with
| Some co => Forall (Basics.compose P snd) (co_members co)
| _ => True
end
| _ => True
end -> P t) ->
forall t, P t.