Theorem: StructureGroupoid.isLocalStructomorphWithinAt_localInvariantProp
File: Mathlib/Geometry/Manifold/LocalInvariantProperties.lean

tactic: intro s x u f hu hux
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
⊢ ∀ {s : Set H} {x : H} {u : Set H} {f : H → H},
    IsOpen u → x ∈ u → (IsLocalStructomorphWithinAt G f s x ↔ IsLocalStructomorphWithinAt G f (s ∩ u) x)

tactic: constructor
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
⊢ IsLocalStructomorphWithinAt G f s x ↔ IsLocalStructomorphWithinAt G f (s ∩ u) x

tactic: rintro h hx
state_before: case mp
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
⊢ IsLocalStructomorphWithinAt G f s x → IsLocalStructomorphWithinAt G f (s ∩ u) x

tactic: rcases h hx.1 with ⟨e, heG, hef, hex⟩
state_before: case mp
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s ∩ u
⊢ ∃ e, e ∈ G ∧ EqOn f (↑e.toLocalEquiv) (s ∩ u ∩ e.source) ∧ x ∈ e.source

tactic: have : s ∩ u ∩ e.source ⊆ s ∩ e.source := by mfld_set_tac
state_before: case mp.intro.intro.intro
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s ∩ u
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
⊢ ∃ e, e ∈ G ∧ EqOn f (↑e.toLocalEquiv) (s ∩ u ∩ e.source) ∧ x ∈ e.source

tactic: exact ⟨e, heG, hef.mono this, hex⟩
state_before: case mp.intro.intro.intro
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s ∩ u
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
this : s ∩ u ∩ e.source ⊆ s ∩ e.source
⊢ ∃ e, e ∈ G ∧ EqOn f (↑e.toLocalEquiv) (s ∩ u ∩ e.source) ∧ x ∈ e.source

tactic: mfld_set_tac
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s ∩ u
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
⊢ s ∩ u ∩ e.source ⊆ s ∩ e.source

tactic: rintro h hx
state_before: case mpr
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
⊢ IsLocalStructomorphWithinAt G f (s ∩ u) x → IsLocalStructomorphWithinAt G f s x

tactic: rcases h ⟨hx, hux⟩ with ⟨e, heG, hef, hex⟩
state_before: case mpr
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
h : IsLocalStructomorphWithinAt G f (s ∩ u) x
hx : x ∈ s
⊢ ∃ e, e ∈ G ∧ EqOn f (↑e.toLocalEquiv) (s ∩ e.source) ∧ x ∈ e.source

tactic: refine' ⟨e.restr (interior u), _, _, _⟩
state_before: case mpr.intro.intro.intro
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
h : IsLocalStructomorphWithinAt G f (s ∩ u) x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ u ∩ e.source)
hex : x ∈ e.source
⊢ ∃ e, e ∈ G ∧ EqOn f (↑e.toLocalEquiv) (s ∩ e.source) ∧ x ∈ e.source

tactic: exact closedUnderRestriction' heG isOpen_interior
state_before: case mpr.intro.intro.intro.refine'_1
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
h : IsLocalStructomorphWithinAt G f (s ∩ u) x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ u ∩ e.source)
hex : x ∈ e.source
⊢ LocalHomeomorph.restr e (interior u) ∈ G

tactic: have : s ∩ u ∩ e.source = s ∩ (e.source ∩ u) := by mfld_set_tac
state_before: case mpr.intro.intro.intro.refine'_2
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
h : IsLocalStructomorphWithinAt G f (s ∩ u) x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ u ∩ e.source)
hex : x ∈ e.source
⊢ EqOn f (↑(LocalHomeomorph.restr e (interior u)).toLocalEquiv)
    (s ∩ (LocalHomeomorph.restr e (interior u)).toLocalEquiv.source)

tactic: simpa only [this, interior_interior, hu.interior_eq, mfld_simps] using hef
state_before: case mpr.intro.intro.intro.refine'_2
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
h : IsLocalStructomorphWithinAt G f (s ∩ u) x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ u ∩ e.source)
hex : x ∈ e.source
this : s ∩ u ∩ e.source = s ∩ (e.source ∩ u)
⊢ EqOn f (↑(LocalHomeomorph.restr e (interior u)).toLocalEquiv)
    (s ∩ (LocalHomeomorph.restr e (interior u)).toLocalEquiv.source)

tactic: mfld_set_tac
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
h : IsLocalStructomorphWithinAt G f (s ∩ u) x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ u ∩ e.source)
hex : x ∈ e.source
⊢ s ∩ u ∩ e.source = s ∩ (e.source ∩ u)

tactic: simp only [*, interior_interior, hu.interior_eq, mfld_simps]
state_before: case mpr.intro.intro.intro.refine'_3
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
u : Set H
f : H → H
hu : IsOpen u
hux : x ∈ u
h : IsLocalStructomorphWithinAt G f (s ∩ u) x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ u ∩ e.source)
hex : x ∈ e.source
⊢ x ∈ (LocalHomeomorph.restr e (interior u)).toLocalEquiv.source

tactic: intro s x f e' he'G he'x h hx
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
⊢ ∀ {s : Set H} {x : H} {f : H → H} {e : LocalHomeomorph H H},
    e ∈ G →
      x ∈ e.source →
        IsLocalStructomorphWithinAt G f s x →
          IsLocalStructomorphWithinAt G (f ∘ ↑(LocalHomeomorph.symm e)) (↑(LocalHomeomorph.symm e) ⁻¹' s) (↑e x)

tactic: have hxs : x ∈ s := by simpa only [e'.left_inv he'x, mfld_simps] using hx
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
he'x : x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : ↑e' x ∈ ↑(LocalHomeomorph.symm e') ⁻¹' s
⊢ ∃ e,
    e ∈ G ∧
      EqOn (f ∘ ↑(LocalHomeomorph.symm e')) (↑e.toLocalEquiv) (↑(LocalHomeomorph.symm e') ⁻¹' s ∩ e.source) ∧
        ↑e' x ∈ e.source

tactic: rcases h hxs with ⟨e, heG, hef, hex⟩
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
he'x : x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : ↑e' x ∈ ↑(LocalHomeomorph.symm e') ⁻¹' s
hxs : x ∈ s
⊢ ∃ e,
    e ∈ G ∧
      EqOn (f ∘ ↑(LocalHomeomorph.symm e')) (↑e.toLocalEquiv) (↑(LocalHomeomorph.symm e') ⁻¹' s ∩ e.source) ∧
        ↑e' x ∈ e.source

tactic: refine' ⟨e'.symm.trans e, G.trans (G.symm he'G) heG, _, _⟩
state_before: case intro.intro.intro
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
he'x : x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : ↑e' x ∈ ↑(LocalHomeomorph.symm e') ⁻¹' s
hxs : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
⊢ ∃ e,
    e ∈ G ∧
      EqOn (f ∘ ↑(LocalHomeomorph.symm e')) (↑e.toLocalEquiv) (↑(LocalHomeomorph.symm e') ⁻¹' s ∩ e.source) ∧
        ↑e' x ∈ e.source

tactic: simpa only [e'.left_inv he'x, mfld_simps] using hx
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
he'x : x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : ↑e' x ∈ ↑(LocalHomeomorph.symm e') ⁻¹' s
⊢ x ∈ s

tactic: intro y hy
state_before: case intro.intro.intro.refine'_1
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
he'x : x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : ↑e' x ∈ ↑(LocalHomeomorph.symm e') ⁻¹' s
hxs : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
⊢ EqOn (f ∘ ↑(LocalHomeomorph.symm e')) (↑(LocalHomeomorph.symm e' ≫ₕ e).toLocalEquiv)
    (↑(LocalHomeomorph.symm e') ⁻¹' s ∩ (LocalHomeomorph.symm e' ≫ₕ e).toLocalEquiv.source)

tactic: simp only [mfld_simps] at hy
state_before: case intro.intro.intro.refine'_1
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
he'x : x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : ↑e' x ∈ ↑(LocalHomeomorph.symm e') ⁻¹' s
hxs : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
y : H
hy : y ∈ ↑(LocalHomeomorph.symm e') ⁻¹' s ∩ (LocalHomeomorph.symm e' ≫ₕ e).toLocalEquiv.source
⊢ (f ∘ ↑(LocalHomeomorph.symm e')) y = ↑(LocalHomeomorph.symm e' ≫ₕ e).toLocalEquiv y

tactic: simp only [hef ⟨hy.1, hy.2.2⟩, mfld_simps]
state_before: case intro.intro.intro.refine'_1
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
he'x : x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : ↑e' x ∈ ↑(LocalHomeomorph.symm e') ⁻¹' s
hxs : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
y : H
hy : ↑(LocalHomeomorph.symm e') y ∈ s ∧ y ∈ e'.target ∧ ↑(LocalHomeomorph.symm e') y ∈ e.source
⊢ (f ∘ ↑(LocalHomeomorph.symm e')) y = ↑(LocalHomeomorph.symm e' ≫ₕ e).toLocalEquiv y

tactic: simp only [hex, he'x, mfld_simps]
state_before: case intro.intro.intro.refine'_2
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
he'x : x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : ↑e' x ∈ ↑(LocalHomeomorph.symm e') ⁻¹' s
hxs : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
⊢ ↑e' x ∈ (LocalHomeomorph.symm e' ≫ₕ e).toLocalEquiv.source

tactic: intro s x f g hfgs _ h hx
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
⊢ ∀ {s : Set H} {x : H} {f g : H → H},
    (∀ (y : H), y ∈ s → f y = g y) →
      f x = g x → IsLocalStructomorphWithinAt G f s x → IsLocalStructomorphWithinAt G g s x

tactic: rcases h hx with ⟨e, heG, hef, hex⟩
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f g : H → H
hfgs : ∀ (y : H), y ∈ s → f y = g y
a✝ : f x = g x
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s
⊢ ∃ e, e ∈ G ∧ EqOn g (↑e.toLocalEquiv) (s ∩ e.source) ∧ x ∈ e.source

tactic: refine' ⟨e, heG, _, hex⟩
state_before: case intro.intro.intro
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f g : H → H
hfgs : ∀ (y : H), y ∈ s → f y = g y
a✝ : f x = g x
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
⊢ ∃ e, e ∈ G ∧ EqOn g (↑e.toLocalEquiv) (s ∩ e.source) ∧ x ∈ e.source

tactic: intro y hy
state_before: case intro.intro.intro
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f g : H → H
hfgs : ∀ (y : H), y ∈ s → f y = g y
a✝ : f x = g x
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
⊢ EqOn g (↑e.toLocalEquiv) (s ∩ e.source)

tactic: rw [← hef hy, hfgs y hy.1]
state_before: case intro.intro.intro
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f g : H → H
hfgs : ∀ (y : H), y ∈ s → f y = g y
a✝ : f x = g x
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
y : H
hy : y ∈ s ∩ e.source
⊢ g y = ↑e.toLocalEquiv y

tactic: intro s x f e' he'G _ hfx h hx
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
⊢ ∀ {s : Set H} {x : H} {f : H → H} {e' : LocalHomeomorph H H},
    e' ∈ G →
      s ⊆ f ⁻¹' e'.source →
        f x ∈ e'.source → IsLocalStructomorphWithinAt G f s x → IsLocalStructomorphWithinAt G (↑e' ∘ f) s x

tactic: rcases h hx with ⟨e, heG, hef, hex⟩
state_before: H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
a✝ : s ⊆ f ⁻¹' e'.source
hfx : f x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s
⊢ ∃ e, e ∈ G ∧ EqOn (↑e' ∘ f) (↑e.toLocalEquiv) (s ∩ e.source) ∧ x ∈ e.source

tactic: refine' ⟨e.trans e', G.trans heG he'G, _, _⟩
state_before: case intro.intro.intro
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
a✝ : s ⊆ f ⁻¹' e'.source
hfx : f x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
⊢ ∃ e, e ∈ G ∧ EqOn (↑e' ∘ f) (↑e.toLocalEquiv) (s ∩ e.source) ∧ x ∈ e.source

tactic: intro y hy
state_before: case intro.intro.intro.refine'_1
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
a✝ : s ⊆ f ⁻¹' e'.source
hfx : f x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
⊢ EqOn (↑e' ∘ f) (↑(e ≫ₕ e').toLocalEquiv) (s ∩ (e ≫ₕ e').toLocalEquiv.source)

tactic: simp only [mfld_simps] at hy
state_before: case intro.intro.intro.refine'_1
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
a✝ : s ⊆ f ⁻¹' e'.source
hfx : f x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
y : H
hy : y ∈ s ∩ (e ≫ₕ e').toLocalEquiv.source
⊢ (↑e' ∘ f) y = ↑(e ≫ₕ e').toLocalEquiv y

tactic: simp only [hef ⟨hy.1, hy.2.1⟩, mfld_simps]
state_before: case intro.intro.intro.refine'_1
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
a✝ : s ⊆ f ⁻¹' e'.source
hfx : f x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
y : H
hy : y ∈ s ∧ y ∈ e.source ∧ ↑e y ∈ e'.source
⊢ (↑e' ∘ f) y = ↑(e ≫ₕ e').toLocalEquiv y

tactic: simpa only [hex, hef ⟨hx, hex⟩, mfld_simps] using hfx
state_before: case intro.intro.intro.refine'_2
H : Type u_1
M : Type ?u.65722
H' : Type ?u.65725
M' : Type ?u.65728
X : Type ?u.65731
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
inst✝ : ClosedUnderRestriction G
s : Set H
x : H
f : H → H
e' : LocalHomeomorph H H
he'G : e' ∈ G
a✝ : s ⊆ f ⁻¹' e'.source
hfx : f x ∈ e'.source
h : IsLocalStructomorphWithinAt G f s x
hx : x ∈ s
e : LocalHomeomorph H H
heG : e ∈ G
hef : EqOn f (↑e.toLocalEquiv) (s ∩ e.source)
hex : x ∈ e.source
⊢ x ∈ (e ≫ₕ e').toLocalEquiv.source