proposition: Theorem BPCP_valid : PCPb R <-> valid F.
proof: Proof. rewrite PCPb_iff_dPCPb. split. - intros [u H] D I rho. eapply (@drv_val _ I) in H. unfold F. cbn in *. rewrite !impl_sat in *. cbn in *. intros. eapply (H2 (eval rho (enc u))). eauto. - intros H. apply IB_F with (rho := fun _ => nil), H. Qed.
imports: Undecidability.PCP(PCP Util.PCP_facts) Undecidability.FOL(Deduction.FragmentNDFacts Semantics.Tarski.FragmentFacts Semantics.Tarski.FragmentSoundness Syntax.Core Syntax.Facts) Undecidability.FOL(FOL) Undecidability.Synthetic(Definitions DecidabilityFacts EnumerabilityFacts ReducibilityFacts MoreReducibilityFacts) Undecidability.PCP.Reductions.PCPb_iff_dPCPb Undecidability(Shared.ListAutomation)