Module NatList.
Inductive natprod : Type :=
| pair : nat -> nat -> natprod.
Instance dec_natprod (p q : natprod) : Dec (p = q).
Admitted. (* QuickChick surjective_pairing. *)
Admitted. (* QuickChick snd_fst_is_swap. *)
Admitted. (* QuickChick fst_swap_is_snd. *)
Inductive natlist : Type :=
| nil  : natlist
| cons : nat -> natlist -> natlist.
Instance dec_natlist (p q : natlist) : Dec (p = q).

Theorem tl_length_pred : forall l:natlist,
pred (length l) = length (tl l).