. intros hforward x hx
  induction hx with
  | head as =>
    simp [foldr] at hforward
    apply And.left hforward
  | tail a h ih =>
    apply ih
    simp [foldr] at hforward
    apply And.right hforward
case mp
α : Type u_1
p : α → Prop
inst✝ : DecidablePred p
xs : List α
⊢ foldr (fun a r => decide (p a) && r) true xs = true → ∀ (x : α), x ∈ xs → p x

case mpr
α : Type u_1
p : α → Prop
inst✝ : DecidablePred p
xs : List α
⊢ (∀ (x : α), x ∈ xs → p x) → foldr (fun a r => decide (p a) && r) true xs = true
case mpr
α : Type u_1
p : α → Prop
inst✝ : DecidablePred p
xs : List α
⊢ (∀ (x : α), x ∈ xs → p x) → foldr (fun a r => decide (p a) && r) true xs = true