proposition: Theorem fo_form_fin_dec_SAT_fin_discr_dec Σ (A : fol_form Σ) : fo_form_fin_dec_SAT A -> fo_form_fin_discr_dec_SAT A.
proof: Proof. intros H. destruct fo_discrete_removal with (1 := H) (A := A) as (n & Hn); auto. exists (pos n); auto. Qed.
imports: List Arith Lia Undecidability.Shared.Libs.DLW.Utils(utils_tac utils_list finite) Undecidability.Shared.Libs.DLW.Vec(pos vec) Undecidability.FOL.TRAKHTENBROT(notations fol_ops fo_sig fo_terms fo_logic fo_sat discrete)