Section ALPHA.
Let EMPTY_INTRO (ps : list (frm L)) : E.fromList ps \subseteq E.empty -> ps = [] :=
match ps with
| [] => fun _ => eq_refl
| p :: ps => fun SUBSET =>
match SUBSET p (or_introl eq_refl) with
end
end.
End ALPHA.
#[global]
Add Parametric Morphism
: proves with signature (eqProp ==> alpha_equiv ==> iff) as proves_alpha_comm.

Lemma for_All_E (x : ivar) (t : trm L) (p : frm L) (Gamma : ensemble (frm L))
(PROVE : Gamma \proves All_frm x p)
: Gamma \proves subst_frm (one_subst x t) p.