Во-первых, я не уверен, какую версию Coq вы используете, синтаксис, безусловно, выглядит странно. В-третьих, нам трудно помочь, если вы не покажете нам доказательства, которые у вас есть. Я должен сказать, что на самом деле ваша стратегия кажется правильной, вам следует уничтожить оба списка, хотя лучше, если вы сначала проверите или посмотрите, какой список не пуст.
Другой вариант - использовать вычисления, чтобы показать вашу лемму, в этом случае будет вычислено равенство, и, таким образом, вы получите результат сравнения. В этом случае достаточно уничтожить только один список из-за порядка или аргументов:
From mathcomp Require Import all_ssreflect.
Lemma not_empty (A : eqType) (a b : seq A) :
[|| a != [::] | b != [::]] -> a ++ b != [::].
Proof. by case: a. Qed.