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

tactic: rw [liftPropWithinAt_self_target, LiftPropWithinAt, and_congr_right_iff]
state_before: H : Type u_3
M : Type u_4
H' : Type u_1
M' : Type u_2
X : Type ?u.27125
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'
hf : f ∈ maximalAtlas M' G'
xf : g x ∈ f.source
⊢ LiftPropWithinAt P g s x ↔ ContinuousWithinAt g s x ∧ LiftPropWithinAt P (↑f ∘ g) s x

tactic: intro hg
state_before: H : Type u_3
M : Type u_4
H' : Type u_1
M' : Type u_2
X : Type ?u.27125
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'
hf : f ∈ maximalAtlas M' G'
xf : g x ∈ f.source
⊢ ContinuousWithinAt g s x →
    (P (↑(chartAt H' (g x)) ∘ g ∘ ↑(LocalHomeomorph.symm (chartAt H x))) (↑(LocalHomeomorph.symm (chartAt H x)) ⁻¹' s)
        (↑(chartAt H x) x) ↔
      ContinuousWithinAt (↑f ∘ g) s x ∧
        P ((↑f ∘ g) ∘ ↑(LocalHomeomorph.symm (chartAt H x))) (↑(LocalHomeomorph.symm (chartAt H x)) ⁻¹' s)
          (↑(chartAt H x) x))

tactic: simp_rw [(f.continuousAt xf).comp_continuousWithinAt hg, true_and_iff]
state_before: H : Type u_3
M : Type u_4
H' : Type u_1
M' : Type u_2
X : Type ?u.27125
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'
hf : f ∈ maximalAtlas M' G'
xf : g x ∈ f.source
hg : ContinuousWithinAt g s x
⊢ P (↑(chartAt H' (g x)) ∘ g ∘ ↑(LocalHomeomorph.symm (chartAt H x))) (↑(LocalHomeomorph.symm (chartAt H x)) ⁻¹' s)
      (↑(chartAt H x) x) ↔
    ContinuousWithinAt (↑f ∘ g) s x ∧
      P ((↑f ∘ g) ∘ ↑(LocalHomeomorph.symm (chartAt H x))) (↑(LocalHomeomorph.symm (chartAt H x)) ⁻¹' s)
        (↑(chartAt H x) x)

tactic: exact hG.liftPropWithinAt_indep_chart_target_aux (mem_chart_source _ _)
  (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) hf xf hg
state_before: H : Type u_3
M : Type u_4
H' : Type u_1
M' : Type u_2
X : Type ?u.27125
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'
hf : f ∈ maximalAtlas M' G'
xf : g x ∈ f.source
hg : ContinuousWithinAt g s x
⊢ P (↑(chartAt H' (g x)) ∘ g ∘ ↑(LocalHomeomorph.symm (chartAt H x))) (↑(LocalHomeomorph.symm (chartAt H x)) ⁻¹' s)
      (↑(chartAt H x) x) ↔
    P ((↑f ∘ g) ∘ ↑(LocalHomeomorph.symm (chartAt H x))) (↑(LocalHomeomorph.symm (chartAt H x)) ⁻¹' s)
      (↑(chartAt H x) x)