proposition: Theorem ex_fun_bool_decidable : decidable (exists P, K P).
proof: Proof. Proof using HK H2 H1 Dec. assert (H : decidable (exists P, T P)). { apply ex_fun_pos_bool_decidable; auto. } destruct H as [ H | H ]; [ left | right ]. + destruct H as (P & H). exists (fun x => P (i x)); auto. + contradict H. destruct H as (P & H). exists (fun p => P (j p)). revert H; apply HK. intro; rewrite Hji; auto. Qed.
imports: List Arith Bool Eqdep_dec Undecidability.Synthetic.Definitions Undecidability.Synthetic.ReducibilityFacts Undecidability.Synthetic.InformativeDefinitions Undecidability.Synthetic.InformativeReducibilityFacts Undecidability.Shared.Libs.DLW.Utils(utils_tac utils_list utils_nat finite) Undecidability.Shared.Libs.DLW.Vec(pos vec) Undecidability.FOL.TRAKHTENBROT(notations utils fol_ops)