Theorem: StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2
File: Mathlib/Geometry/Manifold/LocalInvariantProperties.lean

tactic: have hcont : ContinuousWithinAt (f ∘ g) s x := (f.continuousAt xf).comp_continuousWithinAt hgs
state_before: H : Type u_1
M : Type ?u.18883
H' : Type u_2
M' : Type u_3
X : Type ?u.18892
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g✝ g' : M → M'
s✝ t : Set M
x✝ : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
g : H → M'
x : H
s : Set H
hf : f ∈ maximalAtlas M' G'
xf : g x ∈ f.source
hf' : f' ∈ maximalAtlas M' G'
xf' : g x ∈ f'.source
hgs : ContinuousWithinAt g s x
⊢ P (↑f ∘ g) s x ↔ P (↑f' ∘ g) s x

tactic: rw [← hG.left_invariance (compatible_of_mem_maximalAtlas hf hf') hcont
    (by simp only [xf, xf', mfld_simps])]
state_before: H : Type u_1
M : Type ?u.18883
H' : Type u_2
M' : Type u_3
X : Type ?u.18892
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g✝ g' : M → M'
s✝ t : Set M
x✝ : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
g : H → M'
x : H
s : Set H
hf : f ∈ maximalAtlas M' G'
xf : g x ∈ f.source
hf' : f' ∈ maximalAtlas M' G'
xf' : g x ∈ f'.source
hgs : ContinuousWithinAt g s x
hcont : ContinuousWithinAt (↑f ∘ g) s x
⊢ P (↑f ∘ g) s x ↔ P (↑f' ∘ g) s x

tactic: refine' hG.congr_iff_nhdsWithin _ (by simp only [xf, mfld_simps])
state_before: H : Type u_1
M : Type ?u.18883
H' : Type u_2
M' : Type u_3
X : Type ?u.18892
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g✝ g' : M → M'
s✝ t : Set M
x✝ : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
g : H → M'
x : H
s : Set H
hf : f ∈ maximalAtlas M' G'
xf : g x ∈ f.source
hf' : f' ∈ maximalAtlas M' G'
xf' : g x ∈ f'.source
hgs : ContinuousWithinAt g s x
hcont : ContinuousWithinAt (↑f ∘ g) s x
⊢ P (↑(LocalHomeomorph.symm f ≫ₕ f') ∘ ↑f ∘ g) s x ↔ P (↑f' ∘ g) s x

tactic: exact (hgs.eventually <| f.eventually_left_inverse xf).mono fun y ↦ congr_arg f'
state_before: H : Type u_1
M : Type ?u.18883
H' : Type u_2
M' : Type u_3
X : Type ?u.18892
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g✝ g' : M → M'
s✝ t : Set M
x✝ : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
g : H → M'
x : H
s : Set H
hf : f ∈ maximalAtlas M' G'
xf : g x ∈ f.source
hf' : f' ∈ maximalAtlas M' G'
xf' : g x ∈ f'.source
hgs : ContinuousWithinAt g s x
hcont : ContinuousWithinAt (↑f ∘ g) s x
⊢ ↑(LocalHomeomorph.symm f ≫ₕ f') ∘ ↑f ∘ g =ᶠ[𝓝[s] x] ↑f' ∘ g

tactic: simp only [xf, xf', mfld_simps]
state_before: H : Type u_1
M : Type ?u.18883
H' : Type u_2
M' : Type u_3
X : Type ?u.18892
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g✝ g' : M → M'
s✝ t : Set M
x✝ : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
g : H → M'
x : H
s : Set H
hf : f ∈ maximalAtlas M' G'
xf : g x ∈ f.source
hf' : f' ∈ maximalAtlas M' G'
xf' : g x ∈ f'.source
hgs : ContinuousWithinAt g s x
hcont : ContinuousWithinAt (↑f ∘ g) s x
⊢ (↑f ∘ g) x ∈ (LocalHomeomorph.symm f ≫ₕ f').toLocalEquiv.source

tactic: simp only [xf, mfld_simps]
state_before: H : Type u_1
M : Type ?u.18883
H' : Type u_2
M' : Type u_3
X : Type ?u.18892
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g✝ g' : M → M'
s✝ t : Set M
x✝ : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
g : H → M'
x : H
s : Set H
hf : f ∈ maximalAtlas M' G'
xf : g x ∈ f.source
hf' : f' ∈ maximalAtlas M' G'
xf' : g x ∈ f'.source
hgs : ContinuousWithinAt g s x
hcont : ContinuousWithinAt (↑f ∘ g) s x
⊢ (↑(LocalHomeomorph.symm f ≫ₕ f') ∘ ↑f ∘ g) x = (↑f' ∘ g) x