Theorem: Inducing.isSeparable_preimage
File: Mathlib/Topology/MetricSpace/Pseudo/Defs.lean

Proof steps:
state_before: α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ
s✝ : Set α
f : β → α
inst✝ : TopologicalSpace β
hf : Inducing f
s : Set α
hs : IsSeparable s
⊢ IsSeparable (f ⁻¹' s)
state_after: α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ
s✝ : Set α
f : β → α
inst✝ : TopologicalSpace β
hf : Inducing f
s : Set α
hs : IsSeparable s
this : SeparableSpace ↑s
⊢ IsSeparable (f ⁻¹' s)
tactic: have : SeparableSpace s := hs.separableSpace
state_before: α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ
s✝ : Set α
f : β → α
inst✝ : TopologicalSpace β
hf : Inducing f
s : Set α
hs : IsSeparable s
this : SeparableSpace ↑s
⊢ IsSeparable (f ⁻¹' s)
state_after: α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ
s✝ : Set α
f : β → α
inst✝ : TopologicalSpace β
hf : Inducing f
s : Set α
hs : IsSeparable s
this✝ : SeparableSpace ↑s
this : SecondCountableTopology ↑s
⊢ IsSeparable (f ⁻¹' s)
tactic: have : SecondCountableTopology s := UniformSpace.secondCountable_of_separable _
state_before: α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ
s✝ : Set α
f : β → α
inst✝ : TopologicalSpace β
hf : Inducing f
s : Set α
hs : IsSeparable s
this✝ : SeparableSpace ↑s
this : SecondCountableTopology ↑s
⊢ IsSeparable (f ⁻¹' s)
state_after: α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ
s✝ : Set α
f : β → α
inst✝ : TopologicalSpace β
hf : Inducing f
s : Set α
hs : IsSeparable s
this✝¹ : SeparableSpace ↑s
this✝ : SecondCountableTopology ↑s
this : Inducing (MapsTo.restrict f (f ⁻¹' s) s ⋯)
⊢ IsSeparable (f ⁻¹' s)
tactic: have : Inducing ((mapsTo_preimage f s).restrict _ _ _) :=
    (hf.comp inducing_subtype_val).codRestrict _
state_before: α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ
s✝ : Set α
f : β → α
inst✝ : TopologicalSpace β
hf : Inducing f
s : Set α
hs : IsSeparable s
this✝¹ : SeparableSpace ↑s
this✝ : SecondCountableTopology ↑s
this : Inducing (MapsTo.restrict f (f ⁻¹' s) s ⋯)
⊢ IsSeparable (f ⁻¹' s)
state_after: α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ
s✝ : Set α
f : β → α
inst✝ : TopologicalSpace β
hf : Inducing f
s : Set α
hs : IsSeparable s
this✝² : SeparableSpace ↑s
this✝¹ : SecondCountableTopology ↑s
this✝ : Inducing (MapsTo.restrict f (f ⁻¹' s) s ⋯)
this : SecondCountableTopology ↑(f ⁻¹' s)
⊢ IsSeparable (f ⁻¹' s)
tactic: have := this.secondCountableTopology
state_before: α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ
s✝ : Set α
f : β → α
inst✝ : TopologicalSpace β
hf : Inducing f
s : Set α
hs : IsSeparable s
this✝² : SeparableSpace ↑s
this✝¹ : SecondCountableTopology ↑s
this✝ : Inducing (MapsTo.restrict f (f ⁻¹' s) s ⋯)
this : SecondCountableTopology ↑(f ⁻¹' s)
⊢ IsSeparable (f ⁻¹' s)
state_after: no goals
tactic: exact .of_subtype _