私は、ほとんど自明に見えるこれらの証明に問題があります。
たとえば、帰納的なケースで、タイトルのプロパティを想定して表示したい場合:
length (h'::h::l) = 1 + length (h::l)
ここからどこへ行けばいいですか?それは明らかに真実ですが、ある種の補題を証明せずにどのような手順を踏むことができるかわかりません。たとえば、私は言うことができます
length ([h']@(h::l)) = 1 + length (h::l)
しかし今、私は次の線に沿って何かを証明しなければなりません
length (l1@l2) = length l1 + length l2
補題を証明する必要があるとき、特にほとんど自明に見える証明では、理解に苦しんでいます。