proposition: Fact fo_term_map_ext f g t : (forall x, In x (fo_term_vars t) -> f x = g x) -> fo_term_map f t = fo_term_map g t.
proof: Proof. intros Hfg. do 2 rewrite <- fo_term_subst_map. apply fo_term_subst_ext. intros; f_equal; auto. Qed.
imports: List Arith Lia Eqdep_dec Undecidability.Shared.Libs.DLW.Utils(utils_tac utils_list utils_nat finite) Undecidability.Shared.Libs.DLW.Vec(pos vec) Undecidability.FOL.TRAKHTENBROT(notations utils decidable fol_ops fo_sig)