Section SUBST. (* Reference: "https://github.com/princeton-vl/CoqGym/blob/master/coq_projects/goedel/subAll.v" *)
Fixpoint close_from (a : nat) (n : nat) (p : frm L) {struct n} : frm L :=
match n with
| O => p
| S m => All_frm (a + m) (close_from a m p)
end.

Lemma close_from_alpha (a : nat) (n : nat) (p : frm L) (p' : frm L)
(ALPHA : p ≡ p')
: close_from a n p ≡ close_from a n p'.