Имея эту теорему:
Lemma all_count T (a : pred T) s :
all a s = (count a s == size s).
Proof.
elim: s=> [| x xs IH] //. case E: (a x)=> /=; rewrite E.
- rewrite addnC. rewrite addn1. rewrite eqSS. by rewrite -IH.
- rewrite addnC=> /=. rewrite addn0. rewrite -size_filter.
Я получил это состояние:
T : Type
a : pred T
x : T
xs : seq T
IH : all a xs = (count a xs == size xs)
E : a x = false
============================
false = (size [seq x <- xs | a x] == (size xs).+1)
Как я могу доказать, что size [seq x <- xs | a x]
всегда меньше (size xs).+1)
? Таким образом, их равенство всегда ложно.