我正在努力提出一个列表子列表的概念,它是通过删除列表中的元素创建的(以便保留顺序)。我需要提出一个归纳命题来确定 l1 是否是 l2 的子列表。
至今:
- 我知道空列表是所有列表的子列表。
- 所有列表都是它们自己的子列表。
- 如果已知 l1 是 l2 的子列表,则将相同列表附加到 l1 和 l2 的头部或尾部的列表将导致前者成为后者的子列表
- 现在是困难的部分。如何提供证据证明 ["x";"y"] 之类的列表是 ["a";"x";"z";"y"] 的子列表?
语法类似于 Inductive Sublist {X : Type} : list X -> list X -> Prop := ..
有人可以帮我吗?