no goals
α : Type u_1
p : α → Bool
b : α
l : List α
a : α
al : a ∈ b :: l
pa : p a = true
pb : p b = true
⊢ b :: l = [] ++ b :: l ∧ eraseP p (b :: l) = [] ++ l
simp [pb]
no goals
α : Type u_1
p : α → Bool
b✝ : α
l : List α
a : α
al✝ : a ∈ b✝ :: l
pa : p a = true
b : α
al : Mem a l
pb : ¬p b = true
c : α
l₁ l₂ : List α
h₁ : ∀ (b : α), b ∈ l₁ → ¬p b = true
h₂ : p c = true
h₃ : l = l₁ ++ c :: l₂
h₄ : eraseP p l = l₁ ++ l₂
⊢ b :: l = b :: l₁ ++ c :: l₂
rw [h₃, cons_append]
no goals
α : Type u_1
p : α → Bool
b✝ : α
l : List α
a : α
al✝ : a ∈ b✝ :: l
pa : p a = true
b : α
al : Mem a l
pb : ¬p b = true
c : α
l₁ l₂ : List α
h₁ : ∀ (b : α), b ∈ l₁ → ¬p b = true
h₂ : p c = true
h₃ : l = l₁ ++ c :: l₂
h₄ : eraseP p l = l₁ ++ l₂
⊢ eraseP p (b :: l) = b :: l₁ ++ l₂
simp [pb, h₄]