Notation u := 0.Notation v := 1.Definition prep (x : string bool) (t : term) : term := fold_right t_f t x.Definition iprep domain eta {I : interp domain eta} (x : list bool) (y : domain) := fold_right i_f y x.Definition enc s := (prep s t_e).Definition F1 := map (fun '(x,y) => Pr (enc x) (enc y)) R.

Theorem BPCP_valid : BPCP R <-> valid F.