Как я могу доказать следующую тривиальную лемму:равенства индуктивных типов
Require Import Vector.
Lemma t0_nil: forall A (x:t A 0), x = nil A.
Proof.
Qed.
FAQ рекомендует decide equality
и discriminate
тактики, но я не мог найти способ применить любого из них. Для справки, здесь индуктивное определение:
Inductive t A : nat -> Type :=
|nil : t A 0
|cons : forall (h:A) (n:nat), t A n -> t A (S n).
Элегантным решение Пьера Boutillier, взятым из этого [Кока-клуб поста] (http://coq-club.inria.narkive.com/wrDwvaNY/how-to -prove-that-all-vectors-of-0-length-are-equal-to-vector-nil # post2): 'Определение t0_nil A (x: t A 0): x = nil A: = соответствие x с nil _ => eq_refl end.' –