Section STABILITY.
Variables env env': composite_env.
Hypothesis extends: forall id co, env!id = Some co -> env'!id = Some co.
End STABILITY.
(*not needed as func_tycontext'_eqv is not needed Section TYCON_SUB. Variables Delta Delta': tycontext. Hypothesis extends: tycontext_sub Delta Delta'.  Lemma func_tycontext'_sub: forall f, tycontext_sub (func_tycontext' f Delta) (func_tycontext' f Delta').  End TYCON_SUB. *)
(*Eliminated -- not needed  Section TYCON_EQUIV.  Variable Delta Delta': tycontext. Hypothesis equiv: tycontext_eqv Delta Delta'.  Lemma func_tycontext'_eqv: forall f, tycontext_eqv (func_tycontext' f Delta) (func_tycontext' f Delta').  End TYCON_EQUIV. *)
(* Lemma tycontext_eqv_sub: forall Delta Delta', tycontext_eqv Delta Delta' -> tycontext_sub Delta Delta'. *)
Record ret_assert : Type := {
RA_normal: environ->mpred;
RA_break: environ->mpred;
RA_continue: environ->mpred;
RA_return: option val -> environ->mpred
}.

Lemma modifiedvars_Sifthenelse b c1 c2 id: modifiedvars (Sifthenelse b c1 c2) id <-> modifiedvars c1 id \/ modifiedvars c2 id.