proposition: Lemma In_inv {n} {t} {v : vec term n} : In t v -> (match n return vec term n -> Prop with | 0 => fun _ => False | S n => fun v' => (t = Vector.hd v') \/ (In t (Vector.tl v')) end) v.
proof: Proof. intros []; cbn; tauto. Qed.
imports: Undecidability.Synthetic(Definitions DecidabilityFacts EnumerabilityFacts ListEnumerabilityFacts ReducibilityFacts) Undecidability(Shared.ListAutomation Shared.Dec) Coq(Eqdep_dec PeanoNat) Coq.Vectors.Vector Undecidability.Shared.Libs.PSL.Vectors(Vectors) EqdepFacts