我必须证明:
i < Datatypes.length (l0 ++ f :: nil) -> H
我对i < Datatypes.length l0
和i = Datatypes.length l0
有一个单独的假设。
答案 0 :(得分:3)
Require Import Arith.
SearchAbout lt le.
给了我(除其他外):
le_lt_or_eq: forall n m : nat, n <= m -> n < m \/ n = m
现在。您有i < S k
,相当于S i <= S k
,您想要i <= k
。所以你需要在每一方都剥离S
。
SearchAbout le S.
给了我(除其他外):
le_S_n: forall n m : nat, S n <= S m -> n <= m
通过将两者结合起来,您应该能够证明自己的目标:
Goal forall i k, i < S k -> i < k \/ i = k.
intros i k iltSk.
apply le_lt_or_eq.
apply le_S_n.
assumption.
Qed.