Theorem: ContinuousMap.HomotopyRel.pi_apply
File: Mathlib/Topology/Homotopy/Product.lean

Proof steps:
state_before: I : Type u_1
A : Type u_2
X : I → Type u_3
inst✝¹ : (i : I) → TopologicalSpace (X i)
inst✝ : TopologicalSpace A
f g : (i : I) → C(A, X i)
S : Set A
homotopies : (i : I) → (f i).HomotopyRel (g i) S
⊢ ∀ (t : ↑unitInterval),
    ∀ x ∈ S, { toFun := fun x => __src✝.toFun (t, x), continuous_toFun := ⋯ } x = (ContinuousMap.pi f) x
state_after: I : Type u_1
A : Type u_2
X : I → Type u_3
inst✝¹ : (i : I) → TopologicalSpace (X i)
inst✝ : TopologicalSpace A
f g : (i : I) → C(A, X i)
S : Set A
homotopies : (i : I) → (f i).HomotopyRel (g i) S
t : ↑unitInterval
x : A
hx : x ∈ S
⊢ { toFun := fun x => __src✝.toFun (t, x), continuous_toFun := ⋯ } x = (ContinuousMap.pi f) x
tactic: intro t x hx
state_before: I : Type u_1
A : Type u_2
X : I → Type u_3
inst✝¹ : (i : I) → TopologicalSpace (X i)
inst✝ : TopologicalSpace A
f g : (i : I) → C(A, X i)
S : Set A
homotopies : (i : I) → (f i).HomotopyRel (g i) S
t : ↑unitInterval
x : A
hx : x ∈ S
⊢ { toFun := fun x => __src✝.toFun (t, x), continuous_toFun := ⋯ } x = (ContinuousMap.pi f) x
state_after: I : Type u_1
A : Type u_2
X : I → Type u_3
inst✝¹ : (i : I) → TopologicalSpace (X i)
inst✝ : TopologicalSpace A
f g : (i : I) → C(A, X i)
S : Set A
homotopies : (i : I) → (f i).HomotopyRel (g i) S
t : ↑unitInterval
x : A
hx : x ∈ S
⊢ (Homotopy.pi fun i => (homotopies i).toHomotopy).toContinuousMap (t, x) = fun i => (f i) x
tactic: dsimp only [coe_mk, pi_eval, toFun_eq_coe, HomotopyWith.coe_toContinuousMap]
state_before: I : Type u_1
A : Type u_2
X : I → Type u_3
inst✝¹ : (i : I) → TopologicalSpace (X i)
inst✝ : TopologicalSpace A
f g : (i : I) → C(A, X i)
S : Set A
homotopies : (i : I) → (f i).HomotopyRel (g i) S
t : ↑unitInterval
x : A
hx : x ∈ S
⊢ (Homotopy.pi fun i => (homotopies i).toHomotopy).toContinuousMap (t, x) = fun i => (f i) x
state_after: I : Type u_1
A : Type u_2
X : I → Type u_3
inst✝¹ : (i : I) → TopologicalSpace (X i)
inst✝ : TopologicalSpace A
f g : (i : I) → C(A, X i)
S : Set A
homotopies : (i : I) → (f i).HomotopyRel (g i) S
t : ↑unitInterval
x : A
hx : x ∈ S
⊢ ∀ (a : I), (Homotopy.pi fun i => (homotopies i).toHomotopy).toContinuousMap (t, x) a = (f a) x
tactic: simp only [Function.funext_iff, ← forall_and]
state_before: I : Type u_1
A : Type u_2
X : I → Type u_3
inst✝¹ : (i : I) → TopologicalSpace (X i)
inst✝ : TopologicalSpace A
f g : (i : I) → C(A, X i)
S : Set A
homotopies : (i : I) → (f i).HomotopyRel (g i) S
t : ↑unitInterval
x : A
hx : x ∈ S
⊢ ∀ (a : I), (Homotopy.pi fun i => (homotopies i).toHomotopy).toContinuousMap (t, x) a = (f a) x
state_after: I : Type u_1
A : Type u_2
X : I → Type u_3
inst✝¹ : (i : I) → TopologicalSpace (X i)
inst✝ : TopologicalSpace A
f g : (i : I) → C(A, X i)
S : Set A
homotopies : (i : I) → (f i).HomotopyRel (g i) S
t : ↑unitInterval
x : A
hx : x ∈ S
i : I
⊢ (Homotopy.pi fun i => (homotopies i).toHomotopy).toContinuousMap (t, x) i = (f i) x
tactic: intro i
state_before: I : Type u_1
A : Type u_2
X : I → Type u_3
inst✝¹ : (i : I) → TopologicalSpace (X i)
inst✝ : TopologicalSpace A
f g : (i : I) → C(A, X i)
S : Set A
homotopies : (i : I) → (f i).HomotopyRel (g i) S
t : ↑unitInterval
x : A
hx : x ∈ S
i : I
⊢ (Homotopy.pi fun i => (homotopies i).toHomotopy).toContinuousMap (t, x) i = (f i) x
state_after: no goals
tactic: exact (homotopies i).prop' t x hx