proposition: Lemma subst_consts_ident Y zeta s: (forall x: Y, x ∈ consts s -> zeta x = const x) -> subst_consts zeta s = s.
proof: Proof. intros; induction s in zeta, H |-*; cbn; trivial. eapply H; cbn; tauto. rewrite IHs; trivial. unfold funcomp; now intros x -> % H. rewrite IHs1, IHs2; trivial. all: intros; apply H; cbn; simplify; intuition. Qed.
imports: Morphisms Lia List Undecidability.HOU(calculus.calculus)