Definition Sigma := sym (x0/y0 :: R).Definition dollar := fresh Sigma.Notation "#_R" := hash_r.Definition hash := fresh (dollar :: Sigma).

(* Specifications: *)
Lemma P_inv_top x y a : a el Sigma -> ~(a :: x,y) el P.
Lemma tau1_inv (a : nat) B z : tau1 B = a :: z -> exists x y, (a :: x, y) el B.
Lemma tau2_inv (a : nat) B z : tau2 B = a :: z -> exists x y, (y, a :: x) el B.
Lemma MPCP_PCP_cor : MPCP (x0/y0, R) <-> PCP P.