Section pure_term.
(* (* pure lambda-terms M, N, .. *)
Inductive pure_term : Type :=
| pure_var : nat -> pure_term
| pure_app : pure_term -> pure_term -> pure_term
| pure_abs : pure_term -> pure_term.
*)

Lemma congr_pure_app  { s0 : pure_term   } { s1 : pure_term   } { t0 : pure_term   } { t1 : pure_term   } : ( s0 = t0 ) -> ( s1 = t1 ) -> pure_app  s0 s1 = pure_app  t0 t1 .