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

tactic: suffices h : Q (e ∘ e.symm) univ x
state_before: H : Type u_1
M : Type u_2
H' : Type ?u.56211
M' : Type ?u.56214
X : Type ?u.56217
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
inst✝ : HasGroupoid M G
x : H
hG : LocalInvariantProp G G Q
hQ : ∀ (y : H), Q id univ y
he : e ∈ maximalAtlas M G
hx : x ∈ e.target
⊢ LiftPropAt Q (↑(LocalHomeomorph.symm e)) x

tactic: exact hG.congr' (e.eventually_right_inverse hx) (hQ x)
state_before: case h
H : Type u_1
M : Type u_2
H' : Type ?u.56211
M' : Type ?u.56214
X : Type ?u.56217
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
inst✝ : HasGroupoid M G
x : H
hG : LocalInvariantProp G G Q
hQ : ∀ (y : H), Q id univ y
he : e ∈ maximalAtlas M G
hx : x ∈ e.target
⊢ Q (↑e ∘ ↑(LocalHomeomorph.symm e)) univ x

tactic: have : e.symm x ∈ e.source := by simp only [hx, mfld_simps]
state_before: H : Type u_1
M : Type u_2
H' : Type ?u.56211
M' : Type ?u.56214
X : Type ?u.56217
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
inst✝ : HasGroupoid M G
x : H
hG : LocalInvariantProp G G Q
hQ : ∀ (y : H), Q id univ y
he : e ∈ maximalAtlas M G
hx : x ∈ e.target
h : Q (↑e ∘ ↑(LocalHomeomorph.symm e)) univ x
⊢ LiftPropAt Q (↑(LocalHomeomorph.symm e)) x

tactic: rw [LiftPropAt, hG.liftPropWithinAt_indep_chart G.id_mem_maximalAtlas (mem_univ _) he this]
state_before: H : Type u_1
M : Type u_2
H' : Type ?u.56211
M' : Type ?u.56214
X : Type ?u.56217
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
inst✝ : HasGroupoid M G
x : H
hG : LocalInvariantProp G G Q
hQ : ∀ (y : H), Q id univ y
he : e ∈ maximalAtlas M G
hx : x ∈ e.target
h : Q (↑e ∘ ↑(LocalHomeomorph.symm e)) univ x
this : ↑(LocalHomeomorph.symm e) x ∈ e.source
⊢ LiftPropAt Q (↑(LocalHomeomorph.symm e)) x

tactic: refine' ⟨(e.symm.continuousAt hx).continuousWithinAt, _⟩
state_before: H : Type u_1
M : Type u_2
H' : Type ?u.56211
M' : Type ?u.56214
X : Type ?u.56217
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
inst✝ : HasGroupoid M G
x : H
hG : LocalInvariantProp G G Q
hQ : ∀ (y : H), Q id univ y
he : e ∈ maximalAtlas M G
hx : x ∈ e.target
h : Q (↑e ∘ ↑(LocalHomeomorph.symm e)) univ x
this : ↑(LocalHomeomorph.symm e) x ∈ e.source
⊢ ContinuousWithinAt (↑(LocalHomeomorph.symm e)) univ x ∧
    Q (↑e ∘ ↑(LocalHomeomorph.symm e) ∘ ↑(LocalHomeomorph.symm (LocalHomeomorph.refl H)))
      (↑(LocalHomeomorph.symm (LocalHomeomorph.refl H)) ⁻¹' univ) (↑(LocalHomeomorph.refl H) x)

tactic: simp only [h, mfld_simps]
state_before: H : Type u_1
M : Type u_2
H' : Type ?u.56211
M' : Type ?u.56214
X : Type ?u.56217
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
inst✝ : HasGroupoid M G
x : H
hG : LocalInvariantProp G G Q
hQ : ∀ (y : H), Q id univ y
he : e ∈ maximalAtlas M G
hx : x ∈ e.target
h : Q (↑e ∘ ↑(LocalHomeomorph.symm e)) univ x
this : ↑(LocalHomeomorph.symm e) x ∈ e.source
⊢ Q (↑e ∘ ↑(LocalHomeomorph.symm e) ∘ ↑(LocalHomeomorph.symm (LocalHomeomorph.refl H)))
    (↑(LocalHomeomorph.symm (LocalHomeomorph.refl H)) ⁻¹' univ) (↑(LocalHomeomorph.refl H) x)

tactic: simp only [hx, mfld_simps]
state_before: H : Type u_1
M : Type u_2
H' : Type ?u.56211
M' : Type ?u.56214
X : Type ?u.56217
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
inst✝ : HasGroupoid M G
x : H
hG : LocalInvariantProp G G Q
hQ : ∀ (y : H), Q id univ y
he : e ∈ maximalAtlas M G
hx : x ∈ e.target
h : Q (↑e ∘ ↑(LocalHomeomorph.symm e)) univ x
⊢ ↑(LocalHomeomorph.symm e) x ∈ e.source