Require Export Coq.Lists.List.
Require Vector.
Definition codeLength : nat -> nat :=
evalStrongRec 0
(fun n Hrecs : nat =>
switchPR n (S (codeNth (n - S (cPairPi2 (pred n))) Hrecs)) 0).

Lemma codeInCorrect :
forall (a : nat) (l : list nat),
codeIn a (codeList l) =
match In_dec eq_nat_dec a l with
| left _ => 1
| right _ => 0
end.