Theorem: FiberPrebundle.inducing_totalSpaceMk_of_inducing_comp
File: Mathlib/Topology/FiberBundle/Basic.lean

tactic: letI := a.totalSpaceTopology
state_before: ι : Type ?u.63469
B : Type u_2
F : Type u_3
X : Type ?u.63478
inst✝³ : TopologicalSpace X
E : B → Type u_1
inst✝² : TopologicalSpace B
inst✝¹ : TopologicalSpace F
inst✝ : (x : B) → TopologicalSpace (E x)
a : FiberPrebundle F E
e : Pretrivialization F TotalSpace.proj
b : B
h : Inducing (↑(pretrivializationAt a b) ∘ totalSpaceMk b)
⊢ Inducing (totalSpaceMk b)

tactic: rw [← restrict_comp_codRestrict (a.mem_pretrivializationAt_source b)] at h
state_before: ι : Type ?u.63469
B : Type u_2
F : Type u_3
X : Type ?u.63478
inst✝³ : TopologicalSpace X
E : B → Type u_1
inst✝² : TopologicalSpace B
inst✝¹ : TopologicalSpace F
inst✝ : (x : B) → TopologicalSpace (E x)
a : FiberPrebundle F E
e : Pretrivialization F TotalSpace.proj
b : B
h : Inducing (↑(pretrivializationAt a b) ∘ totalSpaceMk b)
this : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
⊢ Inducing (totalSpaceMk b)

tactic: apply Inducing.of_codRestrict (a.mem_pretrivializationAt_source b)
state_before: ι : Type ?u.63469
B : Type u_2
F : Type u_3
X : Type ?u.63478
inst✝³ : TopologicalSpace X
E : B → Type u_1
inst✝² : TopologicalSpace B
inst✝¹ : TopologicalSpace F
inst✝ : (x : B) → TopologicalSpace (E x)
a : FiberPrebundle F E
e : Pretrivialization F TotalSpace.proj
b : B
h :
  Inducing
    (restrict (pretrivializationAt a b).source ↑(pretrivializationAt a b) ∘
      codRestrict (fun x => totalSpaceMk b x) (pretrivializationAt a b).source
        (_ : ∀ (x : E b), totalSpaceMk b x ∈ (pretrivializationAt a b).source))
this : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
⊢ Inducing (totalSpaceMk b)

tactic: refine inducing_of_inducing_compose ?_ (continuousOn_iff_continuous_restrict.mp
  (a.trivializationOfMemPretrivializationAtlas
    (a.pretrivialization_mem_atlas b)).continuous_toFun) h
state_before: ι : Type ?u.63469
B : Type u_2
F : Type u_3
X : Type ?u.63478
inst✝³ : TopologicalSpace X
E : B → Type u_1
inst✝² : TopologicalSpace B
inst✝¹ : TopologicalSpace F
inst✝ : (x : B) → TopologicalSpace (E x)
a : FiberPrebundle F E
e : Pretrivialization F TotalSpace.proj
b : B
h :
  Inducing
    (restrict (pretrivializationAt a b).source ↑(pretrivializationAt a b) ∘
      codRestrict (fun x => totalSpaceMk b x) (pretrivializationAt a b).source
        (_ : ∀ (x : E b), totalSpaceMk b x ∈ (pretrivializationAt a b).source))
this : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
⊢ Inducing
    (codRestrict (fun a => totalSpaceMk b a) (pretrivializationAt a b).source
      (_ : ∀ (x : E b), totalSpaceMk b x ∈ (pretrivializationAt a b).source))

tactic: exact (a.continuous_totalSpaceMk b).codRestrict (a.mem_pretrivializationAt_source b)
state_before: ι : Type ?u.63469
B : Type u_2
F : Type u_3
X : Type ?u.63478
inst✝³ : TopologicalSpace X
E : B → Type u_1
inst✝² : TopologicalSpace B
inst✝¹ : TopologicalSpace F
inst✝ : (x : B) → TopologicalSpace (E x)
a : FiberPrebundle F E
e : Pretrivialization F TotalSpace.proj
b : B
h :
  Inducing
    (restrict (pretrivializationAt a b).source ↑(pretrivializationAt a b) ∘
      codRestrict (fun x => totalSpaceMk b x) (pretrivializationAt a b).source
        (_ : ∀ (x : E b), totalSpaceMk b x ∈ (pretrivializationAt a b).source))
this : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
⊢ Continuous
    (codRestrict (fun a => totalSpaceMk b a) (pretrivializationAt a b).source
      (_ : ∀ (x : E b), totalSpaceMk b x ∈ (pretrivializationAt a b).source))