Theorem: IsPreirreducible.image
File: Mathlib/Topology/SubsetProperties.lean

tactic: rintro u v hu hv ⟨_, ⟨⟨x, hx, rfl⟩, hxu⟩⟩ ⟨_, ⟨⟨y, hy, rfl⟩, hyv⟩⟩
state_before: α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
⊢ IsPreirreducible (f '' s)

tactic: rw [← mem_preimage] at hxu hyv
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : f x ∈ u
y : α
hy : y ∈ s
hyv : f y ∈ v
⊢ Set.Nonempty (f '' s ∩ (u ∩ v))

tactic: rcases continuousOn_iff'.1 hf u hu with ⟨u', hu', u'_eq⟩
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
⊢ Set.Nonempty (f '' s ∩ (u ∩ v))

tactic: rcases continuousOn_iff'.1 hf v hv with ⟨v', hv', v'_eq⟩
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
⊢ Set.Nonempty (f '' s ∩ (u ∩ v))

tactic: have := H u' v' hu' hv'
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
⊢ Set.Nonempty (f '' s ∩ (u ∩ v))

tactic: rw [inter_comm s u', ← u'_eq] at this
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
this : Set.Nonempty (s ∩ u') → Set.Nonempty (s ∩ v') → Set.Nonempty (s ∩ (u' ∩ v'))
⊢ Set.Nonempty (f '' s ∩ (u ∩ v))

tactic: rw [inter_comm s v', ← v'_eq] at this
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
this : Set.Nonempty (f ⁻¹' u ∩ s) → Set.Nonempty (s ∩ v') → Set.Nonempty (s ∩ (u' ∩ v'))
⊢ Set.Nonempty (f '' s ∩ (u ∩ v))

tactic: rcases this ⟨x, hxu, hx⟩ ⟨y, hyv, hy⟩ with ⟨z, hzs, hzu', hzv'⟩
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
this : Set.Nonempty (f ⁻¹' u ∩ s) → Set.Nonempty (f ⁻¹' v ∩ s) → Set.Nonempty (s ∩ (u' ∩ v'))
⊢ Set.Nonempty (f '' s ∩ (u ∩ v))

tactic: refine' ⟨f z, mem_image_of_mem f hzs, _, _⟩
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
this : Set.Nonempty (f ⁻¹' u ∩ s) → Set.Nonempty (f ⁻¹' v ∩ s) → Set.Nonempty (s ∩ (u' ∩ v'))
z : α
hzs : z ∈ s
hzu' : z ∈ u'
hzv' : z ∈ v'
⊢ Set.Nonempty (f '' s ∩ (u ∩ v))

tactic: all_goals
  rw [← mem_preimage]
  apply mem_of_mem_inter_left
  show z ∈ _ ∩ s
  simp [*]
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_1
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
this : Set.Nonempty (f ⁻¹' u ∩ s) → Set.Nonempty (f ⁻¹' v ∩ s) → Set.Nonempty (s ∩ (u' ∩ v'))
z : α
hzs : z ∈ s
hzu' : z ∈ u'
hzv' : z ∈ v'
⊢ f z ∈ u

case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
this : Set.Nonempty (f ⁻¹' u ∩ s) → Set.Nonempty (f ⁻¹' v ∩ s) → Set.Nonempty (s ∩ (u' ∩ v'))
z : α
hzs : z ∈ s
hzu' : z ∈ u'
hzv' : z ∈ v'
⊢ f z ∈ v

tactic: rw [← mem_preimage]
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
this : Set.Nonempty (f ⁻¹' u ∩ s) → Set.Nonempty (f ⁻¹' v ∩ s) → Set.Nonempty (s ∩ (u' ∩ v'))
z : α
hzs : z ∈ s
hzu' : z ∈ u'
hzv' : z ∈ v'
⊢ f z ∈ v

tactic: apply mem_of_mem_inter_left
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
this : Set.Nonempty (f ⁻¹' u ∩ s) → Set.Nonempty (f ⁻¹' v ∩ s) → Set.Nonempty (s ∩ (u' ∩ v'))
z : α
hzs : z ∈ s
hzu' : z ∈ u'
hzv' : z ∈ v'
⊢ z ∈ f ⁻¹' v

tactic: show z ∈ _ ∩ s
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2.h
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
this : Set.Nonempty (f ⁻¹' u ∩ s) → Set.Nonempty (f ⁻¹' v ∩ s) → Set.Nonempty (s ∩ (u' ∩ v'))
z : α
hzs : z ∈ s
hzu' : z ∈ u'
hzv' : z ∈ v'
⊢ z ∈ f ⁻¹' v ∩ ?intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2.b

case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2.b
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
this : Set.Nonempty (f ⁻¹' u ∩ s) → Set.Nonempty (f ⁻¹' v ∩ s) → Set.Nonempty (s ∩ (u' ∩ v'))
z : α
hzs : z ∈ s
hzu' : z ∈ u'
hzv' : z ∈ v'
⊢ Set α

tactic: simp [*]
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2.h
α : Type u
β : Type v
ι : Type ?u.188216
π : ι → Type ?u.188221
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
H : IsPreirreducible s
f : α → β
hf : ContinuousOn f s
u v : Set β
hu : IsOpen u
hv : IsOpen v
x : α
hx : x ∈ s
hxu : x ∈ f ⁻¹' u
y : α
hy : y ∈ s
hyv : y ∈ f ⁻¹' v
u' : Set α
hu' : IsOpen u'
u'_eq : f ⁻¹' u ∩ s = u' ∩ s
v' : Set α
hv' : IsOpen v'
v'_eq : f ⁻¹' v ∩ s = v' ∩ s
this : Set.Nonempty (f ⁻¹' u ∩ s) → Set.Nonempty (f ⁻¹' v ∩ s) → Set.Nonempty (s ∩ (u' ∩ v'))
z : α
hzs : z ∈ s
hzu' : z ∈ u'
hzv' : z ∈ v'
⊢ z ∈ f ⁻¹' v ∩ s