fact: Fixpoint compSubstSubst_exp (sigmaexp : fin -> exp ) (tauexp : fin -> exp ) (thetaexp : fin -> exp ) (Eqexp : forall x, (funcomp (subst_exp tauexp) sigmaexp) x = thetaexp x) (s : exp ) : subst_exp tauexp (subst_exp sigmaexp s) = subst_exp thetaexp s := match s with | var_exp s => Eqexp s | const s0 => congr_const (eq_refl s0) | lam s0 => congr_lam (compSubstSubst_exp (up_exp_exp sigmaexp) (up_exp_exp tauexp) (up_exp_exp thetaexp) (up_subst_subst_exp_exp (_) (_) (_) Eqexp) s0) | app s0 s1 => congr_app (compSubstSubst_exp sigmaexp tauexp thetaexp Eqexp s0) (compSubstSubst_exp sigmaexp tauexp thetaexp Eqexp s1) end.
imports: Undecidability.HOU(std.std)