proposition: Lemma map_nth_seq {X : Type} (l : list X) d : map (fun i => nth i l d) (seq 0 (length l)) = l.
proof: Proof. elim: l; first done. move=> ? ? IH /=. by rewrite -seq_shift map_map IH. Qed.
imports: Undecidability.IntersectionTypes.CD Undecidability.IntersectionTypes.Util.CD_facts Undecidability.StringRewriting.SSTS Undecidability.LambdaCalculus.Util.term_facts Relations List PeanoNat Lia ssreflect ssrfun