proposition: Lemma subst_id {ff : falsity_flag} (phi : form) sigma : (forall n, sigma n = var n) -> phi[sigma] = phi.
proof: Proof. induction phi in sigma |- *; cbn; intros H. - reflexivity. - f_equal. erewrite map_ext; try apply map_id. intros s. now apply subst_term_id. - now erewrite IHphi1, IHphi2. - erewrite IHphi; trivial. now apply up_var. Qed.
imports: Undecidability.Synthetic(Definitions DecidabilityFacts EnumerabilityFacts ListEnumerabilityFacts ReducibilityFacts) Undecidability(Shared.ListAutomation Shared.Dec) Coq(Eqdep_dec PeanoNat Nat) Coq.Vectors.Vector Undecidability.Shared.Libs.PSL.Vectors(Vectors) EqdepFacts