proposition: Lemma rm_const_fm_subst (sigma : nat -> term') (phi : form) : (rm_const_fm phi)[sigma] = rm_const_fm phi[sigma >> embed_t].
proof: Proof. induction phi in sigma |- *; cbn; trivial; try destruct P. - rewrite (vec_inv2 t). cbn. now rewrite up_sshift1, !rm_const_tm_subst. - rewrite (vec_inv2 t). cbn. now rewrite up_sshift1, !rm_const_tm_subst. - congruence. - rewrite IHphi. f_equal. erewrite subst_ext. reflexivity. intros []; trivial. unfold funcomp. cbn. unfold funcomp. now destruct (sigma n) as [x|[]]. Qed.
imports: Undecidability.FOL.Syntax.Facts Undecidability.FOL.Syntax.Asimpl Undecidability.FOL.Semantics.Tarski.FullFacts Undecidability.FOL.Deduction.FullNDFacts Undecidability.FOL.Sets(binZF ZF) Undecidability.FOL.Reductions.PCPb_to_ZF Undecidability(Shared.ListAutomation) Morphisms Undecidability.FOL(Reductions.PCPb_to_ZFeq)