proposition: Lemma Nth_cons_match : forall n l x y, Nth n (y::l) x = match n with | O => x = y | S n' => Nth (S n') (y::l) x end.
proof: Proof. Proof using. intros. extens. destruct n as [|n']. { iff M. inverts~ M. subst~. } { iff M. inverts~ M. subst~. } Qed.
imports: Coq.Classes.Morphisms TLC(LibTactics LibLogic LibReflect LibOperation LibProd LibOption LibNat LibInt LibWf LibMonoid LibRelation)