specialize IH this nodup_tail
case cons.true
α : Type u
β : Type v
inst✝ : DecidableEq α
p : α → Bool
a : α
l : List α
IH : ∀ {l' : List α}, l ⊆ l' → Nodup l → countP p l ≤ countP p l'
l' : List α
hsub : a :: l ⊆ l'
nodup : Nodup (a :: l)
nodup_head : ∀ (a' : α), a' ∈ l → a ≠ a'
nodup_tail : Nodup l
hpa : p a = true
l'' : List α := List.erase l' a
this : l ⊆ l''
⊢ countP p l + 1 ≤ countP p l'
case cons.true
α : Type u
β : Type v
inst✝ : DecidableEq α
p : α → Bool
a : α
l l' : List α
hsub : a :: l ⊆ l'
nodup : Nodup (a :: l)
nodup_head : ∀ (a' : α), a' ∈ l → a ≠ a'
nodup_tail : Nodup l
hpa : p a = true
l'' : List α := List.erase l' a
this : l ⊆ l''
IH : countP p l ≤ countP p l''
⊢ countP p l + 1 ≤ countP p l'