proposition: Lemma func_subst_term_comp s rho t : func_subst_respects s -> t`[s/func]`[rho>>var] = t`[rho>>var]`[s/func].
proof: Proof. intros Hresp. induction t in s,rho,Hresp|-*. - easy. - cbn. rewrite Hresp. f_equal. rewrite ! map_map. apply VectorSpec.map_ext_in. intros a Hva. now rewrite IH. Qed.
imports: Undecidability.Synthetic(Definitions DecidabilityFacts EnumerabilityFacts ListEnumerabilityFacts ReducibilityFacts) Undecidability(Shared.ListAutomation Shared.Dec) Coq(Eqdep_dec) Coq.Vectors.Vector Undecidability.Shared.Libs.PSL.Vectors(Vectors) EqdepFacts