no goals
α : Type u_1
β : Type u_2
γ : Type ?u.17871
δ : Type ?u.17874
R S : α → β → Prop
P : γ → δ → Prop
Rₐ : α → α → Prop
p : α → Prop
u : List β
⊢ Forall₂ (fun a b => p a ∧ R a b) [] u ↔ (∀ (a : α), a ∈ [] → p a) ∧ Forall₂ R [] u
simp only [forall₂_nil_left_iff, forall_prop_of_false (not_mem_nil _), imp_true_iff,
  true_and_iff]
α : Type u_1
β : Type u_2
γ : Type ?u.17871
δ : Type ?u.17874
R S : α → β → Prop
P : γ → δ → Prop
Rₐ : α → α → Prop
p : α → Prop
a : α
l : List α
u : List β
⊢ (p a ∧ ∃ x, R a x ∧ (∀ (a : α), a ∈ l → p a) ∧ ∃ x_1, Forall₂ R l x_1 ∧ u = x :: x_1) ↔
    p a ∧ (∀ (a : α), a ∈ l → p a) ∧ ∃ b, R a b ∧ ∃ x, Forall₂ R l x ∧ u = b :: x
α : Type u_1
β : Type u_2
γ : Type ?u.17871
δ : Type ?u.17874
R S : α → β → Prop
P : γ → δ → Prop
Rₐ : α → α → Prop
p : α → Prop
a : α
l : List α
u : List β
⊢ Forall₂ (fun a b => p a ∧ R a b) (a :: l) u ↔ (∀ (a_1 : α), a_1 ∈ a :: l → p a_1) ∧ Forall₂ R (a :: l) u
simp only [forall₂_and_left l, forall₂_cons_left_iff, forall_mem_cons, and_assoc,
  @and_comm _ (p a), @and_left_comm _ (p a), exists_and_left]
no goals
α : Type u_1
β : Type u_2
γ : Type ?u.17871
δ : Type ?u.17874
R S : α → β → Prop
P : γ → δ → Prop
Rₐ : α → α → Prop
p : α → Prop
a : α
l : List α
u : List β
⊢ (p a ∧ ∃ x, R a x ∧ (∀ (a : α), a ∈ l → p a) ∧ ∃ x_1, Forall₂ R l x_1 ∧ u = x :: x_1) ↔
    p a ∧ (∀ (a : α), a ∈ l → p a) ∧ ∃ b, R a b ∧ ∃ x, Forall₂ R l x ∧ u = b :: x
simp only [and_comm, and_assoc, and_left_comm, ← exists_and_right]