intros d r  h l x_i H. unfold f'. unfold M. unfold p. unfold p_in_Z_w. simpl. apply d_i_r_i_eq; fold p_in_Z_w; fold M; fold p.
assumption. omega. assumption. assumption. assumption. assumption. assumption. assumption. Qed.

(* Specifications: *)
Lemma P'f'x : forall (d r : Z_ (2 ^ w)) (n : nat),
P M p d r (x / 2 ^ ((Z_of_nat n + 2) * w)) (x_ (S n)) ->
P M p (fst (f' (d, r) (x_ n))) (snd (f' (d, r) (x_ n))) (x / 2 ^ ((Z_of_nat n + 1) * w)) (x_ n).