From Undecidability.TM Require Hoare.
Local Arguments skipn { A } !n !l.
Local Arguments plus : simpl never.
Local Arguments mult : simpl never.
Local Arguments Encode_list : simpl never.
Local Arguments Encode_nat : simpl never.
Set Default Proof Using "Type".

Lemma pair_eq (A B : Type) (a1 a2 : A) (b1 b2 : B) :
(a1, b1) = (a2, b2) ->
a1 = a2 /\ b1 = b2.