fact: Fixpoint func_subst {Σ_funcs2} {ff:falsity_flag} (s : forall (f : Σ_funcs1), Vector.t (@term Σ_funcs2) (ar_syms f) -> @term Σ_funcs2) (f : @form Σ_funcs1 _ _ _) {struct f} : @form Σ_funcs2 _ _ _ := match f with falsity => falsity | atom _ _ P v => atom _ _ P (map (func_subst_term s) v) | bin _ _ b phi psi => bin _ _ b (func_subst s phi) (func_subst s psi) | quant _ _ q phi => quant _ _ q (func_subst s phi) end.
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