Theorem: Set.image2_image2_left
File: Mathlib/Data/Set/NAry.lean

tactic: ext
state_before: α : Type u_4
α' : Type ?u.31876
β : Type u_5
β' : Type ?u.31882
γ : Type u_3
γ' : Type ?u.31888
δ : Type u_2
δ' : Type ?u.31894
ε : Type u_1
ε' : Type ?u.31900
ζ : Type ?u.31903
ζ' : Type ?u.31906
ν : Type ?u.31909
f✝ f' : α → β → γ
g✝ g' : α → β → γ → δ
s s' : Set α
t t' : Set β
u u' : Set γ
v : Set δ
a a' : α
b b' : β
c c' : γ
d d' : δ
f : δ → γ → ε
g : α → β → δ
⊢ image2 f (image2 g s t) u = image3 (fun a b c => f (g a b) c) s t u

tactic: constructor
state_before: case h
α : Type u_4
α' : Type ?u.31876
β : Type u_5
β' : Type ?u.31882
γ : Type u_3
γ' : Type ?u.31888
δ : Type u_2
δ' : Type ?u.31894
ε : Type u_1
ε' : Type ?u.31900
ζ : Type ?u.31903
ζ' : Type ?u.31906
ν : Type ?u.31909
f✝ f' : α → β → γ
g✝ g' : α → β → γ → δ
s s' : Set α
t t' : Set β
u u' : Set γ
v : Set δ
a a' : α
b b' : β
c c' : γ
d d' : δ
f : δ → γ → ε
g : α → β → δ
x✝ : ε
⊢ x✝ ∈ image2 f (image2 g s t) u ↔ x✝ ∈ image3 (fun a b c => f (g a b) c) s t u

tactic: rintro ⟨_, c, ⟨a, b, ha, hb, rfl⟩, hc, rfl⟩
state_before: case h.mp
α : Type u_4
α' : Type ?u.31876
β : Type u_5
β' : Type ?u.31882
γ : Type u_3
γ' : Type ?u.31888
δ : Type u_2
δ' : Type ?u.31894
ε : Type u_1
ε' : Type ?u.31900
ζ : Type ?u.31903
ζ' : Type ?u.31906
ν : Type ?u.31909
f✝ f' : α → β → γ
g✝ g' : α → β → γ → δ
s s' : Set α
t t' : Set β
u u' : Set γ
v : Set δ
a a' : α
b b' : β
c c' : γ
d d' : δ
f : δ → γ → ε
g : α → β → δ
x✝ : ε
⊢ x✝ ∈ image2 f (image2 g s t) u → x✝ ∈ image3 (fun a b c => f (g a b) c) s t u

tactic: refine' ⟨a, b, c, ha, hb, hc, rfl⟩
state_before: case h.mp.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_4
α' : Type ?u.31876
β : Type u_5
β' : Type ?u.31882
γ : Type u_3
γ' : Type ?u.31888
δ : Type u_2
δ' : Type ?u.31894
ε : Type u_1
ε' : Type ?u.31900
ζ : Type ?u.31903
ζ' : Type ?u.31906
ν : Type ?u.31909
f✝ f' : α → β → γ
g✝ g' : α → β → γ → δ
s s' : Set α
t t' : Set β
u u' : Set γ
v : Set δ
a✝ a' : α
b✝ b' : β
c✝ c' : γ
d d' : δ
f : δ → γ → ε
g : α → β → δ
c : γ
a : α
b : β
ha : a ∈ s
hb : b ∈ t
hc : c ∈ u
⊢ f (g a b) c ∈ image3 (fun a b c => f (g a b) c) s t u

tactic: rintro ⟨a, b, c, ha, hb, hc, rfl⟩
state_before: case h.mpr
α : Type u_4
α' : Type ?u.31876
β : Type u_5
β' : Type ?u.31882
γ : Type u_3
γ' : Type ?u.31888
δ : Type u_2
δ' : Type ?u.31894
ε : Type u_1
ε' : Type ?u.31900
ζ : Type ?u.31903
ζ' : Type ?u.31906
ν : Type ?u.31909
f✝ f' : α → β → γ
g✝ g' : α → β → γ → δ
s s' : Set α
t t' : Set β
u u' : Set γ
v : Set δ
a a' : α
b b' : β
c c' : γ
d d' : δ
f : δ → γ → ε
g : α → β → δ
x✝ : ε
⊢ x✝ ∈ image3 (fun a b c => f (g a b) c) s t u → x✝ ∈ image2 f (image2 g s t) u

tactic: refine' ⟨_, c, ⟨a, b, ha, hb, rfl⟩, hc, rfl⟩
state_before: case h.mpr.intro.intro.intro.intro.intro.intro
α : Type u_4
α' : Type ?u.31876
β : Type u_5
β' : Type ?u.31882
γ : Type u_3
γ' : Type ?u.31888
δ : Type u_2
δ' : Type ?u.31894
ε : Type u_1
ε' : Type ?u.31900
ζ : Type ?u.31903
ζ' : Type ?u.31906
ν : Type ?u.31909
f✝ f' : α → β → γ
g✝ g' : α → β → γ → δ
s s' : Set α
t t' : Set β
u u' : Set γ
v : Set δ
a✝ a' : α
b✝ b' : β
c✝ c' : γ
d d' : δ
f : δ → γ → ε
g : α → β → δ
a : α
b : β
c : γ
ha : a ∈ s
hb : b ∈ t
hc : c ∈ u
⊢ (fun a b c => f (g a b) c) a b c ∈ image2 f (image2 g s t) u