(* ----- close ----------------- *)

(* Specifications: *)
Lemma close_tm_erase_all : ∀ x : tmvar,
(∀ (a : tm)         k, close_tm_rec k x (erase a) = erase (close_tm_rec k x a)) /\
(∀ (b : brs)        k, close_tm_rec k x (erase b) = erase (close_tm_rec k x b)) /\
(∀ _ : co, True) /\
(∀ (c : constraint) k, close_tm_rec k x (erase c) = erase (close_tm_rec k x c)).
Lemma close_co_erase_all : ∀ x : covar,
(∀ (a : tm)         k, close_co_rec k x (erase a) = erase (close_co_rec k x a)) /\
(∀ (b : brs)        k, close_co_rec k x (erase b) = erase (close_co_rec k x b)) /\
(∀ _ : co, True) /\
(∀ (c : constraint) k, close_co_rec k x (erase c) = erase (close_co_rec k x c)).