geometry.manifold.local_invariant_propertiesMathlib.Geometry.Manifold.LocalInvariantProperties

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

feat(geometry/manifold/sheaf/basic): sheaf of functions satisfying a local_invariant_prop (#19146)

Define structure_groupoid.local_invariant_prop.sheaf, the sheaf-of-types of functions f : M → M' (for charted spaces M, M') satisfying some local property in the sense of structure_groupoid.local_invariant_prop (for example continuity, differentiability, smoothness).

Diff
@@ -48,7 +48,7 @@ in the one for `lift_prop_within_at`.
 noncomputable theory
 open_locale classical manifold topology
 
-open set filter
+open set filter topological_space
 
 variables {H M H' M' X : Type*}
 variables [topological_space H] [topological_space M] [charted_space H M]
@@ -569,6 +569,28 @@ begin
   exact λ x, hG.congr' ((chart_at H x).eventually_right_inverse $ mem_chart_target H x) (hQ _)
 end
 
+lemma lift_prop_at_iff_comp_inclusion (hG : local_invariant_prop G G' P) {U V : opens M}
+  (hUV : U ≤ V) (f : V → M') (x : U) :
+  lift_prop_at P f (set.inclusion hUV x) ↔ lift_prop_at P (f ∘ set.inclusion hUV : U → M') x :=
+begin
+  congrm _ ∧ _,
+  { simp [continuous_within_at_univ,
+      (topological_space.opens.open_embedding_of_le hUV).continuous_at_iff] },
+  { apply hG.congr_iff,
+    exact (topological_space.opens.chart_at_inclusion_symm_eventually_eq hUV).fun_comp
+      (chart_at H' (f (set.inclusion hUV x)) ∘ f) },
+end
+
+lemma lift_prop_inclusion {Q : (H → H) → (set H) → H → Prop} (hG : local_invariant_prop G G Q)
+  (hQ : ∀ y, Q id univ y) {U V : opens M} (hUV : U ≤ V) :
+  lift_prop Q (set.inclusion hUV : U → V) :=
+begin
+  intro x,
+  show lift_prop_at Q (id ∘ inclusion hUV) x,
+  rw ← hG.lift_prop_at_iff_comp_inclusion hUV,
+  apply hG.lift_prop_id hQ,
+end
+
 end local_invariant_prop
 
 section local_structomorph

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(first ported)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -93,7 +93,7 @@ namespace LocalInvariantProp
 theorem congr_set {s t : Set H} {x : H} {f : H → H'} (hu : s =ᶠ[𝓝 x] t) : P f s x ↔ P f t x :=
   by
   obtain ⟨o, host, ho, hxo⟩ := mem_nhds_iff.mp hu.mem_iff
-  simp_rw [subset_def, mem_set_of, ← and_congr_left_iff, ← mem_inter_iff, ← Set.ext_iff] at host 
+  simp_rw [subset_def, mem_set_of, ← and_congr_left_iff, ← mem_inter_iff, ← Set.ext_iff] at host
   rw [hG.is_local ho hxo, host, ← hG.is_local ho hxo]
 #align structure_groupoid.local_invariant_prop.congr_set StructureGroupoid.LocalInvariantProp.congr_set
 -/
@@ -158,9 +158,9 @@ theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : PartialHomeomor
       e'.symm.open_source.mem_nhds <| e'.maps_to hxe'
   constructor
   · intro h
-    rw [hG.is_local_nhds h3f] at h 
+    rw [hG.is_local_nhds h3f] at h
     have h2 := hG.left_invariance' (G'.symm he') (inter_subset_right _ _) (e'.maps_to hxe') h
-    rw [← hG.is_local_nhds h3f] at h2 
+    rw [← hG.is_local_nhds h3f] at h2
     refine' hG.congr_nhds_within _ (e'.left_inv hxe') h2
     exact eventually_of_mem h2f fun x' => e'.left_inv
   · simp_rw [hG.is_local_nhds h2f]
@@ -174,7 +174,7 @@ theorem right_invariance {s : Set H} {x : H} {f : H → H'} {e : PartialHomeomor
   by
   refine' ⟨fun h => _, hG.right_invariance' he hxe⟩
   have := hG.right_invariance' (G.symm he) (e.maps_to hxe) h
-  rw [e.symm_symm, e.left_inv hxe] at this 
+  rw [e.symm_symm, e.left_inv hxe] at this
   refine' hG.congr _ ((hG.congr_set _).mp this)
   · refine' eventually_of_mem (e.open_source.mem_nhds hxe) fun x' hx' => _
     simp_rw [Function.comp_apply, e.left_inv hx']
@@ -353,7 +353,7 @@ theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : PartialHomeo
     (hf' : f' ∈ G'.maximalAtlas M') (xf' : g x ∈ f'.source) (hgs : ContinuousWithinAt g s x) :
     P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P (f' ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) :=
   by
-  rw [← e.left_inv xe] at xf xf' hgs 
+  rw [← e.left_inv xe] at xf xf' hgs
   refine' hG.lift_prop_within_at_indep_chart_target_aux2 (g ∘ e.symm) hf xf hf' xf' _
   exact hgs.comp (e.symm.continuous_at <| e.maps_to xe).ContinuousWithinAt subset.rfl
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux
@@ -394,7 +394,7 @@ theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maxi
     LiftPropWithinAt P g s x ↔ LiftPropWithinAt P (g ∘ e.symm) (e.symm ⁻¹' s) (e x) :=
   by
   have := e.symm.continuous_within_at_iff_continuous_within_at_comp_right xe
-  rw [e.symm_symm] at this 
+  rw [e.symm_symm] at this
   rw [lift_prop_within_at_self_source, lift_prop_within_at, ← this]
   simp_rw [Function.comp_apply, e.left_inv xe]
   refine' and_congr Iff.rfl _
@@ -467,7 +467,7 @@ theorem liftPropWithinAt_inter (ht : t ∈ 𝓝 x) :
 
 #print StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAt /-
 theorem liftPropAt_of_liftPropWithinAt (h : LiftPropWithinAt P g s x) (hs : s ∈ 𝓝 x) :
-    LiftPropAt P g x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs] at h 
+    LiftPropAt P g x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs] at h
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAt
 -/
 
@@ -484,7 +484,7 @@ theorem liftPropOn_of_locally_liftPropOn
   intro x hx
   rcases h x hx with ⟨u, u_open, xu, hu⟩
   have := hu x ⟨hx, xu⟩
-  rwa [hG.lift_prop_within_at_inter] at this 
+  rwa [hG.lift_prop_within_at_inter] at this
   exact IsOpen.mem_nhds u_open xu
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOn
 -/
@@ -578,7 +578,7 @@ theorem liftPropWithinAt_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆
   by
   refine' ⟨h.1.mono hts, _⟩
   apply mono (fun y hy => _) h.2
-  simp only [mfld_simps] at hy 
+  simp only [mfld_simps] at hy
   simp only [hy, hts _, mfld_simps]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono
 -/
@@ -587,7 +587,7 @@ theorem liftPropWithinAt_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆
 theorem liftPropWithinAt_of_liftPropAt (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropAt P g x) : LiftPropWithinAt P g s x :=
   by
-  rw [← lift_prop_within_at_univ] at h 
+  rw [← lift_prop_within_at_univ] at h
   exact lift_prop_within_at_mono mono h (subset_univ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt
 -/
@@ -603,7 +603,7 @@ theorem liftPropOn_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s →
 theorem liftPropOn_of_liftProp (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftProp P g) : LiftPropOn P g s :=
   by
-  rw [← lift_prop_on_univ] at h 
+  rw [← lift_prop_on_univ] at h
   exact lift_prop_on_mono mono h (subset_univ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_lift_prop StructureGroupoid.LocalInvariantProp.liftPropOn_of_liftProp
 -/
@@ -781,7 +781,7 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
       rcases h hxs with ⟨e, heG, hef, hex⟩
       refine' ⟨e'.symm.trans e, G.trans (G.symm he'G) heG, _, _⟩
       · intro y hy
-        simp only [mfld_simps] at hy 
+        simp only [mfld_simps] at hy
         simp only [hef ⟨hy.1, hy.2.2⟩, mfld_simps]
       · simp only [hex, he'x, mfld_simps]
     congr_of_forall := by
@@ -795,7 +795,7 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
       rcases h hx with ⟨e, heG, hef, hex⟩
       refine' ⟨e.trans e', G.trans heG he'G, _, _⟩
       · intro y hy
-        simp only [mfld_simps] at hy 
+        simp only [mfld_simps] at hy
         simp only [hef ⟨hy.1, hy.2.1⟩, mfld_simps]
       · simpa only [hex, hef ⟨hx, hex⟩, mfld_simps] using hfx }
 #align structure_groupoid.is_local_structomorph_within_at_local_invariant_prop StructureGroupoid.isLocalStructomorphWithinAt_localInvariantProp
@@ -871,7 +871,7 @@ theorem HasGroupoid.comp
       rintro _ _ ⟨e, f, he, hf, rfl⟩ ⟨e', f', he', hf', rfl⟩
       apply G₁.locality
       intro x hx
-      simp only [mfld_simps] at hx 
+      simp only [mfld_simps] at hx
       have hxs : x ∈ f.symm ⁻¹' (e.symm ≫ₕ e').source := by simp only [hx, mfld_simps]
       have hxs' : x ∈ f.target ∩ f.symm ⁻¹' ((e.symm ≫ₕ e').source ∩ e.symm ≫ₕ e' ⁻¹' f'.source) :=
         by simp only [hx, mfld_simps]
@@ -879,7 +879,7 @@ theorem HasGroupoid.comp
         local_invariant_prop.lift_prop_on_indep_chart
           (is_local_structomorph_within_at_local_invariant_prop G₁) (G₁.subset_maximal_atlas hf)
           (G₁.subset_maximal_atlas hf') (H _ (G₂.compatible he he')) hxs' hxs
-      simp_rw [← PartialHomeomorph.coe_trans, PartialHomeomorph.trans_assoc] at hφ 
+      simp_rw [← PartialHomeomorph.coe_trans, PartialHomeomorph.trans_assoc] at hφ
       simp_rw [PartialHomeomorph.trans_symm_eq_symm_trans_symm, PartialHomeomorph.trans_assoc]
       have hs : IsOpen (f.symm ≫ₕ e.symm ≫ₕ e' ≫ₕ f').source :=
         (f.symm ≫ₕ e.symm ≫ₕ e' ≫ₕ f').open_source
Diff
@@ -74,11 +74,11 @@ to charted spaces admitting these groupoids will inherit the good behavior. -/
 structure LocalInvariantProp (P : (H → H') → Set H → H → Prop) : Prop where
   is_local : ∀ {s x u} {f : H → H'}, IsOpen u → x ∈ u → (P f s x ↔ P f (s ∩ u) x)
   right_invariance' :
-    ∀ {s x f} {e : LocalHomeomorph H H},
+    ∀ {s x f} {e : PartialHomeomorph H H},
       e ∈ G → x ∈ e.source → P f s x → P (f ∘ e.symm) (e.symm ⁻¹' s) (e x)
   congr_of_forall : ∀ {s x} {f g : H → H'}, (∀ y ∈ s, f y = g y) → f x = g x → P f s x → P g s x
   left_invariance' :
-    ∀ {s x f} {e' : LocalHomeomorph H' H'},
+    ∀ {s x f} {e' : PartialHomeomorph H' H'},
       e' ∈ G' → s ⊆ f ⁻¹' e'.source → f x ∈ e'.source → P f s x → P (e' ∘ f) s x
 #align structure_groupoid.local_invariant_prop StructureGroupoid.LocalInvariantProp
 -/
@@ -148,7 +148,7 @@ theorem congr' {s : Set H} {x : H} {f g : H → H'} (h : f =ᶠ[𝓝 x] g) (hP :
 -/
 
 #print StructureGroupoid.LocalInvariantProp.left_invariance /-
-theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : LocalHomeomorph H' H'}
+theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : PartialHomeomorph H' H'}
     (he' : e' ∈ G') (hfs : ContinuousWithinAt f s x) (hxe' : f x ∈ e'.source) :
     P (e' ∘ f) s x ↔ P f s x :=
   by
@@ -169,7 +169,7 @@ theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : LocalHomeomorph
 -/
 
 #print StructureGroupoid.LocalInvariantProp.right_invariance /-
-theorem right_invariance {s : Set H} {x : H} {f : H → H'} {e : LocalHomeomorph H H} (he : e ∈ G)
+theorem right_invariance {s : Set H} {x : H} {f : H → H'} {e : PartialHomeomorph H H} (he : e ∈ G)
     (hxe : x ∈ e.source) : P (f ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P f s x :=
   by
   refine' ⟨fun h => _, hG.right_invariance' he hxe⟩
@@ -252,8 +252,8 @@ open ChartedSpace
 
 namespace StructureGroupoid
 
-variable {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}
+variable {G : StructureGroupoid H} {G' : StructureGroupoid H'} {e e' : PartialHomeomorph M H}
+  {f f' : PartialHomeomorph 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}
 
 #print StructureGroupoid.liftPropWithinAt_univ /-
@@ -307,7 +307,7 @@ theorem liftPropWithinAt_iff {f : M → M'} :
   by
   refine' and_congr_right fun hf => hG.congr_set _
   exact
-    LocalHomeomorph.preimage_eventuallyEq_target_inter_preimage_inter hf (mem_chart_source H x)
+    PartialHomeomorph.preimage_eventuallyEq_target_inter_preimage_inter hf (mem_chart_source H x)
       (chart_source_mem_nhds H' (f x))
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iff
 -/
@@ -319,13 +319,13 @@ theorem liftPropWithinAt_indep_chart_source_aux (g : M → H') (he : e ∈ G.max
   by
   rw [← hG.right_invariance (compatible_of_mem_maximal_atlas he he')]
   swap; · simp only [xe, xe', mfld_simps]
-  simp_rw [LocalHomeomorph.trans_apply, e.left_inv xe]
+  simp_rw [PartialHomeomorph.trans_apply, e.left_inv xe]
   rw [hG.congr_iff]
   · refine' hG.congr_set _
     refine' (eventually_of_mem _ fun y (hy : y ∈ e'.symm ⁻¹' e.source) => _).set_eq
     · refine' (e'.symm.continuous_at <| e'.maps_to xe').preimage_mem_nhds (e.open_source.mem_nhds _)
       simp_rw [e'.left_inv xe', xe]
-    simp_rw [mem_preimage, LocalHomeomorph.coe_trans_symm, LocalHomeomorph.symm_symm,
+    simp_rw [mem_preimage, PartialHomeomorph.coe_trans_symm, PartialHomeomorph.symm_symm,
       Function.comp_apply, e.left_inv hy]
   · refine' ((e'.eventually_nhds' _ xe').mpr <| e.eventually_left_inverse xe).mono fun y hy => _
     simp only [mfld_simps]
@@ -348,7 +348,7 @@ theorem liftPropWithinAt_indep_chart_target_aux2 (g : H → M') {x : H} {s : Set
 -/
 
 #print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux /-
-theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : LocalHomeomorph X H} {x : X}
+theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : PartialHomeomorph X H} {x : X}
     {s : Set X} (xe : x ∈ e.source) (hf : f ∈ G'.maximalAtlas M') (xf : g x ∈ f.source)
     (hf' : f' ∈ G'.maximalAtlas M') (xf' : g x ∈ f'.source) (hgs : ContinuousWithinAt g s x) :
     P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P (f' ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) :=
@@ -689,14 +689,14 @@ theorem liftPropOn_chart_symm [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
 
 #print StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_groupoid /-
 theorem liftPropAt_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y)
-    {f : LocalHomeomorph H H} (hf : f ∈ G) {x : H} (hx : x ∈ f.source) : LiftPropAt Q f x :=
+    {f : PartialHomeomorph H H} (hf : f ∈ G) {x : H} (hx : x ∈ f.source) : LiftPropAt Q f x :=
   liftPropAt_of_mem_maximalAtlas hG hQ (G.mem_maximalAtlas_of_mem_groupoid hf) hx
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_mem_groupoid StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_groupoid
 -/
 
 #print StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_groupoid /-
 theorem liftPropOn_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y)
-    {f : LocalHomeomorph H H} (hf : f ∈ G) : LiftPropOn Q f f.source :=
+    {f : PartialHomeomorph H H} (hf : f ∈ G) : LiftPropOn Q f f.source :=
   liftPropOn_of_mem_maximalAtlas hG hQ (G.mem_maximalAtlas_of_mem_groupoid hf)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_groupoid StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_groupoid
 -/
@@ -745,14 +745,14 @@ section LocalStructomorph
 
 variable (G)
 
-open LocalHomeomorph
+open PartialHomeomorph
 
 #print StructureGroupoid.IsLocalStructomorphWithinAt /-
 /-- A function from a model space `H` to itself is a local structomorphism, with respect to a
 structure groupoid `G` for `H`, relative to a set `s` in `H`, if for all points `x` in the set, the
 function agrees with a `G`-structomorphism on `s` in a neighbourhood of `x`. -/
 def IsLocalStructomorphWithinAt (f : H → H) (s : Set H) (x : H) : Prop :=
-  x ∈ s → ∃ e : LocalHomeomorph H H, e ∈ G ∧ EqOn f e.toFun (s ∩ e.source) ∧ x ∈ e.source
+  x ∈ s → ∃ e : PartialHomeomorph H H, e ∈ G ∧ EqOn f e.toFun (s ∩ e.source) ∧ x ∈ e.source
 #align structure_groupoid.is_local_structomorph_within_at StructureGroupoid.IsLocalStructomorphWithinAt
 -/
 
@@ -801,59 +801,59 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
 #align structure_groupoid.is_local_structomorph_within_at_local_invariant_prop StructureGroupoid.isLocalStructomorphWithinAt_localInvariantProp
 -/
 
-#print LocalHomeomorph.isLocalStructomorphWithinAt_iff /-
+#print PartialHomeomorph.isLocalStructomorphWithinAt_iff /-
 /-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph.
   This gives us an `e` that is defined on a subset of `f.source`. -/
-theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H}
-    [ClosedUnderRestriction G] (f : LocalHomeomorph H H) {s : Set H} {x : H}
+theorem PartialHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H}
+    [ClosedUnderRestriction G] (f : PartialHomeomorph H H) {s : Set H} {x : H}
     (hx : x ∈ f.source ∪ sᶜ) :
     G.IsLocalStructomorphWithinAt (⇑f) s x ↔
       x ∈ s →
-        ∃ e : LocalHomeomorph H H,
+        ∃ e : PartialHomeomorph H H,
           e ∈ G ∧ e.source ⊆ f.source ∧ EqOn f (⇑e) (s ∩ e.source) ∧ x ∈ e.source :=
   by
   constructor
   · intro hf h2x
     obtain ⟨e, he, hfe, hxe⟩ := hf h2x
     refine' ⟨e.restr f.source, closedUnderRestriction' he f.open_source, _, _, hxe, _⟩
-    · simp_rw [LocalHomeomorph.restr_source]
+    · simp_rw [PartialHomeomorph.restr_source]
       refine' (inter_subset_right _ _).trans interior_subset
     · intro x' hx'; exact hfe ⟨hx'.1, hx'.2.1⟩
     · rw [f.open_source.interior_eq]; exact Or.resolve_right hx (not_not.mpr h2x)
   · intro hf hx; obtain ⟨e, he, h2e, hfe, hxe⟩ := hf hx; exact ⟨e, he, hfe, hxe⟩
-#align local_homeomorph.is_local_structomorph_within_at_iff LocalHomeomorph.isLocalStructomorphWithinAt_iff
+#align local_homeomorph.is_local_structomorph_within_at_iff PartialHomeomorph.isLocalStructomorphWithinAt_iff
 -/
 
-#print LocalHomeomorph.isLocalStructomorphWithinAt_iff' /-
+#print PartialHomeomorph.isLocalStructomorphWithinAt_iff' /-
 /-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph and
   the set we're considering is a superset of `f.source`. -/
-theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGroupoid H}
-    [ClosedUnderRestriction G] (f : LocalHomeomorph H H) {s : Set H} {x : H} (hs : f.source ⊆ s)
+theorem PartialHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGroupoid H}
+    [ClosedUnderRestriction G] (f : PartialHomeomorph H H) {s : Set H} {x : H} (hs : f.source ⊆ s)
     (hx : x ∈ f.source ∪ sᶜ) :
     G.IsLocalStructomorphWithinAt (⇑f) s x ↔
       x ∈ s →
-        ∃ e : LocalHomeomorph H H,
+        ∃ e : PartialHomeomorph H H,
           e ∈ G ∧ e.source ⊆ f.source ∧ EqOn f (⇑e) e.source ∧ x ∈ e.source :=
   by
   simp_rw [f.is_local_structomorph_within_at_iff hx]
   refine' imp_congr_right fun hx => exists_congr fun e => and_congr_right fun he => _
   refine' and_congr_right fun h2e => _
   rw [inter_eq_right_iff_subset.mpr (h2e.trans hs)]
-#align local_homeomorph.is_local_structomorph_within_at_iff' LocalHomeomorph.isLocalStructomorphWithinAt_iff'
+#align local_homeomorph.is_local_structomorph_within_at_iff' PartialHomeomorph.isLocalStructomorphWithinAt_iff'
 -/
 
-#print LocalHomeomorph.isLocalStructomorphWithinAt_source_iff /-
+#print PartialHomeomorph.isLocalStructomorphWithinAt_source_iff /-
 /-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph and
   the set we're considering is `f.source`. -/
-theorem LocalHomeomorph.isLocalStructomorphWithinAt_source_iff {G : StructureGroupoid H}
-    [ClosedUnderRestriction G] (f : LocalHomeomorph H H) {x : H} :
+theorem PartialHomeomorph.isLocalStructomorphWithinAt_source_iff {G : StructureGroupoid H}
+    [ClosedUnderRestriction G] (f : PartialHomeomorph H H) {x : H} :
     G.IsLocalStructomorphWithinAt (⇑f) f.source x ↔
       x ∈ f.source →
-        ∃ e : LocalHomeomorph H H,
+        ∃ e : PartialHomeomorph H H,
           e ∈ G ∧ e.source ⊆ f.source ∧ EqOn f (⇑e) e.source ∧ x ∈ e.source :=
   haveI : x ∈ f.source ∪ f.sourceᶜ := by simp_rw [union_compl_self]
   f.is_local_structomorph_within_at_iff' subset.rfl this
-#align local_homeomorph.is_local_structomorph_within_at_source_iff LocalHomeomorph.isLocalStructomorphWithinAt_source_iff
+#align local_homeomorph.is_local_structomorph_within_at_source_iff PartialHomeomorph.isLocalStructomorphWithinAt_source_iff
 -/
 
 variable {H₁ : Type _} [TopologicalSpace H₁] {H₂ : Type _} [TopologicalSpace H₂] {H₃ : Type _}
@@ -879,14 +879,14 @@ theorem HasGroupoid.comp
         local_invariant_prop.lift_prop_on_indep_chart
           (is_local_structomorph_within_at_local_invariant_prop G₁) (G₁.subset_maximal_atlas hf)
           (G₁.subset_maximal_atlas hf') (H _ (G₂.compatible he he')) hxs' hxs
-      simp_rw [← LocalHomeomorph.coe_trans, LocalHomeomorph.trans_assoc] at hφ 
-      simp_rw [LocalHomeomorph.trans_symm_eq_symm_trans_symm, LocalHomeomorph.trans_assoc]
+      simp_rw [← PartialHomeomorph.coe_trans, PartialHomeomorph.trans_assoc] at hφ 
+      simp_rw [PartialHomeomorph.trans_symm_eq_symm_trans_symm, PartialHomeomorph.trans_assoc]
       have hs : IsOpen (f.symm ≫ₕ e.symm ≫ₕ e' ≫ₕ f').source :=
         (f.symm ≫ₕ e.symm ≫ₕ e' ≫ₕ f').open_source
       refine' ⟨_, hs.inter φ.open_source, _, _⟩
       · simp only [hx, hφ_dom, mfld_simps]
       · refine' G₁.eq_on_source (closedUnderRestriction' hφG₁ hs) _
-        rw [LocalHomeomorph.restr_source_inter]
+        rw [PartialHomeomorph.restr_source_inter]
         refine' (hφ.mono _).restr_eqOn_source
         mfld_set_tac }
 #align structure_groupoid.has_groupoid.comp StructureGroupoid.HasGroupoid.comp
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn
 -/
-import Mathbin.Geometry.Manifold.ChartedSpace
+import Geometry.Manifold.ChartedSpace
 
 #align_import geometry.manifold.local_invariant_properties from "leanprover-community/mathlib"@"431589bce478b2229eba14b14a283250428217db"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2020 Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn
-
-! This file was ported from Lean 3 source module geometry.manifold.local_invariant_properties
-! leanprover-community/mathlib commit 431589bce478b2229eba14b14a283250428217db
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Geometry.Manifold.ChartedSpace
 
+#align_import geometry.manifold.local_invariant_properties from "leanprover-community/mathlib"@"431589bce478b2229eba14b14a283250428217db"
+
 /-!
 # Local properties invariant under a groupoid
 
Diff
@@ -714,6 +714,7 @@ theorem liftProp_id (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
 -/
 
 /- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `congrm #[[expr «expr ∧ »(_, _)]] -/
+#print StructureGroupoid.LocalInvariantProp.liftPropAt_iff_comp_inclusion /-
 theorem liftPropAt_iff_comp_inclusion (hG : LocalInvariantProp G G' P) {U V : Opens M} (hUV : U ≤ V)
     (f : V → M') (x : U) :
     LiftPropAt P f (Set.inclusion hUV x) ↔ LiftPropAt P (f ∘ Set.inclusion hUV : U → M') x :=
@@ -728,7 +729,9 @@ theorem liftPropAt_iff_comp_inclusion (hG : LocalInvariantProp G G' P) {U V : Op
       (TopologicalSpace.Opens.chartAt_inclusion_symm_eventuallyEq hUV).fun_comp
         (chart_at H' (f (Set.inclusion hUV x)) ∘ f)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_iff_comp_inclusion StructureGroupoid.LocalInvariantProp.liftPropAt_iff_comp_inclusion
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftProp_inclusion /-
 theorem liftProp_inclusion {Q : (H → H) → Set H → H → Prop} (hG : LocalInvariantProp G G Q)
     (hQ : ∀ y, Q id univ y) {U V : Opens M} (hUV : U ≤ V) :
     LiftProp Q (Set.inclusion hUV : U → V) := by
@@ -737,6 +740,7 @@ theorem liftProp_inclusion {Q : (H → H) → Set H → H → Prop} (hG : LocalI
   rw [← hG.lift_prop_at_iff_comp_inclusion hUV]
   apply hG.lift_prop_id hQ
 #align structure_groupoid.local_invariant_prop.lift_prop_inclusion StructureGroupoid.LocalInvariantProp.liftProp_inclusion
+-/
 
 end LocalInvariantProp
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn
 
 ! This file was ported from Lean 3 source module geometry.manifold.local_invariant_properties
-! leanprover-community/mathlib commit ce38d86c0b2d427ce208c3cee3159cb421d2b3c4
+! leanprover-community/mathlib commit 431589bce478b2229eba14b14a283250428217db
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -55,7 +55,7 @@ noncomputable section
 
 open scoped Classical Manifold Topology
 
-open Set Filter
+open Set Filter TopologicalSpace
 
 variable {H M H' M' X : Type _}
 
@@ -713,6 +713,31 @@ theorem liftProp_id (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
 #align structure_groupoid.local_invariant_prop.lift_prop_id StructureGroupoid.LocalInvariantProp.liftProp_id
 -/
 
+/- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `congrm #[[expr «expr ∧ »(_, _)]] -/
+theorem liftPropAt_iff_comp_inclusion (hG : LocalInvariantProp G G' P) {U V : Opens M} (hUV : U ≤ V)
+    (f : V → M') (x : U) :
+    LiftPropAt P f (Set.inclusion hUV x) ↔ LiftPropAt P (f ∘ Set.inclusion hUV : U → M') x :=
+  by
+  trace
+    "./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `congrm #[[expr «expr ∧ »(_, _)]]"
+  ·
+    simp [continuousWithinAt_univ,
+      (TopologicalSpace.Opens.openEmbedding_of_le hUV).continuousAt_iff]
+  · apply hG.congr_iff
+    exact
+      (TopologicalSpace.Opens.chartAt_inclusion_symm_eventuallyEq hUV).fun_comp
+        (chart_at H' (f (Set.inclusion hUV x)) ∘ f)
+#align structure_groupoid.local_invariant_prop.lift_prop_at_iff_comp_inclusion StructureGroupoid.LocalInvariantProp.liftPropAt_iff_comp_inclusion
+
+theorem liftProp_inclusion {Q : (H → H) → Set H → H → Prop} (hG : LocalInvariantProp G G Q)
+    (hQ : ∀ y, Q id univ y) {U V : Opens M} (hUV : U ≤ V) :
+    LiftProp Q (Set.inclusion hUV : U → V) := by
+  intro x
+  show lift_prop_at Q (id ∘ inclusion hUV) x
+  rw [← hG.lift_prop_at_iff_comp_inclusion hUV]
+  apply hG.lift_prop_id hQ
+#align structure_groupoid.local_invariant_prop.lift_prop_inclusion StructureGroupoid.LocalInvariantProp.liftProp_inclusion
+
 end LocalInvariantProp
 
 section LocalStructomorph
Diff
@@ -90,8 +90,6 @@ variable {G G'} {P : (H → H') → Set H → H → Prop} {s t u : Set H} {x : H
 
 variable (hG : G.LocalInvariantProp G' P)
 
-include hG
-
 namespace LocalInvariantProp
 
 #print StructureGroupoid.LocalInvariantProp.congr_set /-
@@ -103,11 +101,14 @@ theorem congr_set {s t : Set H} {x : H} {f : H → H'} (hu : s =ᶠ[𝓝 x] t) :
 #align structure_groupoid.local_invariant_prop.congr_set StructureGroupoid.LocalInvariantProp.congr_set
 -/
 
+#print StructureGroupoid.LocalInvariantProp.is_local_nhds /-
 theorem is_local_nhds {s u : Set H} {x : H} {f : H → H'} (hu : u ∈ 𝓝[s] x) :
     P f s x ↔ P f (s ∩ u) x :=
   hG.congr_set <| mem_nhdsWithin_iff_eventuallyEq.mp hu
 #align structure_groupoid.local_invariant_prop.is_local_nhds StructureGroupoid.LocalInvariantProp.is_local_nhds
+-/
 
+#print StructureGroupoid.LocalInvariantProp.congr_iff_nhdsWithin /-
 theorem congr_iff_nhdsWithin {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[𝓝[s] x] g)
     (h2 : f x = g x) : P f s x ↔ P g s x :=
   by
@@ -115,29 +116,41 @@ theorem congr_iff_nhdsWithin {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[
   exact
     ⟨hG.congr_of_forall (fun y hy => hy.2) h2, hG.congr_of_forall (fun y hy => hy.2.symm) h2.symm⟩
 #align structure_groupoid.local_invariant_prop.congr_iff_nhds_within StructureGroupoid.LocalInvariantProp.congr_iff_nhdsWithin
+-/
 
+#print StructureGroupoid.LocalInvariantProp.congr_nhdsWithin /-
 theorem congr_nhdsWithin {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[𝓝[s] x] g) (h2 : f x = g x)
     (hP : P f s x) : P g s x :=
   (hG.congr_iff_nhdsWithin h1 h2).mp hP
 #align structure_groupoid.local_invariant_prop.congr_nhds_within StructureGroupoid.LocalInvariantProp.congr_nhdsWithin
+-/
 
+#print StructureGroupoid.LocalInvariantProp.congr_nhdsWithin' /-
 theorem congr_nhdsWithin' {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[𝓝[s] x] g) (h2 : f x = g x)
     (hP : P g s x) : P f s x :=
   (hG.congr_iff_nhdsWithin h1 h2).mpr hP
 #align structure_groupoid.local_invariant_prop.congr_nhds_within' StructureGroupoid.LocalInvariantProp.congr_nhdsWithin'
+-/
 
+#print StructureGroupoid.LocalInvariantProp.congr_iff /-
 theorem congr_iff {s : Set H} {x : H} {f g : H → H'} (h : f =ᶠ[𝓝 x] g) : P f s x ↔ P g s x :=
   hG.congr_iff_nhdsWithin (mem_nhdsWithin_of_mem_nhds h) (mem_of_mem_nhds h : _)
 #align structure_groupoid.local_invariant_prop.congr_iff StructureGroupoid.LocalInvariantProp.congr_iff
+-/
 
+#print StructureGroupoid.LocalInvariantProp.congr /-
 theorem congr {s : Set H} {x : H} {f g : H → H'} (h : f =ᶠ[𝓝 x] g) (hP : P f s x) : P g s x :=
   (hG.congr_iff h).mp hP
 #align structure_groupoid.local_invariant_prop.congr StructureGroupoid.LocalInvariantProp.congr
+-/
 
+#print StructureGroupoid.LocalInvariantProp.congr' /-
 theorem congr' {s : Set H} {x : H} {f g : H → H'} (h : f =ᶠ[𝓝 x] g) (hP : P g s x) : P f s x :=
   hG.congr h.symm hP
 #align structure_groupoid.local_invariant_prop.congr' StructureGroupoid.LocalInvariantProp.congr'
+-/
 
+#print StructureGroupoid.LocalInvariantProp.left_invariance /-
 theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : LocalHomeomorph H' H'}
     (he' : e' ∈ G') (hfs : ContinuousWithinAt f s x) (hxe' : f x ∈ e'.source) :
     P (e' ∘ f) s x ↔ P f s x :=
@@ -156,7 +169,9 @@ theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : LocalHomeomorph
   · simp_rw [hG.is_local_nhds h2f]
     exact hG.left_invariance' he' (inter_subset_right _ _) hxe'
 #align structure_groupoid.local_invariant_prop.left_invariance StructureGroupoid.LocalInvariantProp.left_invariance
+-/
 
+#print StructureGroupoid.LocalInvariantProp.right_invariance /-
 theorem right_invariance {s : Set H} {x : H} {f : H → H'} {e : LocalHomeomorph H H} (he : e ∈ G)
     (hxe : x ∈ e.source) : P (f ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P f s x :=
   by
@@ -170,6 +185,7 @@ theorem right_invariance {s : Set H} {x : H} {f : H → H'} {e : LocalHomeomorph
     refine' eventually_of_mem (e.open_source.mem_nhds hxe) fun x' hx' => _
     simp_rw [mem_preimage, e.left_inv hx']
 #align structure_groupoid.local_invariant_prop.right_invariance StructureGroupoid.LocalInvariantProp.right_invariance
+-/
 
 end LocalInvariantProp
 
@@ -208,11 +224,13 @@ def LiftPropAt (P : (H → H') → Set H → H → Prop) (f : M → M') (x : M)
 #align charted_space.lift_prop_at ChartedSpace.LiftPropAt
 -/
 
+#print ChartedSpace.liftPropAt_iff /-
 theorem liftPropAt_iff {P : (H → H') → Set H → H → Prop} {f : M → M'} {x : M} :
     LiftPropAt P f x ↔
       ContinuousAt f x ∧ P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) univ (chartAt H x x) :=
   by rw [lift_prop_at, lift_prop_within_at, continuousWithinAt_univ, preimage_univ]
 #align charted_space.lift_prop_at_iff ChartedSpace.liftPropAt_iff
+-/
 
 #print ChartedSpace.LiftProp /-
 /-- Given a property of germs of functions and sets in the model space, then one defines
@@ -223,11 +241,13 @@ def LiftProp (P : (H → H') → Set H → H → Prop) (f : M → M') :=
 #align charted_space.lift_prop ChartedSpace.LiftProp
 -/
 
+#print ChartedSpace.liftProp_iff /-
 theorem liftProp_iff {P : (H → H') → Set H → H → Prop} {f : M → M'} :
     LiftProp P f ↔
       Continuous f ∧ ∀ x, P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) univ (chartAt H x x) :=
   by simp_rw [lift_prop, lift_prop_at_iff, forall_and, continuous_iff_continuousAt]
 #align charted_space.lift_prop_iff ChartedSpace.liftProp_iff
+-/
 
 end ChartedSpace
 
@@ -239,37 +259,46 @@ variable {G : StructureGroupoid H} {G' : StructureGroupoid H'} {e e' : LocalHome
   {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}
 
+#print StructureGroupoid.liftPropWithinAt_univ /-
 theorem liftPropWithinAt_univ : LiftPropWithinAt P g univ x ↔ LiftPropAt P g x :=
   Iff.rfl
 #align structure_groupoid.lift_prop_within_at_univ StructureGroupoid.liftPropWithinAt_univ
+-/
 
+#print StructureGroupoid.liftPropOn_univ /-
 theorem liftPropOn_univ : LiftPropOn P g univ ↔ LiftProp P g := by
   simp [lift_prop_on, lift_prop, lift_prop_at]
 #align structure_groupoid.lift_prop_on_univ StructureGroupoid.liftPropOn_univ
+-/
 
+#print StructureGroupoid.liftPropWithinAt_self /-
 theorem liftPropWithinAt_self {f : H → H'} {s : Set H} {x : H} :
     LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P f s x :=
   Iff.rfl
 #align structure_groupoid.lift_prop_within_at_self StructureGroupoid.liftPropWithinAt_self
+-/
 
+#print StructureGroupoid.liftPropWithinAt_self_source /-
 theorem liftPropWithinAt_self_source {f : H → M'} {s : Set H} {x : H} :
     LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P (chartAt H' (f x) ∘ f) s x :=
   Iff.rfl
 #align structure_groupoid.lift_prop_within_at_self_source StructureGroupoid.liftPropWithinAt_self_source
+-/
 
+#print StructureGroupoid.liftPropWithinAt_self_target /-
 theorem liftPropWithinAt_self_target {f : M → H'} :
     LiftPropWithinAt P f s x ↔
       ContinuousWithinAt f s x ∧
         P (f ∘ (chartAt H x).symm) ((chartAt H x).symm ⁻¹' s) (chartAt H x x) :=
   Iff.rfl
 #align structure_groupoid.lift_prop_within_at_self_target StructureGroupoid.liftPropWithinAt_self_target
+-/
 
 namespace LocalInvariantProp
 
 variable (hG : G.LocalInvariantProp G' P)
 
-include hG
-
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iff /-
 /-- `lift_prop_within_at P f s x` is equivalent to a definition where we restrict the set we are
   considering to the domain of the charts at `x` and `f x`. -/
 theorem liftPropWithinAt_iff {f : M → M'} :
@@ -284,7 +313,9 @@ theorem liftPropWithinAt_iff {f : M → M'} :
     LocalHomeomorph.preimage_eventuallyEq_target_inter_preimage_inter hf (mem_chart_source H x)
       (chart_source_mem_nhds H' (f x))
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iff
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source_aux /-
 theorem liftPropWithinAt_indep_chart_source_aux (g : M → H') (he : e ∈ G.maximalAtlas M)
     (xe : x ∈ e.source) (he' : e' ∈ G.maximalAtlas M) (xe' : x ∈ e'.source) :
     P (g ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P (g ∘ e'.symm) (e'.symm ⁻¹' s) (e' x) :=
@@ -303,7 +334,9 @@ theorem liftPropWithinAt_indep_chart_source_aux (g : M → H') (he : e ∈ G.max
     simp only [mfld_simps]
     rw [hy]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source_aux
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2 /-
 theorem liftPropWithinAt_indep_chart_target_aux2 (g : H → M') {x : H} {s : Set H}
     (hf : f ∈ G'.maximalAtlas M') (xf : g x ∈ f.source) (hf' : f' ∈ G'.maximalAtlas M')
     (xf' : g x ∈ f'.source) (hgs : ContinuousWithinAt g s x) : P (f ∘ g) s x ↔ P (f' ∘ g) s x :=
@@ -315,7 +348,9 @@ theorem liftPropWithinAt_indep_chart_target_aux2 (g : H → M') {x : H} {s : Set
   refine' hG.congr_iff_nhds_within _ (by simp only [xf, mfld_simps])
   exact (hgs.eventually <| f.eventually_left_inverse xf).mono fun y => congr_arg f'
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux /-
 theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : LocalHomeomorph X H} {x : X}
     {s : Set X} (xe : x ∈ e.source) (hf : f ∈ G'.maximalAtlas M') (xf : g x ∈ f.source)
     (hf' : f' ∈ G'.maximalAtlas M') (xf' : g x ∈ f'.source) (hgs : ContinuousWithinAt g s x) :
@@ -325,7 +360,9 @@ theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : LocalHomeomo
   refine' hG.lift_prop_within_at_indep_chart_target_aux2 (g ∘ e.symm) hf xf hf' xf' _
   exact hgs.comp (e.symm.continuous_at <| e.maps_to xe).ContinuousWithinAt subset.rfl
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_aux /-
 /-- If a property of a germ of function `g` on a pointed set `(s, x)` is invariant under the
 structure groupoid (by composition in the source space and in the target space), then
 expressing it in charted spaces does not depend on the element of the maximal atlas one uses
@@ -340,7 +377,9 @@ theorem liftPropWithinAt_indep_chart_aux (he : e ∈ G.maximalAtlas M) (xe : x 
   rw [hG.lift_prop_within_at_indep_chart_source_aux (f ∘ g) he xe he' xe',
     hG.lift_prop_within_at_indep_chart_target_aux xe' hf xf hf' xf' hgs]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_aux
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart /-
 theorem liftPropWithinAt_indep_chart [HasGroupoid M G] [HasGroupoid M' G']
     (he : e ∈ G.maximalAtlas M) (xe : x ∈ e.source) (hf : f ∈ G'.maximalAtlas M')
     (xf : g x ∈ f.source) :
@@ -349,7 +388,9 @@ theorem liftPropWithinAt_indep_chart [HasGroupoid M G] [HasGroupoid M' G']
     hG.liftPropWithinAt_indep_chart_aux (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) he xe
       (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) hf xf
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source /-
 /-- A version of `lift_prop_within_at_indep_chart`, only for the source. -/
 theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maximalAtlas M)
     (xe : x ∈ e.source) :
@@ -363,7 +404,9 @@ theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maxi
   rw [hG.lift_prop_within_at_indep_chart_source_aux (chart_at H' (g x) ∘ g)
       (chart_mem_maximal_atlas G x) (mem_chart_source H x) he xe]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target /-
 /-- A version of `lift_prop_within_at_indep_chart`, only for the target. -/
 theorem liftPropWithinAt_indep_chart_target [HasGroupoid M' G'] (hf : f ∈ G'.maximalAtlas M')
     (xf : g x ∈ f.source) :
@@ -376,7 +419,9 @@ theorem liftPropWithinAt_indep_chart_target [HasGroupoid M' G'] (hf : f ∈ G'.m
     hG.lift_prop_within_at_indep_chart_target_aux (mem_chart_source _ _)
       (chart_mem_maximal_atlas _ _) (mem_chart_source _ _) hf xf hg
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart' /-
 /-- A version of `lift_prop_within_at_indep_chart`, that uses `lift_prop_within_at` on both sides.
 -/
 theorem liftPropWithinAt_indep_chart' [HasGroupoid M G] [HasGroupoid M' G']
@@ -393,7 +438,9 @@ theorem liftPropWithinAt_indep_chart' [HasGroupoid M G] [HasGroupoid M' G']
     simp_rw [Function.comp, e.left_inv xe, f.continuous_at xf]
   exact this.comp_continuous_within_at h1
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart'
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chart /-
 theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈ G.maximalAtlas M)
     (hf : f ∈ G'.maximalAtlas M') (h : LiftPropOn P g s) {y : H}
     (hy : y ∈ e.target ∩ e.symm ⁻¹' (s ∩ g ⁻¹' f.source)) : P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) y :=
@@ -401,7 +448,9 @@ theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈
   convert ((hG.lift_prop_within_at_indep_chart he (e.symm_maps_to hy.1) hf hy.2.2).1 (h _ hy.2.1)).2
   rw [e.right_inv hy.1]
 #align structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chart
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter' /-
 theorem liftPropWithinAt_inter' (ht : t ∈ 𝓝[s] x) :
     LiftPropWithinAt P g (s ∩ t) x ↔ LiftPropWithinAt P g s x :=
   by
@@ -410,20 +459,28 @@ theorem liftPropWithinAt_inter' (ht : t ∈ 𝓝[s] x) :
     (chart_at H x).eventually_nhds' (fun x => x ∈ s ∩ t ↔ x ∈ s) (mem_chart_source H x)]
   exact (mem_nhds_within_iff_eventually_eq.mp ht).symm.mem_iff
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter'
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter /-
 theorem liftPropWithinAt_inter (ht : t ∈ 𝓝 x) :
     LiftPropWithinAt P g (s ∩ t) x ↔ LiftPropWithinAt P g s x :=
   hG.liftPropWithinAt_inter' (mem_nhdsWithin_of_mem_nhds ht)
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAt /-
 theorem liftPropAt_of_liftPropWithinAt (h : LiftPropWithinAt P g s x) (hs : s ∈ 𝓝 x) :
     LiftPropAt P g x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs] at h 
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAt
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt_of_mem_nhds /-
 theorem liftPropWithinAt_of_liftPropAt_of_mem_nhds (h : LiftPropAt P g x) (hs : s ∈ 𝓝 x) :
     LiftPropWithinAt P g s x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at_of_mem_nhds StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt_of_mem_nhds
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOn /-
 theorem liftPropOn_of_locally_liftPropOn
     (h : ∀ x ∈ s, ∃ u, IsOpen u ∧ x ∈ u ∧ LiftPropOn P g (s ∩ u)) : LiftPropOn P g s :=
   by
@@ -433,14 +490,18 @@ theorem liftPropOn_of_locally_liftPropOn
   rwa [hG.lift_prop_within_at_inter] at this 
   exact IsOpen.mem_nhds u_open xu
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOn
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftProp_of_locally_liftPropOn /-
 theorem liftProp_of_locally_liftPropOn (h : ∀ x, ∃ u, IsOpen u ∧ x ∈ u ∧ LiftPropOn P g u) :
     LiftProp P g := by
   rw [← lift_prop_on_univ]
   apply hG.lift_prop_on_of_locally_lift_prop_on fun x hx => _
   simp [h x]
 #align structure_groupoid.local_invariant_prop.lift_prop_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftProp_of_locally_liftPropOn
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEq /-
 theorem liftPropWithinAt_congr_of_eventuallyEq (h : LiftPropWithinAt P g s x) (h₁ : g' =ᶠ[𝓝[s] x] g)
     (hx : g' x = g x) : LiftPropWithinAt P g' s x :=
   by
@@ -453,43 +514,57 @@ theorem liftPropWithinAt_congr_of_eventuallyEq (h : LiftPropWithinAt P g s x) (h
       (fun y => chart_at H' (g' x) (g' y) = chart_at H' (g x) (g y)) (mem_chart_source H x)]
   exact h₁.mono fun y hy => by rw [hx, hy]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEq
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff_of_eventuallyEq /-
 theorem liftPropWithinAt_congr_iff_of_eventuallyEq (h₁ : g' =ᶠ[𝓝[s] x] g) (hx : g' x = g x) :
     LiftPropWithinAt P g' s x ↔ LiftPropWithinAt P g s x :=
   ⟨fun h => hG.liftPropWithinAt_congr_of_eventuallyEq h h₁.symm hx.symm, fun h =>
     hG.liftPropWithinAt_congr_of_eventuallyEq h h₁ hx⟩
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff_of_eventuallyEq
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff /-
 theorem liftPropWithinAt_congr_iff (h₁ : ∀ y ∈ s, g' y = g y) (hx : g' x = g x) :
     LiftPropWithinAt P g' s x ↔ LiftPropWithinAt P g s x :=
   hG.liftPropWithinAt_congr_iff_of_eventuallyEq (eventually_nhdsWithin_of_forall h₁) hx
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr /-
 theorem liftPropWithinAt_congr (h : LiftPropWithinAt P g s x) (h₁ : ∀ y ∈ s, g' y = g y)
     (hx : g' x = g x) : LiftPropWithinAt P g' s x :=
   (hG.liftPropWithinAt_congr_iff h₁ hx).mpr h
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropAt_congr_iff_of_eventuallyEq /-
 theorem liftPropAt_congr_iff_of_eventuallyEq (h₁ : g' =ᶠ[𝓝 x] g) :
     LiftPropAt P g' x ↔ LiftPropAt P g x :=
   hG.liftPropWithinAt_congr_iff_of_eventuallyEq (by simp_rw [nhdsWithin_univ, h₁]) h₁.eq_of_nhds
 #align structure_groupoid.local_invariant_prop.lift_prop_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_iff_of_eventuallyEq
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropAt_congr_of_eventuallyEq /-
 theorem liftPropAt_congr_of_eventuallyEq (h : LiftPropAt P g x) (h₁ : g' =ᶠ[𝓝 x] g) :
     LiftPropAt P g' x :=
   (hG.liftPropAt_congr_iff_of_eventuallyEq h₁).mpr h
 #align structure_groupoid.local_invariant_prop.lift_prop_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_of_eventuallyEq
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropOn_congr /-
 theorem liftPropOn_congr (h : LiftPropOn P g s) (h₁ : ∀ y ∈ s, g' y = g y) : LiftPropOn P g' s :=
   fun x hx => hG.liftPropWithinAt_congr (h x hx) h₁ (h₁ x hx)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_congr StructureGroupoid.LocalInvariantProp.liftPropOn_congr
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropOn_congr_iff /-
 theorem liftPropOn_congr_iff (h₁ : ∀ y ∈ s, g' y = g y) : LiftPropOn P g' s ↔ LiftPropOn P g s :=
   ⟨fun h => hG.liftPropOn_congr h fun y hy => (h₁ y hy).symm, fun h => hG.liftPropOn_congr h h₁⟩
 #align structure_groupoid.local_invariant_prop.lift_prop_on_congr_iff StructureGroupoid.LocalInvariantProp.liftPropOn_congr_iff
+-/
 
-omit hG
-
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_mem /-
 theorem liftPropWithinAt_mono_of_mem
     (mono_of_mem : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, s ∈ 𝓝[t] x → P f s x → P f t x)
     (h : LiftPropWithinAt P g s x) (hst : s ∈ 𝓝[t] x) : LiftPropWithinAt P g t x :=
@@ -498,7 +573,9 @@ theorem liftPropWithinAt_mono_of_mem
   simp_rw [← mem_map, (chart_at H x).symm.map_nhdsWithin_preimage_eq (mem_chart_target H x),
     (chart_at H x).left_inv (mem_chart_source H x), hst]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono_of_mem StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_mem
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono /-
 theorem liftPropWithinAt_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropWithinAt P g s x) (hts : t ⊆ s) : LiftPropWithinAt P g t x :=
   by
@@ -507,26 +584,34 @@ theorem liftPropWithinAt_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆
   simp only [mfld_simps] at hy 
   simp only [hy, hts _, mfld_simps]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt /-
 theorem liftPropWithinAt_of_liftPropAt (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropAt P g x) : LiftPropWithinAt P g s x :=
   by
   rw [← lift_prop_within_at_univ] at h 
   exact lift_prop_within_at_mono mono h (subset_univ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropOn_mono /-
 theorem liftPropOn_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropOn P g t) (hst : s ⊆ t) : LiftPropOn P g s := fun x hx =>
   liftPropWithinAt_mono mono (h x (hst hx)) hst
 #align structure_groupoid.local_invariant_prop.lift_prop_on_mono StructureGroupoid.LocalInvariantProp.liftPropOn_mono
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropOn_of_liftProp /-
 theorem liftPropOn_of_liftProp (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftProp P g) : LiftPropOn P g s :=
   by
   rw [← lift_prop_on_univ] at h 
   exact lift_prop_on_mono mono h (subset_univ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_lift_prop StructureGroupoid.LocalInvariantProp.liftPropOn_of_liftProp
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_maximalAtlas /-
 theorem liftPropAt_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G) (hx : x ∈ e.source) : LiftPropAt Q e x :=
   by
@@ -535,7 +620,9 @@ theorem liftPropAt_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantP
     (e.continuous_at hx).ContinuousWithinAt, true_and_iff]
   exact hG.congr' (e.eventually_right_inverse' hx) (hQ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_maximalAtlas
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_maximalAtlas /-
 theorem liftPropOn_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G) : LiftPropOn Q e e.source :=
   by
@@ -545,7 +632,9 @@ theorem liftPropOn_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantP
       (hG.lift_prop_at_of_mem_maximal_atlas hQ he hx)
   exact IsOpen.mem_nhds e.open_source hx
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_maximalAtlas
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropAt_symm_of_mem_maximalAtlas /-
 theorem liftPropAt_symm_of_mem_maximalAtlas [HasGroupoid M G] {x : H}
     (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G)
     (hx : x ∈ e.target) : LiftPropAt Q e.symm x :=
@@ -559,7 +648,9 @@ theorem liftPropAt_symm_of_mem_maximalAtlas [HasGroupoid M G] {x : H}
     simp only [h, mfld_simps]
   exact hG.congr' (e.eventually_right_inverse hx) (hQ x)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_symm_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropAt_symm_of_mem_maximalAtlas
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropOn_symm_of_mem_maximalAtlas /-
 theorem liftPropOn_symm_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G) : LiftPropOn Q e.symm e.target :=
   by
@@ -569,26 +660,35 @@ theorem liftPropOn_symm_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvar
       (hG.lift_prop_at_symm_of_mem_maximal_atlas hQ he hx)
   exact IsOpen.mem_nhds e.open_target hx
 #align structure_groupoid.local_invariant_prop.lift_prop_on_symm_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_symm_of_mem_maximalAtlas
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropAt_chart /-
 theorem liftPropAt_chart [HasGroupoid M G] (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftPropAt Q (chartAt H x) x :=
   hG.liftPropAt_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x) (mem_chart_source H x)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_chart StructureGroupoid.LocalInvariantProp.liftPropAt_chart
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropOn_chart /-
 theorem liftPropOn_chart [HasGroupoid M G] (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftPropOn Q (chartAt H x) (chartAt H x).source :=
   hG.liftPropOn_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_chart StructureGroupoid.LocalInvariantProp.liftPropOn_chart
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropAt_chart_symm /-
 theorem liftPropAt_chart_symm [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) : LiftPropAt Q (chartAt H x).symm ((chartAt H x) x) :=
   hG.liftPropAt_symm_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x) (by simp)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_chart_symm StructureGroupoid.LocalInvariantProp.liftPropAt_chart_symm
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropOn_chart_symm /-
 theorem liftPropOn_chart_symm [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) : LiftPropOn Q (chartAt H x).symm (chartAt H x).target :=
   hG.liftPropOn_symm_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_chart_symm StructureGroupoid.LocalInvariantProp.liftPropOn_chart_symm
+-/
 
 #print StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_groupoid /-
 theorem liftPropAt_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y)
@@ -604,12 +704,14 @@ theorem liftPropOn_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y,
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_groupoid StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_groupoid
 -/
 
+#print StructureGroupoid.LocalInvariantProp.liftProp_id /-
 theorem liftProp_id (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftProp Q (id : M → M) :=
   by
   simp_rw [lift_prop_iff, continuous_id, true_and_iff]
   exact fun x => hG.congr' ((chart_at H x).eventually_right_inverse <| mem_chart_target H x) (hQ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_id StructureGroupoid.LocalInvariantProp.liftProp_id
+-/
 
 end LocalInvariantProp
 
@@ -673,6 +775,7 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
 #align structure_groupoid.is_local_structomorph_within_at_local_invariant_prop StructureGroupoid.isLocalStructomorphWithinAt_localInvariantProp
 -/
 
+#print LocalHomeomorph.isLocalStructomorphWithinAt_iff /-
 /-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph.
   This gives us an `e` that is defined on a subset of `f.source`. -/
 theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H}
@@ -693,7 +796,9 @@ theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H
     · rw [f.open_source.interior_eq]; exact Or.resolve_right hx (not_not.mpr h2x)
   · intro hf hx; obtain ⟨e, he, h2e, hfe, hxe⟩ := hf hx; exact ⟨e, he, hfe, hxe⟩
 #align local_homeomorph.is_local_structomorph_within_at_iff LocalHomeomorph.isLocalStructomorphWithinAt_iff
+-/
 
+#print LocalHomeomorph.isLocalStructomorphWithinAt_iff' /-
 /-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph and
   the set we're considering is a superset of `f.source`. -/
 theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGroupoid H}
@@ -709,6 +814,7 @@ theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGroupoid
   refine' and_congr_right fun h2e => _
   rw [inter_eq_right_iff_subset.mpr (h2e.trans hs)]
 #align local_homeomorph.is_local_structomorph_within_at_iff' LocalHomeomorph.isLocalStructomorphWithinAt_iff'
+-/
 
 #print LocalHomeomorph.isLocalStructomorphWithinAt_source_iff /-
 /-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph and
@@ -730,6 +836,7 @@ variable {H₁ : Type _} [TopologicalSpace H₁] {H₂ : Type _} [TopologicalSpa
 
 variable (G₂)
 
+#print StructureGroupoid.HasGroupoid.comp /-
 theorem HasGroupoid.comp
     (H : ∀ e ∈ G₂, LiftPropOn (IsLocalStructomorphWithinAt G₁) (e : H₂ → H₂) e.source) :
     @HasGroupoid H₁ _ H₃ _ (ChartedSpace.comp H₁ H₂ H₃) G₁ :=
@@ -757,6 +864,7 @@ theorem HasGroupoid.comp
         refine' (hφ.mono _).restr_eqOn_source
         mfld_set_tac }
 #align structure_groupoid.has_groupoid.comp StructureGroupoid.HasGroupoid.comp
+-/
 
 end LocalStructomorph
 
Diff
@@ -398,7 +398,7 @@ theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈
     (hf : f ∈ G'.maximalAtlas M') (h : LiftPropOn P g s) {y : H}
     (hy : y ∈ e.target ∩ e.symm ⁻¹' (s ∩ g ⁻¹' f.source)) : P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) y :=
   by
-  convert((hG.lift_prop_within_at_indep_chart he (e.symm_maps_to hy.1) hf hy.2.2).1 (h _ hy.2.1)).2
+  convert ((hG.lift_prop_within_at_indep_chart he (e.symm_maps_to hy.1) hf hy.2.2).1 (h _ hy.2.1)).2
   rw [e.right_inv hy.1]
 #align structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chart
 
Diff
@@ -98,7 +98,7 @@ namespace LocalInvariantProp
 theorem congr_set {s t : Set H} {x : H} {f : H → H'} (hu : s =ᶠ[𝓝 x] t) : P f s x ↔ P f t x :=
   by
   obtain ⟨o, host, ho, hxo⟩ := mem_nhds_iff.mp hu.mem_iff
-  simp_rw [subset_def, mem_set_of, ← and_congr_left_iff, ← mem_inter_iff, ← Set.ext_iff] at host
+  simp_rw [subset_def, mem_set_of, ← and_congr_left_iff, ← mem_inter_iff, ← Set.ext_iff] at host 
   rw [hG.is_local ho hxo, host, ← hG.is_local ho hxo]
 #align structure_groupoid.local_invariant_prop.congr_set StructureGroupoid.LocalInvariantProp.congr_set
 -/
@@ -148,9 +148,9 @@ theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : LocalHomeomorph
       e'.symm.open_source.mem_nhds <| e'.maps_to hxe'
   constructor
   · intro h
-    rw [hG.is_local_nhds h3f] at h
+    rw [hG.is_local_nhds h3f] at h 
     have h2 := hG.left_invariance' (G'.symm he') (inter_subset_right _ _) (e'.maps_to hxe') h
-    rw [← hG.is_local_nhds h3f] at h2
+    rw [← hG.is_local_nhds h3f] at h2 
     refine' hG.congr_nhds_within _ (e'.left_inv hxe') h2
     exact eventually_of_mem h2f fun x' => e'.left_inv
   · simp_rw [hG.is_local_nhds h2f]
@@ -162,7 +162,7 @@ theorem right_invariance {s : Set H} {x : H} {f : H → H'} {e : LocalHomeomorph
   by
   refine' ⟨fun h => _, hG.right_invariance' he hxe⟩
   have := hG.right_invariance' (G.symm he) (e.maps_to hxe) h
-  rw [e.symm_symm, e.left_inv hxe] at this
+  rw [e.symm_symm, e.left_inv hxe] at this 
   refine' hG.congr _ ((hG.congr_set _).mp this)
   · refine' eventually_of_mem (e.open_source.mem_nhds hxe) fun x' hx' => _
     simp_rw [Function.comp_apply, e.left_inv hx']
@@ -321,7 +321,7 @@ theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : LocalHomeomo
     (hf' : f' ∈ G'.maximalAtlas M') (xf' : g x ∈ f'.source) (hgs : ContinuousWithinAt g s x) :
     P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P (f' ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) :=
   by
-  rw [← e.left_inv xe] at xf xf' hgs
+  rw [← e.left_inv xe] at xf xf' hgs 
   refine' hG.lift_prop_within_at_indep_chart_target_aux2 (g ∘ e.symm) hf xf hf' xf' _
   exact hgs.comp (e.symm.continuous_at <| e.maps_to xe).ContinuousWithinAt subset.rfl
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux
@@ -356,7 +356,7 @@ theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maxi
     LiftPropWithinAt P g s x ↔ LiftPropWithinAt P (g ∘ e.symm) (e.symm ⁻¹' s) (e x) :=
   by
   have := e.symm.continuous_within_at_iff_continuous_within_at_comp_right xe
-  rw [e.symm_symm] at this
+  rw [e.symm_symm] at this 
   rw [lift_prop_within_at_self_source, lift_prop_within_at, ← this]
   simp_rw [Function.comp_apply, e.left_inv xe]
   refine' and_congr Iff.rfl _
@@ -417,7 +417,7 @@ theorem liftPropWithinAt_inter (ht : t ∈ 𝓝 x) :
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter
 
 theorem liftPropAt_of_liftPropWithinAt (h : LiftPropWithinAt P g s x) (hs : s ∈ 𝓝 x) :
-    LiftPropAt P g x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs] at h
+    LiftPropAt P g x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs] at h 
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAt
 
 theorem liftPropWithinAt_of_liftPropAt_of_mem_nhds (h : LiftPropAt P g x) (hs : s ∈ 𝓝 x) :
@@ -430,7 +430,7 @@ theorem liftPropOn_of_locally_liftPropOn
   intro x hx
   rcases h x hx with ⟨u, u_open, xu, hu⟩
   have := hu x ⟨hx, xu⟩
-  rwa [hG.lift_prop_within_at_inter] at this
+  rwa [hG.lift_prop_within_at_inter] at this 
   exact IsOpen.mem_nhds u_open xu
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOn
 
@@ -504,14 +504,14 @@ theorem liftPropWithinAt_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆
   by
   refine' ⟨h.1.mono hts, _⟩
   apply mono (fun y hy => _) h.2
-  simp only [mfld_simps] at hy
+  simp only [mfld_simps] at hy 
   simp only [hy, hts _, mfld_simps]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono
 
 theorem liftPropWithinAt_of_liftPropAt (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropAt P g x) : LiftPropWithinAt P g s x :=
   by
-  rw [← lift_prop_within_at_univ] at h
+  rw [← lift_prop_within_at_univ] at h 
   exact lift_prop_within_at_mono mono h (subset_univ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt
 
@@ -523,7 +523,7 @@ theorem liftPropOn_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s →
 theorem liftPropOn_of_liftProp (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftProp P g) : LiftPropOn P g s :=
   by
-  rw [← lift_prop_on_univ] at h
+  rw [← lift_prop_on_univ] at h 
   exact lift_prop_on_mono mono h (subset_univ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_lift_prop StructureGroupoid.LocalInvariantProp.liftPropOn_of_liftProp
 
@@ -653,7 +653,7 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
       rcases h hxs with ⟨e, heG, hef, hex⟩
       refine' ⟨e'.symm.trans e, G.trans (G.symm he'G) heG, _, _⟩
       · intro y hy
-        simp only [mfld_simps] at hy
+        simp only [mfld_simps] at hy 
         simp only [hef ⟨hy.1, hy.2.2⟩, mfld_simps]
       · simp only [hex, he'x, mfld_simps]
     congr_of_forall := by
@@ -667,7 +667,7 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
       rcases h hx with ⟨e, heG, hef, hex⟩
       refine' ⟨e.trans e', G.trans heG he'G, _, _⟩
       · intro y hy
-        simp only [mfld_simps] at hy
+        simp only [mfld_simps] at hy 
         simp only [hef ⟨hy.1, hy.2.1⟩, mfld_simps]
       · simpa only [hex, hef ⟨hx, hex⟩, mfld_simps] using hfx }
 #align structure_groupoid.is_local_structomorph_within_at_local_invariant_prop StructureGroupoid.isLocalStructomorphWithinAt_localInvariantProp
@@ -738,7 +738,7 @@ theorem HasGroupoid.comp
       rintro _ _ ⟨e, f, he, hf, rfl⟩ ⟨e', f', he', hf', rfl⟩
       apply G₁.locality
       intro x hx
-      simp only [mfld_simps] at hx
+      simp only [mfld_simps] at hx 
       have hxs : x ∈ f.symm ⁻¹' (e.symm ≫ₕ e').source := by simp only [hx, mfld_simps]
       have hxs' : x ∈ f.target ∩ f.symm ⁻¹' ((e.symm ≫ₕ e').source ∩ e.symm ≫ₕ e' ⁻¹' f'.source) :=
         by simp only [hx, mfld_simps]
@@ -746,7 +746,7 @@ theorem HasGroupoid.comp
         local_invariant_prop.lift_prop_on_indep_chart
           (is_local_structomorph_within_at_local_invariant_prop G₁) (G₁.subset_maximal_atlas hf)
           (G₁.subset_maximal_atlas hf') (H _ (G₂.compatible he he')) hxs' hxs
-      simp_rw [← LocalHomeomorph.coe_trans, LocalHomeomorph.trans_assoc] at hφ
+      simp_rw [← LocalHomeomorph.coe_trans, LocalHomeomorph.trans_assoc] at hφ 
       simp_rw [LocalHomeomorph.trans_symm_eq_symm_trans_symm, LocalHomeomorph.trans_assoc]
       have hs : IsOpen (f.symm ≫ₕ e.symm ≫ₕ e' ≫ₕ f').source :=
         (f.symm ≫ₕ e.symm ≫ₕ e' ≫ₕ f').open_source
Diff
@@ -53,7 +53,7 @@ in the one for `lift_prop_within_at`.
 
 noncomputable section
 
-open Classical Manifold Topology
+open scoped Classical Manifold Topology
 
 open Set Filter
 
Diff
@@ -103,23 +103,11 @@ theorem congr_set {s t : Set H} {x : H} {f : H → H'} (hu : s =ᶠ[𝓝 x] t) :
 #align structure_groupoid.local_invariant_prop.congr_set StructureGroupoid.LocalInvariantProp.congr_set
 -/
 
-/- warning: structure_groupoid.local_invariant_prop.is_local_nhds -> StructureGroupoid.LocalInvariantProp.is_local_nhds is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {u : Set.{u1} H} {x : H} {f : H -> H'}, (Membership.Mem.{u1, u1} (Set.{u1} H) (Filter.{u1} H) (Filter.hasMem.{u1} H) u (nhdsWithin.{u1} H _inst_1 x s)) -> (Iff (P f s x) (P f (Inter.inter.{u1} (Set.{u1} H) (Set.hasInter.{u1} H) s u) x)))
-but is expected to have type
-  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {u : Set.{u1} H} {x : H} {f : H -> H'}, (Membership.mem.{u1, u1} (Set.{u1} H) (Filter.{u1} H) (instMembershipSetFilter.{u1} H) u (nhdsWithin.{u1} H _inst_1 x s)) -> (Iff (P f s x) (P f (Inter.inter.{u1} (Set.{u1} H) (Set.instInterSet.{u1} H) s u) x)))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.is_local_nhds StructureGroupoid.LocalInvariantProp.is_local_nhdsₓ'. -/
 theorem is_local_nhds {s u : Set H} {x : H} {f : H → H'} (hu : u ∈ 𝓝[s] x) :
     P f s x ↔ P f (s ∩ u) x :=
   hG.congr_set <| mem_nhdsWithin_iff_eventuallyEq.mp hu
 #align structure_groupoid.local_invariant_prop.is_local_nhds StructureGroupoid.LocalInvariantProp.is_local_nhds
 
-/- warning: structure_groupoid.local_invariant_prop.congr_iff_nhds_within -> StructureGroupoid.LocalInvariantProp.congr_iff_nhdsWithin is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhdsWithin.{u1} H _inst_1 x s) f g) -> (Eq.{succ u2} H' (f x) (g x)) -> (Iff (P f s x) (P g s x)))
-but is expected to have type
-  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhdsWithin.{u2} H _inst_1 x s) f g) -> (Eq.{succ u1} H' (f x) (g x)) -> (Iff (P f s x) (P g s x)))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr_iff_nhds_within StructureGroupoid.LocalInvariantProp.congr_iff_nhdsWithinₓ'. -/
 theorem congr_iff_nhdsWithin {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[𝓝[s] x] g)
     (h2 : f x = g x) : P f s x ↔ P g s x :=
   by
@@ -128,64 +116,28 @@ theorem congr_iff_nhdsWithin {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[
     ⟨hG.congr_of_forall (fun y hy => hy.2) h2, hG.congr_of_forall (fun y hy => hy.2.symm) h2.symm⟩
 #align structure_groupoid.local_invariant_prop.congr_iff_nhds_within StructureGroupoid.LocalInvariantProp.congr_iff_nhdsWithin
 
-/- warning: structure_groupoid.local_invariant_prop.congr_nhds_within -> StructureGroupoid.LocalInvariantProp.congr_nhdsWithin is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhdsWithin.{u1} H _inst_1 x s) f g) -> (Eq.{succ u2} H' (f x) (g x)) -> (P f s x) -> (P g s x))
-but is expected to have type
-  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhdsWithin.{u2} H _inst_1 x s) f g) -> (Eq.{succ u1} H' (f x) (g x)) -> (P f s x) -> (P g s x))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr_nhds_within StructureGroupoid.LocalInvariantProp.congr_nhdsWithinₓ'. -/
 theorem congr_nhdsWithin {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[𝓝[s] x] g) (h2 : f x = g x)
     (hP : P f s x) : P g s x :=
   (hG.congr_iff_nhdsWithin h1 h2).mp hP
 #align structure_groupoid.local_invariant_prop.congr_nhds_within StructureGroupoid.LocalInvariantProp.congr_nhdsWithin
 
-/- warning: structure_groupoid.local_invariant_prop.congr_nhds_within' -> StructureGroupoid.LocalInvariantProp.congr_nhdsWithin' is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhdsWithin.{u1} H _inst_1 x s) f g) -> (Eq.{succ u2} H' (f x) (g x)) -> (P g s x) -> (P f s x))
-but is expected to have type
-  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhdsWithin.{u2} H _inst_1 x s) f g) -> (Eq.{succ u1} H' (f x) (g x)) -> (P g s x) -> (P f s x))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr_nhds_within' StructureGroupoid.LocalInvariantProp.congr_nhdsWithin'ₓ'. -/
 theorem congr_nhdsWithin' {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[𝓝[s] x] g) (h2 : f x = g x)
     (hP : P g s x) : P f s x :=
   (hG.congr_iff_nhdsWithin h1 h2).mpr hP
 #align structure_groupoid.local_invariant_prop.congr_nhds_within' StructureGroupoid.LocalInvariantProp.congr_nhdsWithin'
 
-/- warning: structure_groupoid.local_invariant_prop.congr_iff -> StructureGroupoid.LocalInvariantProp.congr_iff is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhds.{u1} H _inst_1 x) f g) -> (Iff (P f s x) (P g s x)))
-but is expected to have type
-  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhds.{u2} H _inst_1 x) f g) -> (Iff (P f s x) (P g s x)))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr_iff StructureGroupoid.LocalInvariantProp.congr_iffₓ'. -/
 theorem congr_iff {s : Set H} {x : H} {f g : H → H'} (h : f =ᶠ[𝓝 x] g) : P f s x ↔ P g s x :=
   hG.congr_iff_nhdsWithin (mem_nhdsWithin_of_mem_nhds h) (mem_of_mem_nhds h : _)
 #align structure_groupoid.local_invariant_prop.congr_iff StructureGroupoid.LocalInvariantProp.congr_iff
 
-/- warning: structure_groupoid.local_invariant_prop.congr -> StructureGroupoid.LocalInvariantProp.congr is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhds.{u1} H _inst_1 x) f g) -> (P f s x) -> (P g s x))
-but is expected to have type
-  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhds.{u2} H _inst_1 x) f g) -> (P f s x) -> (P g s x))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr StructureGroupoid.LocalInvariantProp.congrₓ'. -/
 theorem congr {s : Set H} {x : H} {f g : H → H'} (h : f =ᶠ[𝓝 x] g) (hP : P f s x) : P g s x :=
   (hG.congr_iff h).mp hP
 #align structure_groupoid.local_invariant_prop.congr StructureGroupoid.LocalInvariantProp.congr
 
-/- warning: structure_groupoid.local_invariant_prop.congr' -> StructureGroupoid.LocalInvariantProp.congr' is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhds.{u1} H _inst_1 x) f g) -> (P g s x) -> (P f s x))
-but is expected to have type
-  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhds.{u2} H _inst_1 x) f g) -> (P g s x) -> (P f s x))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr' StructureGroupoid.LocalInvariantProp.congr'ₓ'. -/
 theorem congr' {s : Set H} {x : H} {f g : H → H'} (h : f =ᶠ[𝓝 x] g) (hP : P g s x) : P f s x :=
   hG.congr h.symm hP
 #align structure_groupoid.local_invariant_prop.congr' StructureGroupoid.LocalInvariantProp.congr'
 
-/- warning: structure_groupoid.local_invariant_prop.left_invariance -> StructureGroupoid.LocalInvariantProp.left_invariance is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {e' : LocalHomeomorph.{u2, u2} H' H' _inst_4 _inst_4}, (Membership.Mem.{u2, u2} (LocalHomeomorph.{u2, u2} H' H' _inst_4 _inst_4) (StructureGroupoid.{u2} H' _inst_4) (StructureGroupoid.hasMem.{u2} H' _inst_4) e' G') -> (ContinuousWithinAt.{u1, u2} H H' _inst_1 _inst_4 f s x) -> (Membership.Mem.{u2, u2} H' (Set.{u2} H') (Set.hasMem.{u2} H') (f x) (LocalEquiv.source.{u2, u2} H' H' (LocalHomeomorph.toLocalEquiv.{u2, u2} H' H' _inst_4 _inst_4 e'))) -> (Iff (P (Function.comp.{succ u1, succ u2, succ u2} H H' H' (coeFn.{succ u2, succ u2} (LocalHomeomorph.{u2, u2} H' H' _inst_4 _inst_4) (fun (_x : LocalHomeomorph.{u2, u2} H' H' _inst_4 _inst_4) => H' -> H') (LocalHomeomorph.hasCoeToFun.{u2, u2} H' H' _inst_4 _inst_4) e') f) s x) (P f s x)))
-but is expected to have type
-  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {e' : LocalHomeomorph.{u1, u1} H' H' _inst_4 _inst_4}, (Membership.mem.{u1, u1} (LocalHomeomorph.{u1, u1} H' H' _inst_4 _inst_4) (StructureGroupoid.{u1} H' _inst_4) (instMembershipLocalHomeomorphStructureGroupoid.{u1} H' _inst_4) e' G') -> (ContinuousWithinAt.{u2, u1} H H' _inst_1 _inst_4 f s x) -> (Membership.mem.{u1, u1} H' (Set.{u1} H') (Set.instMembershipSet.{u1} H') (f x) (LocalEquiv.source.{u1, u1} H' H' (LocalHomeomorph.toLocalEquiv.{u1, u1} H' H' _inst_4 _inst_4 e'))) -> (Iff (P (Function.comp.{succ u2, succ u1, succ u1} H H' H' (LocalHomeomorph.toFun'.{u1, u1} H' H' _inst_4 _inst_4 e') f) s x) (P f s x)))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.left_invariance StructureGroupoid.LocalInvariantProp.left_invarianceₓ'. -/
 theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : LocalHomeomorph H' H'}
     (he' : e' ∈ G') (hfs : ContinuousWithinAt f s x) (hxe' : f x ∈ e'.source) :
     P (e' ∘ f) s x ↔ P f s x :=
@@ -205,12 +157,6 @@ theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : LocalHomeomorph
     exact hG.left_invariance' he' (inter_subset_right _ _) hxe'
 #align structure_groupoid.local_invariant_prop.left_invariance StructureGroupoid.LocalInvariantProp.left_invariance
 
-/- warning: structure_groupoid.local_invariant_prop.right_invariance -> StructureGroupoid.LocalInvariantProp.right_invariance is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1}, (Membership.Mem.{u1, u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (StructureGroupoid.{u1} H _inst_1) (StructureGroupoid.hasMem.{u1} H _inst_1) e G) -> (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e))) -> (Iff (P (Function.comp.{succ u1, succ u1, succ u2} H H H' f (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (_x : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) (LocalHomeomorph.symm.{u1, u1} H H _inst_1 _inst_1 e))) (Set.preimage.{u1, u1} H H (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (_x : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) (LocalHomeomorph.symm.{u1, u1} H H _inst_1 _inst_1 e)) s) (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (_x : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) e x)) (P f s x)))
-but is expected to have type
-  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {e : LocalHomeomorph.{u2, u2} H H _inst_1 _inst_1}, (Membership.mem.{u2, u2} (LocalHomeomorph.{u2, u2} H H _inst_1 _inst_1) (StructureGroupoid.{u2} H _inst_1) (instMembershipLocalHomeomorphStructureGroupoid.{u2} H _inst_1) e G) -> (Membership.mem.{u2, u2} H (Set.{u2} H) (Set.instMembershipSet.{u2} H) x (LocalEquiv.source.{u2, u2} H H (LocalHomeomorph.toLocalEquiv.{u2, u2} H H _inst_1 _inst_1 e))) -> (Iff (P (Function.comp.{succ u2, succ u2, succ u1} H H H' f (LocalHomeomorph.toFun'.{u2, u2} H H _inst_1 _inst_1 (LocalHomeomorph.symm.{u2, u2} H H _inst_1 _inst_1 e))) (Set.preimage.{u2, u2} H H (LocalHomeomorph.toFun'.{u2, u2} H H _inst_1 _inst_1 (LocalHomeomorph.symm.{u2, u2} H H _inst_1 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u2, u2} H H _inst_1 _inst_1 e x)) (P f s x)))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.right_invariance StructureGroupoid.LocalInvariantProp.right_invarianceₓ'. -/
 theorem right_invariance {s : Set H} {x : H} {f : H → H'} {e : LocalHomeomorph H H} (he : e ∈ G)
     (hxe : x ∈ e.source) : P (f ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P f s x :=
   by
@@ -262,12 +208,6 @@ def LiftPropAt (P : (H → H') → Set H → H → Prop) (f : M → M') (x : M)
 #align charted_space.lift_prop_at ChartedSpace.LiftPropAt
 -/
 
-/- warning: charted_space.lift_prop_at_iff -> ChartedSpace.liftPropAt_iff is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {f : M -> M'} {x : M}, Iff (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f x) (And (ContinuousAt.{u2, u4} M M' _inst_2 _inst_5 f x) (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) (ChartedSpace.chartAt.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u1, succ u2, succ u4} H M M' f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))))) (Set.univ.{u1} H) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x) x)))
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {f : M -> M'} {x : M}, Iff (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f x) (And (ContinuousAt.{u3, u1} M M' _inst_2 _inst_5 f x) (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u4, succ u3, succ u1} H M M' f (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x))))) (Set.univ.{u4} H) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x) x)))
-Case conversion may be inaccurate. Consider using '#align charted_space.lift_prop_at_iff ChartedSpace.liftPropAt_iffₓ'. -/
 theorem liftPropAt_iff {P : (H → H') → Set H → H → Prop} {f : M → M'} {x : M} :
     LiftPropAt P f x ↔
       ContinuousAt f x ∧ P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) univ (chartAt H x x) :=
@@ -283,12 +223,6 @@ def LiftProp (P : (H → H') → Set H → H → Prop) (f : M → M') :=
 #align charted_space.lift_prop ChartedSpace.LiftProp
 -/
 
-/- warning: charted_space.lift_prop_iff -> ChartedSpace.liftProp_iff is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {f : M -> M'}, Iff (ChartedSpace.LiftProp.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f) (And (Continuous.{u2, u4} M M' _inst_2 _inst_5 f) (forall (x : M), P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) (ChartedSpace.chartAt.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u1, succ u2, succ u4} H M M' f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))))) (Set.univ.{u1} H) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x) x)))
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {f : M -> M'}, Iff (ChartedSpace.LiftProp.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f) (And (Continuous.{u3, u1} M M' _inst_2 _inst_5 f) (forall (x : M), P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u4, succ u3, succ u1} H M M' f (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x))))) (Set.univ.{u4} H) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x) x)))
-Case conversion may be inaccurate. Consider using '#align charted_space.lift_prop_iff ChartedSpace.liftProp_iffₓ'. -/
 theorem liftProp_iff {P : (H → H') → Set H → H → Prop} {f : M → M'} :
     LiftProp P f ↔
       Continuous f ∧ ∀ x, P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) univ (chartAt H x x) :=
@@ -305,54 +239,24 @@ variable {G : StructureGroupoid H} {G' : StructureGroupoid H'} {e e' : LocalHome
   {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}
 
-/- warning: structure_groupoid.lift_prop_within_at_univ -> StructureGroupoid.liftPropWithinAt_univ is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {x : M}, Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Set.univ.{u2} M) x) (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {x : M}, Iff (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Set.univ.{u3} M) x) (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x)
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.lift_prop_within_at_univ StructureGroupoid.liftPropWithinAt_univₓ'. -/
 theorem liftPropWithinAt_univ : LiftPropWithinAt P g univ x ↔ LiftPropAt P g x :=
   Iff.rfl
 #align structure_groupoid.lift_prop_within_at_univ StructureGroupoid.liftPropWithinAt_univ
 
-/- warning: structure_groupoid.lift_prop_on_univ -> StructureGroupoid.liftPropOn_univ is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'}, Iff (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Set.univ.{u2} M)) (ChartedSpace.LiftProp.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'}, Iff (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Set.univ.{u3} M)) (ChartedSpace.LiftProp.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g)
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.lift_prop_on_univ StructureGroupoid.liftPropOn_univₓ'. -/
 theorem liftPropOn_univ : LiftPropOn P g univ ↔ LiftProp P g := by
   simp [lift_prop_on, lift_prop, lift_prop_at]
 #align structure_groupoid.lift_prop_on_univ StructureGroupoid.liftPropOn_univ
 
-/- warning: structure_groupoid.lift_prop_within_at_self -> StructureGroupoid.liftPropWithinAt_self is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {f : H -> H'} {s : Set.{u1} H} {x : H}, Iff (ChartedSpace.LiftPropWithinAt.{u1, u1, u2, u2} H H H' H' _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_4 _inst_4 (chartedSpaceSelf.{u2} H' _inst_4) P f s x) (And (ContinuousWithinAt.{u1, u2} H H' _inst_1 _inst_4 f s x) (P f s x))
-but is expected to have type
-  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {f : H -> H'} {s : Set.{u2} H} {x : H}, Iff (ChartedSpace.LiftPropWithinAt.{u2, u2, u1, u1} H H H' H' _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) _inst_4 _inst_4 (chartedSpaceSelf.{u1} H' _inst_4) P f s x) (And (ContinuousWithinAt.{u2, u1} H H' _inst_1 _inst_4 f s x) (P f s x))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.lift_prop_within_at_self StructureGroupoid.liftPropWithinAt_selfₓ'. -/
 theorem liftPropWithinAt_self {f : H → H'} {s : Set H} {x : H} :
     LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P f s x :=
   Iff.rfl
 #align structure_groupoid.lift_prop_within_at_self StructureGroupoid.liftPropWithinAt_self
 
-/- warning: structure_groupoid.lift_prop_within_at_self_source -> StructureGroupoid.liftPropWithinAt_self_source is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u2, u3} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {f : H -> M'} {s : Set.{u1} H} {x : H}, Iff (ChartedSpace.LiftPropWithinAt.{u1, u1, u2, u3} H H H' M' _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_4 _inst_5 _inst_6 P f s x) (And (ContinuousWithinAt.{u1, u3} H M' _inst_1 _inst_5 f s x) (P (Function.comp.{succ u1, succ u3, succ u2} H M' H' (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u3, u2} M' H' _inst_5 _inst_4) (ChartedSpace.chartAt.{u2, u3} H' _inst_4 M' _inst_5 _inst_6 (f x))) f) s x))
-but is expected to have type
-  forall {H : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {f : H -> M'} {s : Set.{u3} H} {x : H}, Iff (ChartedSpace.LiftPropWithinAt.{u3, u3, u2, u1} H H H' M' _inst_1 _inst_1 (chartedSpaceSelf.{u3} H _inst_1) _inst_4 _inst_5 _inst_6 P f s x) (And (ContinuousWithinAt.{u3, u1} H M' _inst_1 _inst_5 f s x) (P (Function.comp.{succ u3, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 (f x))) f) s x))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.lift_prop_within_at_self_source StructureGroupoid.liftPropWithinAt_self_sourceₓ'. -/
 theorem liftPropWithinAt_self_source {f : H → M'} {s : Set H} {x : H} :
     LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P (chartAt H' (f x) ∘ f) s x :=
   Iff.rfl
 #align structure_groupoid.lift_prop_within_at_self_source StructureGroupoid.liftPropWithinAt_self_source
 
-/- warning: structure_groupoid.lift_prop_within_at_self_target -> StructureGroupoid.liftPropWithinAt_self_target is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {s : Set.{u2} M} {x : M} {f : M -> H'}, Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u3} H M H' H' _inst_1 _inst_2 _inst_3 _inst_4 _inst_4 (chartedSpaceSelf.{u3} H' _inst_4) P f s x) (And (ContinuousWithinAt.{u2, u3} M H' _inst_2 _inst_4 f s x) (P (Function.comp.{succ u1, succ u2, succ u3} H M H' f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x)))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x) x)))
-but is expected to have type
-  forall {H : Type.{u3}} {M : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u3, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {s : Set.{u2} M} {x : M} {f : M -> H'}, Iff (ChartedSpace.LiftPropWithinAt.{u3, u2, u1, u1} H M H' H' _inst_1 _inst_2 _inst_3 _inst_4 _inst_4 (chartedSpaceSelf.{u1} H' _inst_4) P f s x) (And (ContinuousWithinAt.{u2, u1} M H' _inst_2 _inst_4 f s x) (P (Function.comp.{succ u3, succ u2, succ u1} H M H' f (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u3, u2} H _inst_1 M _inst_2 _inst_3 x)))) (Set.preimage.{u3, u2} H M (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u3, u2} H _inst_1 M _inst_2 _inst_3 x))) s) (LocalHomeomorph.toFun'.{u2, u3} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u3, u2} H _inst_1 M _inst_2 _inst_3 x) x)))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.lift_prop_within_at_self_target StructureGroupoid.liftPropWithinAt_self_targetₓ'. -/
 theorem liftPropWithinAt_self_target {f : M → H'} :
     LiftPropWithinAt P f s x ↔
       ContinuousWithinAt f s x ∧
@@ -366,9 +270,6 @@ variable (hG : G.LocalInvariantProp G' P)
 
 include hG
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_iff -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iffₓ'. -/
 /-- `lift_prop_within_at P f s x` is equivalent to a definition where we restrict the set we are
   considering to the domain of the charts at `x` and `f x`. -/
 theorem liftPropWithinAt_iff {f : M → M'} :
@@ -384,9 +285,6 @@ theorem liftPropWithinAt_iff {f : M → M'} :
       (chart_source_mem_nhds H' (f x))
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iff
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source_aux -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source_aux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source_auxₓ'. -/
 theorem liftPropWithinAt_indep_chart_source_aux (g : M → H') (he : e ∈ G.maximalAtlas M)
     (xe : x ∈ e.source) (he' : e' ∈ G.maximalAtlas M) (xe' : x ∈ e'.source) :
     P (g ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P (g ∘ e'.symm) (e'.symm ⁻¹' s) (e' x) :=
@@ -406,9 +304,6 @@ theorem liftPropWithinAt_indep_chart_source_aux (g : M → H') (he : e ∈ G.max
     rw [hy]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source_aux
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2 is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2ₓ'. -/
 theorem liftPropWithinAt_indep_chart_target_aux2 (g : H → M') {x : H} {s : Set H}
     (hf : f ∈ G'.maximalAtlas M') (xf : g x ∈ f.source) (hf' : f' ∈ G'.maximalAtlas M')
     (xf' : g x ∈ f'.source) (hgs : ContinuousWithinAt g s x) : P (f ∘ g) s x ↔ P (f' ∘ g) s x :=
@@ -421,9 +316,6 @@ theorem liftPropWithinAt_indep_chart_target_aux2 (g : H → M') {x : H} {s : Set
   exact (hgs.eventually <| f.eventually_left_inverse xf).mono fun y => congr_arg f'
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_auxₓ'. -/
 theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : LocalHomeomorph X H} {x : X}
     {s : Set X} (xe : x ∈ e.source) (hf : f ∈ G'.maximalAtlas M') (xf : g x ∈ f.source)
     (hf' : f' ∈ G'.maximalAtlas M') (xf' : g x ∈ f'.source) (hgs : ContinuousWithinAt g s x) :
@@ -434,9 +326,6 @@ theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : LocalHomeomo
   exact hgs.comp (e.symm.continuous_at <| e.maps_to xe).ContinuousWithinAt subset.rfl
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_aux -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_aux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_auxₓ'. -/
 /-- If a property of a germ of function `g` on a pointed set `(s, x)` is invariant under the
 structure groupoid (by composition in the source space and in the target space), then
 expressing it in charted spaces does not depend on the element of the maximal atlas one uses
@@ -452,9 +341,6 @@ theorem liftPropWithinAt_indep_chart_aux (he : e ∈ G.maximalAtlas M) (xe : x 
     hG.lift_prop_within_at_indep_chart_target_aux xe' hf xf hf' xf' hgs]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_aux
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chartₓ'. -/
 theorem liftPropWithinAt_indep_chart [HasGroupoid M G] [HasGroupoid M' G']
     (he : e ∈ G.maximalAtlas M) (xe : x ∈ e.source) (hf : f ∈ G'.maximalAtlas M')
     (xf : g x ∈ f.source) :
@@ -464,9 +350,6 @@ theorem liftPropWithinAt_indep_chart [HasGroupoid M G] [HasGroupoid M' G']
       (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) hf xf
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_sourceₓ'. -/
 /-- A version of `lift_prop_within_at_indep_chart`, only for the source. -/
 theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maximalAtlas M)
     (xe : x ∈ e.source) :
@@ -481,9 +364,6 @@ theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maxi
       (chart_mem_maximal_atlas G x) (mem_chart_source H x) he xe]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_targetₓ'. -/
 /-- A version of `lift_prop_within_at_indep_chart`, only for the target. -/
 theorem liftPropWithinAt_indep_chart_target [HasGroupoid M' G'] (hf : f ∈ G'.maximalAtlas M')
     (xf : g x ∈ f.source) :
@@ -497,9 +377,6 @@ theorem liftPropWithinAt_indep_chart_target [HasGroupoid M' G'] (hf : f ∈ G'.m
       (chart_mem_maximal_atlas _ _) (mem_chart_source _ _) hf xf hg
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart' -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart'ₓ'. -/
 /-- A version of `lift_prop_within_at_indep_chart`, that uses `lift_prop_within_at` on both sides.
 -/
 theorem liftPropWithinAt_indep_chart' [HasGroupoid M G] [HasGroupoid M' G']
@@ -517,9 +394,6 @@ theorem liftPropWithinAt_indep_chart' [HasGroupoid M G] [HasGroupoid M' G']
   exact this.comp_continuous_within_at h1
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart'
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart -> StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chart is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chartₓ'. -/
 theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈ G.maximalAtlas M)
     (hf : f ∈ G'.maximalAtlas M') (h : LiftPropOn P g s) {y : H}
     (hy : y ∈ e.target ∩ e.symm ⁻¹' (s ∩ g ⁻¹' f.source)) : P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) y :=
@@ -528,9 +402,6 @@ theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈
   rw [e.right_inv hy.1]
 #align structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chart
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_inter' -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter'ₓ'. -/
 theorem liftPropWithinAt_inter' (ht : t ∈ 𝓝[s] x) :
     LiftPropWithinAt P g (s ∩ t) x ↔ LiftPropWithinAt P g s x :=
   by
@@ -540,31 +411,19 @@ theorem liftPropWithinAt_inter' (ht : t ∈ 𝓝[s] x) :
   exact (mem_nhds_within_iff_eventually_eq.mp ht).symm.mem_iff
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter'
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_inter -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter StructureGroupoid.LocalInvariantProp.liftPropWithinAt_interₓ'. -/
 theorem liftPropWithinAt_inter (ht : t ∈ 𝓝 x) :
     LiftPropWithinAt P g (s ∩ t) x ↔ LiftPropWithinAt P g s x :=
   hG.liftPropWithinAt_inter' (mem_nhdsWithin_of_mem_nhds ht)
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at -> StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAt is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAtₓ'. -/
 theorem liftPropAt_of_liftPropWithinAt (h : LiftPropWithinAt P g s x) (hs : s ∈ 𝓝 x) :
     LiftPropAt P g x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs] at h
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAt
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at_of_mem_nhds -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt_of_mem_nhds is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at_of_mem_nhds StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt_of_mem_nhdsₓ'. -/
 theorem liftPropWithinAt_of_liftPropAt_of_mem_nhds (h : LiftPropAt P g x) (hs : s ∈ 𝓝 x) :
     LiftPropWithinAt P g s x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at_of_mem_nhds StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt_of_mem_nhds
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on -> StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOn is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOnₓ'. -/
 theorem liftPropOn_of_locally_liftPropOn
     (h : ∀ x ∈ s, ∃ u, IsOpen u ∧ x ∈ u ∧ LiftPropOn P g (s ∩ u)) : LiftPropOn P g s :=
   by
@@ -575,9 +434,6 @@ theorem liftPropOn_of_locally_liftPropOn
   exact IsOpen.mem_nhds u_open xu
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOn
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_of_locally_lift_prop_on -> StructureGroupoid.LocalInvariantProp.liftProp_of_locally_liftPropOn is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftProp_of_locally_liftPropOnₓ'. -/
 theorem liftProp_of_locally_liftPropOn (h : ∀ x, ∃ u, IsOpen u ∧ x ∈ u ∧ LiftPropOn P g u) :
     LiftProp P g := by
   rw [← lift_prop_on_univ]
@@ -585,9 +441,6 @@ theorem liftProp_of_locally_liftPropOn (h : ∀ x, ∃ u, IsOpen u ∧ x ∈ u 
   simp [h x]
 #align structure_groupoid.local_invariant_prop.lift_prop_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftProp_of_locally_liftPropOn
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEqₓ'. -/
 theorem liftPropWithinAt_congr_of_eventuallyEq (h : LiftPropWithinAt P g s x) (h₁ : g' =ᶠ[𝓝[s] x] g)
     (hx : g' x = g x) : LiftPropWithinAt P g' s x :=
   by
@@ -601,66 +454,42 @@ theorem liftPropWithinAt_congr_of_eventuallyEq (h : LiftPropWithinAt P g s x) (h
   exact h₁.mono fun y hy => by rw [hx, hy]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEq
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff_of_eventuallyEq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff_of_eventuallyEqₓ'. -/
 theorem liftPropWithinAt_congr_iff_of_eventuallyEq (h₁ : g' =ᶠ[𝓝[s] x] g) (hx : g' x = g x) :
     LiftPropWithinAt P g' s x ↔ LiftPropWithinAt P g s x :=
   ⟨fun h => hG.liftPropWithinAt_congr_of_eventuallyEq h h₁.symm hx.symm, fun h =>
     hG.liftPropWithinAt_congr_of_eventuallyEq h h₁ hx⟩
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff_of_eventuallyEq
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iffₓ'. -/
 theorem liftPropWithinAt_congr_iff (h₁ : ∀ y ∈ s, g' y = g y) (hx : g' x = g x) :
     LiftPropWithinAt P g' s x ↔ LiftPropWithinAt P g s x :=
   hG.liftPropWithinAt_congr_iff_of_eventuallyEq (eventually_nhdsWithin_of_forall h₁) hx
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congrₓ'. -/
 theorem liftPropWithinAt_congr (h : LiftPropWithinAt P g s x) (h₁ : ∀ y ∈ s, g' y = g y)
     (hx : g' x = g x) : LiftPropWithinAt P g' s x :=
   (hG.liftPropWithinAt_congr_iff h₁ hx).mpr h
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_congr_iff_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropAt_congr_iff_of_eventuallyEq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_iff_of_eventuallyEqₓ'. -/
 theorem liftPropAt_congr_iff_of_eventuallyEq (h₁ : g' =ᶠ[𝓝 x] g) :
     LiftPropAt P g' x ↔ LiftPropAt P g x :=
   hG.liftPropWithinAt_congr_iff_of_eventuallyEq (by simp_rw [nhdsWithin_univ, h₁]) h₁.eq_of_nhds
 #align structure_groupoid.local_invariant_prop.lift_prop_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_iff_of_eventuallyEq
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_congr_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropAt_congr_of_eventuallyEq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_of_eventuallyEqₓ'. -/
 theorem liftPropAt_congr_of_eventuallyEq (h : LiftPropAt P g x) (h₁ : g' =ᶠ[𝓝 x] g) :
     LiftPropAt P g' x :=
   (hG.liftPropAt_congr_iff_of_eventuallyEq h₁).mpr h
 #align structure_groupoid.local_invariant_prop.lift_prop_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_of_eventuallyEq
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_congr -> StructureGroupoid.LocalInvariantProp.liftPropOn_congr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_congr StructureGroupoid.LocalInvariantProp.liftPropOn_congrₓ'. -/
 theorem liftPropOn_congr (h : LiftPropOn P g s) (h₁ : ∀ y ∈ s, g' y = g y) : LiftPropOn P g' s :=
   fun x hx => hG.liftPropWithinAt_congr (h x hx) h₁ (h₁ x hx)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_congr StructureGroupoid.LocalInvariantProp.liftPropOn_congr
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_congr_iff -> StructureGroupoid.LocalInvariantProp.liftPropOn_congr_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_congr_iff StructureGroupoid.LocalInvariantProp.liftPropOn_congr_iffₓ'. -/
 theorem liftPropOn_congr_iff (h₁ : ∀ y ∈ s, g' y = g y) : LiftPropOn P g' s ↔ LiftPropOn P g s :=
   ⟨fun h => hG.liftPropOn_congr h fun y hy => (h₁ y hy).symm, fun h => hG.liftPropOn_congr h h₁⟩
 #align structure_groupoid.local_invariant_prop.lift_prop_on_congr_iff StructureGroupoid.LocalInvariantProp.liftPropOn_congr_iff
 
 omit hG
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_mono_of_mem -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono_of_mem StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_memₓ'. -/
 theorem liftPropWithinAt_mono_of_mem
     (mono_of_mem : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, s ∈ 𝓝[t] x → P f s x → P f t x)
     (h : LiftPropWithinAt P g s x) (hst : s ∈ 𝓝[t] x) : LiftPropWithinAt P g t x :=
@@ -670,9 +499,6 @@ theorem liftPropWithinAt_mono_of_mem
     (chart_at H x).left_inv (mem_chart_source H x), hst]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono_of_mem StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_mem
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_mono -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono StructureGroupoid.LocalInvariantProp.liftPropWithinAt_monoₓ'. -/
 theorem liftPropWithinAt_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropWithinAt P g s x) (hts : t ⊆ s) : LiftPropWithinAt P g t x :=
   by
@@ -682,12 +508,6 @@ theorem liftPropWithinAt_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆
   simp only [hy, hts _, mfld_simps]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (forall {{s : Set.{u1} H}} {{x : H}} {{t : Set.{u1} H}} {{f : H -> H'}}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (forall {{s : Set.{u4} H}} {{x : H}} {{t : Set.{u4} H}} {{f : H -> H'}}, (HasSubset.Subset.{u4} (Set.{u4} H) (Set.instHasSubsetSet.{u4} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x)
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAtₓ'. -/
 theorem liftPropWithinAt_of_liftPropAt (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropAt P g x) : LiftPropWithinAt P g s x :=
   by
@@ -695,23 +515,11 @@ theorem liftPropWithinAt_of_liftPropAt (mono : ∀ ⦃s x t⦄ ⦃f : H → H'
   exact lift_prop_within_at_mono mono h (subset_univ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_mono -> StructureGroupoid.LocalInvariantProp.liftPropOn_mono is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {t : Set.{u2} M}, (forall {{s : Set.{u1} H}} {{x : H}} {{t : Set.{u1} H}} {{f : H -> H'}}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t) -> (HasSubset.Subset.{u2} (Set.{u2} M) (Set.hasSubset.{u2} M) s t) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {t : Set.{u3} M}, (forall {{s : Set.{u4} H}} {{x : H}} {{t : Set.{u4} H}} {{f : H -> H'}}, (HasSubset.Subset.{u4} (Set.{u4} H) (Set.instHasSubsetSet.{u4} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t) -> (HasSubset.Subset.{u3} (Set.{u3} M) (Set.instHasSubsetSet.{u3} M) s t) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_mono StructureGroupoid.LocalInvariantProp.liftPropOn_monoₓ'. -/
 theorem liftPropOn_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropOn P g t) (hst : s ⊆ t) : LiftPropOn P g s := fun x hx =>
   liftPropWithinAt_mono mono (h x (hst hx)) hst
 #align structure_groupoid.local_invariant_prop.lift_prop_on_mono StructureGroupoid.LocalInvariantProp.liftPropOn_mono
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_of_lift_prop -> StructureGroupoid.LocalInvariantProp.liftPropOn_of_liftProp is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M}, (forall {{s : Set.{u1} H}} {{x : H}} {{t : Set.{u1} H}} {{f : H -> H'}}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftProp.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M}, (forall {{s : Set.{u4} H}} {{x : H}} {{t : Set.{u4} H}} {{f : H -> H'}}, (HasSubset.Subset.{u4} (Set.{u4} H) (Set.instHasSubsetSet.{u4} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftProp.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_of_lift_prop StructureGroupoid.LocalInvariantProp.liftPropOn_of_liftPropₓ'. -/
 theorem liftPropOn_of_liftProp (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftProp P g) : LiftPropOn P g s :=
   by
@@ -719,12 +527,6 @@ theorem liftPropOn_of_liftProp (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆
   exact lift_prop_on_mono mono h (subset_univ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_lift_prop StructureGroupoid.LocalInvariantProp.liftPropOn_of_liftProp
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_of_mem_maximal_atlas -> StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_maximalAtlas is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {x : M} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (ChartedSpace.LiftPropAt.{u1, u2, u1, u1} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) Q (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e) x)
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {e : LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1} {x : M} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (Membership.mem.{max u2 u1, max u1 u2} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u2, u1} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (LocalEquiv.source.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 e))) -> (ChartedSpace.LiftPropAt.{u2, u1, u2, u2} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) Q (LocalHomeomorph.toFun'.{u1, u2} M H _inst_2 _inst_1 e) x)
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_maximalAtlasₓ'. -/
 theorem liftPropAt_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G) (hx : x ∈ e.source) : LiftPropAt Q e x :=
   by
@@ -734,12 +536,6 @@ theorem liftPropAt_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantP
   exact hG.congr' (e.eventually_right_inverse' hx) (hQ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_maximalAtlas
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_maximal_atlas -> StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_maximalAtlas is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (ChartedSpace.LiftPropOn.{u1, u2, u1, u1} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) Q (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e) (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e)))
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {e : LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (Membership.mem.{max u2 u1, max u1 u2} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u2, u1} H M _inst_1 _inst_2 _inst_3 G)) -> (ChartedSpace.LiftPropOn.{u2, u1, u2, u2} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) Q (LocalHomeomorph.toFun'.{u1, u2} M H _inst_2 _inst_1 e) (LocalEquiv.source.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 e)))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_maximalAtlasₓ'. -/
 theorem liftPropOn_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G) : LiftPropOn Q e e.source :=
   by
@@ -750,12 +546,6 @@ theorem liftPropOn_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantP
   exact IsOpen.mem_nhds e.open_source hx
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_maximalAtlas
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_symm_of_mem_maximal_atlas -> StructureGroupoid.LocalInvariantProp.liftPropAt_symm_of_mem_maximalAtlas is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G] {x : H}, (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (LocalEquiv.target.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (ChartedSpace.LiftPropAt.{u1, u1, u1, u2} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_1 _inst_2 _inst_3 Q (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) x)
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {e : LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G] {x : H}, (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (Membership.mem.{max u2 u1, max u1 u2} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u2, u1} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u2, u2} H (Set.{u2} H) (Set.instMembershipSet.{u2} H) x (LocalEquiv.target.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 e))) -> (ChartedSpace.LiftPropAt.{u2, u2, u2, u1} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) _inst_1 _inst_2 _inst_3 Q (LocalHomeomorph.toFun'.{u2, u1} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u1, u2} M H _inst_2 _inst_1 e)) x)
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_symm_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropAt_symm_of_mem_maximalAtlasₓ'. -/
 theorem liftPropAt_symm_of_mem_maximalAtlas [HasGroupoid M G] {x : H}
     (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G)
     (hx : x ∈ e.target) : LiftPropAt Q e.symm x :=
@@ -770,12 +560,6 @@ theorem liftPropAt_symm_of_mem_maximalAtlas [HasGroupoid M G] {x : H}
   exact hG.congr' (e.eventually_right_inverse hx) (hQ x)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_symm_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropAt_symm_of_mem_maximalAtlas
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_symm_of_mem_maximal_atlas -> StructureGroupoid.LocalInvariantProp.liftPropOn_symm_of_mem_maximalAtlas is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (ChartedSpace.LiftPropOn.{u1, u1, u1, u2} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_1 _inst_2 _inst_3 Q (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) (LocalEquiv.target.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e)))
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {e : LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (Membership.mem.{max u2 u1, max u1 u2} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u2, u1} H M _inst_1 _inst_2 _inst_3 G)) -> (ChartedSpace.LiftPropOn.{u2, u2, u2, u1} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) _inst_1 _inst_2 _inst_3 Q (LocalHomeomorph.toFun'.{u2, u1} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u1, u2} M H _inst_2 _inst_1 e)) (LocalEquiv.target.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 e)))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_symm_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_symm_of_mem_maximalAtlasₓ'. -/
 theorem liftPropOn_symm_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G) : LiftPropOn Q e.symm e.target :=
   by
@@ -786,45 +570,21 @@ theorem liftPropOn_symm_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvar
   exact IsOpen.mem_nhds e.open_target hx
 #align structure_groupoid.local_invariant_prop.lift_prop_on_symm_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_symm_of_mem_maximalAtlas
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_chart -> StructureGroupoid.LocalInvariantProp.liftPropAt_chart is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (ChartedSpace.LiftPropAt.{u1, u2, u1, u1} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) Q (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x)) x)
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (ChartedSpace.LiftPropAt.{u2, u1, u2, u2} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) Q (LocalHomeomorph.toFun'.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x)) x)
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_chart StructureGroupoid.LocalInvariantProp.liftPropAt_chartₓ'. -/
 theorem liftPropAt_chart [HasGroupoid M G] (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftPropAt Q (chartAt H x) x :=
   hG.liftPropAt_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x) (mem_chart_source H x)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_chart StructureGroupoid.LocalInvariantProp.liftPropAt_chart
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_chart -> StructureGroupoid.LocalInvariantProp.liftPropOn_chart is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (ChartedSpace.LiftPropOn.{u1, u2, u1, u1} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) Q (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x)) (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))))
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (ChartedSpace.LiftPropOn.{u2, u1, u2, u2} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) Q (LocalHomeomorph.toFun'.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x)) (LocalEquiv.source.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x))))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_chart StructureGroupoid.LocalInvariantProp.liftPropOn_chartₓ'. -/
 theorem liftPropOn_chart [HasGroupoid M G] (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftPropOn Q (chartAt H x) (chartAt H x).source :=
   hG.liftPropOn_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_chart StructureGroupoid.LocalInvariantProp.liftPropOn_chart
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_chart_symm -> StructureGroupoid.LocalInvariantProp.liftPropAt_chart_symm is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (ChartedSpace.LiftPropAt.{u1, u1, u1, u2} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_1 _inst_2 _inst_3 Q (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x) x))
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (ChartedSpace.LiftPropAt.{u2, u2, u2, u1} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) _inst_1 _inst_2 _inst_3 Q (LocalHomeomorph.toFun'.{u2, u1} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x))) (LocalHomeomorph.toFun'.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x) x))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_chart_symm StructureGroupoid.LocalInvariantProp.liftPropAt_chart_symmₓ'. -/
 theorem liftPropAt_chart_symm [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) : LiftPropAt Q (chartAt H x).symm ((chartAt H x) x) :=
   hG.liftPropAt_symm_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x) (by simp)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_chart_symm StructureGroupoid.LocalInvariantProp.liftPropAt_chart_symm
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_chart_symm -> StructureGroupoid.LocalInvariantProp.liftPropOn_chart_symm is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (ChartedSpace.LiftPropOn.{u1, u1, u1, u2} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_1 _inst_2 _inst_3 Q (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))) (LocalEquiv.target.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))))
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (ChartedSpace.LiftPropOn.{u2, u2, u2, u1} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) _inst_1 _inst_2 _inst_3 Q (LocalHomeomorph.toFun'.{u2, u1} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x))) (LocalEquiv.target.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x))))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_chart_symm StructureGroupoid.LocalInvariantProp.liftPropOn_chart_symmₓ'. -/
 theorem liftPropOn_chart_symm [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) : LiftPropOn Q (chartAt H x).symm (chartAt H x).target :=
   hG.liftPropOn_symm_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x)
@@ -844,12 +604,6 @@ theorem liftPropOn_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y,
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_groupoid StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_groupoid
 -/
 
-/- warning: structure_groupoid.local_invariant_prop.lift_prop_id -> StructureGroupoid.LocalInvariantProp.liftProp_id is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (ChartedSpace.LiftProp.{u1, u2, u1, u2} H M H M _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 Q (id.{succ u2} M))
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (ChartedSpace.LiftProp.{u2, u1, u2, u1} H M H M _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 Q (id.{succ u1} M))
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_id StructureGroupoid.LocalInvariantProp.liftProp_idₓ'. -/
 theorem liftProp_id (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftProp Q (id : M → M) :=
   by
@@ -919,12 +673,6 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
 #align structure_groupoid.is_local_structomorph_within_at_local_invariant_prop StructureGroupoid.isLocalStructomorphWithinAt_localInvariantProp
 -/
 
-/- warning: local_homeomorph.is_local_structomorph_within_at_iff -> LocalHomeomorph.isLocalStructomorphWithinAt_iff is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} H] {G : StructureGroupoid.{u1} H _inst_1} [_inst_8 : ClosedUnderRestriction.{u1} H _inst_1 G] (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) {s : Set.{u1} H} {x : H}, (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (Union.union.{u1} (Set.{u1} H) (Set.hasUnion.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) (HasCompl.compl.{u1} (Set.{u1} H) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} H) (Set.booleanAlgebra.{u1} H)) s))) -> (Iff (StructureGroupoid.IsLocalStructomorphWithinAt.{u1} H _inst_1 G (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) f) s x) ((Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x s) -> (Exists.{succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => And (Membership.Mem.{u1, u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (StructureGroupoid.{u1} H _inst_1) (StructureGroupoid.hasMem.{u1} H _inst_1) e G) (And (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f))) (And (Set.EqOn.{u1, u1} H H (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (_x : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) f) (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) e) (Inter.inter.{u1} (Set.{u1} H) (Set.hasInter.{u1} H) s (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))) (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))))))))
-but is expected to have type
-  forall {H : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} H] {G : StructureGroupoid.{u1} H _inst_1} [_inst_8 : ClosedUnderRestriction.{u1} H _inst_1 G] (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) {s : Set.{u1} H} {x : H}, (Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x (Union.union.{u1} (Set.{u1} H) (Set.instUnionSet.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) (HasCompl.compl.{u1} (Set.{u1} H) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} H) (Set.instBooleanAlgebraSet.{u1} H)) s))) -> (Iff (StructureGroupoid.IsLocalStructomorphWithinAt.{u1} H _inst_1 G (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 f) s x) ((Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x s) -> (Exists.{succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => And (Membership.mem.{u1, u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (StructureGroupoid.{u1} H _inst_1) (instMembershipLocalHomeomorphStructureGroupoid.{u1} H _inst_1) e G) (And (HasSubset.Subset.{u1} (Set.{u1} H) (Set.instHasSubsetSet.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f))) (And (Set.EqOn.{u1, u1} H H (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 f) (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 e) (Inter.inter.{u1} (Set.{u1} H) (Set.instInterSet.{u1} H) s (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))) (Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))))))))
-Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_local_structomorph_within_at_iff LocalHomeomorph.isLocalStructomorphWithinAt_iffₓ'. -/
 /-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph.
   This gives us an `e` that is defined on a subset of `f.source`. -/
 theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H}
@@ -946,12 +694,6 @@ theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H
   · intro hf hx; obtain ⟨e, he, h2e, hfe, hxe⟩ := hf hx; exact ⟨e, he, hfe, hxe⟩
 #align local_homeomorph.is_local_structomorph_within_at_iff LocalHomeomorph.isLocalStructomorphWithinAt_iff
 
-/- warning: local_homeomorph.is_local_structomorph_within_at_iff' -> LocalHomeomorph.isLocalStructomorphWithinAt_iff' is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} H] {G : StructureGroupoid.{u1} H _inst_1} [_inst_8 : ClosedUnderRestriction.{u1} H _inst_1 G] (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) {s : Set.{u1} H} {x : H}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) s) -> (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (Union.union.{u1} (Set.{u1} H) (Set.hasUnion.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) (HasCompl.compl.{u1} (Set.{u1} H) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} H) (Set.booleanAlgebra.{u1} H)) s))) -> (Iff (StructureGroupoid.IsLocalStructomorphWithinAt.{u1} H _inst_1 G (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) f) s x) ((Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x s) -> (Exists.{succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => And (Membership.Mem.{u1, u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (StructureGroupoid.{u1} H _inst_1) (StructureGroupoid.hasMem.{u1} H _inst_1) e G) (And (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f))) (And (Set.EqOn.{u1, u1} H H (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (_x : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) f) (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) e) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e))) (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))))))))
-but is expected to have type
-  forall {H : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} H] {G : StructureGroupoid.{u1} H _inst_1} [_inst_8 : ClosedUnderRestriction.{u1} H _inst_1 G] (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) {s : Set.{u1} H} {x : H}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.instHasSubsetSet.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) s) -> (Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x (Union.union.{u1} (Set.{u1} H) (Set.instUnionSet.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) (HasCompl.compl.{u1} (Set.{u1} H) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} H) (Set.instBooleanAlgebraSet.{u1} H)) s))) -> (Iff (StructureGroupoid.IsLocalStructomorphWithinAt.{u1} H _inst_1 G (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 f) s x) ((Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x s) -> (Exists.{succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => And (Membership.mem.{u1, u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (StructureGroupoid.{u1} H _inst_1) (instMembershipLocalHomeomorphStructureGroupoid.{u1} H _inst_1) e G) (And (HasSubset.Subset.{u1} (Set.{u1} H) (Set.instHasSubsetSet.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f))) (And (Set.EqOn.{u1, u1} H H (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 f) (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 e) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e))) (Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))))))))
-Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_local_structomorph_within_at_iff' LocalHomeomorph.isLocalStructomorphWithinAt_iff'ₓ'. -/
 /-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph and
   the set we're considering is a superset of `f.source`. -/
 theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGroupoid H}
@@ -988,12 +730,6 @@ variable {H₁ : Type _} [TopologicalSpace H₁] {H₂ : Type _} [TopologicalSpa
 
 variable (G₂)
 
-/- warning: structure_groupoid.has_groupoid.comp -> StructureGroupoid.HasGroupoid.comp is a dubious translation:
-lean 3 declaration is
-  forall {H₁ : Type.{u1}} [_inst_8 : TopologicalSpace.{u1} H₁] {H₂ : Type.{u2}} [_inst_9 : TopologicalSpace.{u2} H₂] {H₃ : Type.{u3}} [_inst_10 : TopologicalSpace.{u3} H₃] [_inst_11 : ChartedSpace.{u1, u2} H₁ _inst_8 H₂ _inst_9] [_inst_12 : ChartedSpace.{u2, u3} H₂ _inst_9 H₃ _inst_10] {G₁ : StructureGroupoid.{u1} H₁ _inst_8} [_inst_13 : HasGroupoid.{u1, u2} H₁ _inst_8 H₂ _inst_9 _inst_11 G₁] [_inst_14 : ClosedUnderRestriction.{u1} H₁ _inst_8 G₁] (G₂ : StructureGroupoid.{u2} H₂ _inst_9) [_inst_15 : HasGroupoid.{u2, u3} H₂ _inst_9 H₃ _inst_10 _inst_12 G₂], (forall (e : LocalHomeomorph.{u2, u2} H₂ H₂ _inst_9 _inst_9), (Membership.Mem.{u2, u2} (LocalHomeomorph.{u2, u2} H₂ H₂ _inst_9 _inst_9) (StructureGroupoid.{u2} H₂ _inst_9) (StructureGroupoid.hasMem.{u2} H₂ _inst_9) e G₂) -> (ChartedSpace.LiftPropOn.{u1, u2, u1, u2} H₁ H₂ H₁ H₂ _inst_8 _inst_9 _inst_11 _inst_8 _inst_9 _inst_11 (StructureGroupoid.IsLocalStructomorphWithinAt.{u1} H₁ _inst_8 G₁) (coeFn.{succ u2, succ u2} (LocalHomeomorph.{u2, u2} H₂ H₂ _inst_9 _inst_9) (fun (_x : LocalHomeomorph.{u2, u2} H₂ H₂ _inst_9 _inst_9) => H₂ -> H₂) (LocalHomeomorph.hasCoeToFun.{u2, u2} H₂ H₂ _inst_9 _inst_9) e) (LocalEquiv.source.{u2, u2} H₂ H₂ (LocalHomeomorph.toLocalEquiv.{u2, u2} H₂ H₂ _inst_9 _inst_9 e)))) -> (HasGroupoid.{u1, u3} H₁ _inst_8 H₃ _inst_10 (ChartedSpace.comp.{u1, u2, u3} H₁ _inst_8 H₂ _inst_9 H₃ _inst_10 _inst_11 _inst_12) G₁)
-but is expected to have type
-  forall {H₁ : Type.{u2}} [_inst_8 : TopologicalSpace.{u2} H₁] {H₂ : Type.{u3}} [_inst_9 : TopologicalSpace.{u3} H₂] {H₃ : Type.{u1}} [_inst_10 : TopologicalSpace.{u1} H₃] [_inst_11 : ChartedSpace.{u2, u3} H₁ _inst_8 H₂ _inst_9] [_inst_12 : ChartedSpace.{u3, u1} H₂ _inst_9 H₃ _inst_10] {G₁ : StructureGroupoid.{u2} H₁ _inst_8} [_inst_13 : HasGroupoid.{u2, u3} H₁ _inst_8 H₂ _inst_9 _inst_11 G₁] [_inst_14 : ClosedUnderRestriction.{u2} H₁ _inst_8 G₁] (G₂ : StructureGroupoid.{u3} H₂ _inst_9) [_inst_15 : HasGroupoid.{u3, u1} H₂ _inst_9 H₃ _inst_10 _inst_12 G₂], (forall (e : LocalHomeomorph.{u3, u3} H₂ H₂ _inst_9 _inst_9), (Membership.mem.{u3, u3} (LocalHomeomorph.{u3, u3} H₂ H₂ _inst_9 _inst_9) (StructureGroupoid.{u3} H₂ _inst_9) (instMembershipLocalHomeomorphStructureGroupoid.{u3} H₂ _inst_9) e G₂) -> (ChartedSpace.LiftPropOn.{u2, u3, u2, u3} H₁ H₂ H₁ H₂ _inst_8 _inst_9 _inst_11 _inst_8 _inst_9 _inst_11 (StructureGroupoid.IsLocalStructomorphWithinAt.{u2} H₁ _inst_8 G₁) (LocalHomeomorph.toFun'.{u3, u3} H₂ H₂ _inst_9 _inst_9 e) (LocalEquiv.source.{u3, u3} H₂ H₂ (LocalHomeomorph.toLocalEquiv.{u3, u3} H₂ H₂ _inst_9 _inst_9 e)))) -> (HasGroupoid.{u2, u1} H₁ _inst_8 H₃ _inst_10 (ChartedSpace.comp.{u2, u3, u1} H₁ _inst_8 H₂ _inst_9 H₃ _inst_10 _inst_11 _inst_12) G₁)
-Case conversion may be inaccurate. Consider using '#align structure_groupoid.has_groupoid.comp StructureGroupoid.HasGroupoid.compₓ'. -/
 theorem HasGroupoid.comp
     (H : ∀ e ∈ G₂, LiftPropOn (IsLocalStructomorphWithinAt G₁) (e : H₂ → H₂) e.source) :
     @HasGroupoid H₁ _ H₃ _ (ChartedSpace.comp H₁ H₂ H₃) G₁ :=
Diff
@@ -941,13 +941,9 @@ theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H
     refine' ⟨e.restr f.source, closedUnderRestriction' he f.open_source, _, _, hxe, _⟩
     · simp_rw [LocalHomeomorph.restr_source]
       refine' (inter_subset_right _ _).trans interior_subset
-    · intro x' hx'
-      exact hfe ⟨hx'.1, hx'.2.1⟩
-    · rw [f.open_source.interior_eq]
-      exact Or.resolve_right hx (not_not.mpr h2x)
-  · intro hf hx
-    obtain ⟨e, he, h2e, hfe, hxe⟩ := hf hx
-    exact ⟨e, he, hfe, hxe⟩
+    · intro x' hx'; exact hfe ⟨hx'.1, hx'.2.1⟩
+    · rw [f.open_source.interior_eq]; exact Or.resolve_right hx (not_not.mpr h2x)
+  · intro hf hx; obtain ⟨e, he, h2e, hfe, hxe⟩ := hf hx; exact ⟨e, he, hfe, hxe⟩
 #align local_homeomorph.is_local_structomorph_within_at_iff LocalHomeomorph.isLocalStructomorphWithinAt_iff
 
 /- warning: local_homeomorph.is_local_structomorph_within_at_iff' -> LocalHomeomorph.isLocalStructomorphWithinAt_iff' is a dubious translation:
Diff
@@ -367,10 +367,7 @@ variable (hG : G.LocalInvariantProp G' P)
 include hG
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_iff -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iff is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall {f : M -> M'}, Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f s x) (And (ContinuousWithinAt.{u2, u4} M M' _inst_2 _inst_5 f s x) (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) (ChartedSpace.chartAt.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u1, succ u2, succ u4} H M M' f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))))) (Inter.inter.{u1} (Set.{u1} H) (Set.hasInter.{u1} H) (LocalEquiv.target.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))) (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) s (Set.preimage.{u2, u4} M M' f (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 (f x)))))))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x) x))))
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {f : M -> M'}, Iff (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f s x) (And (ContinuousWithinAt.{u3, u1} M M' _inst_2 _inst_5 f s x) (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u4, succ u3, succ u1} H M M' f (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x))))) (Inter.inter.{u4} (Set.{u4} H) (Set.instInterSet.{u4} H) (LocalEquiv.target.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x))) (Inter.inter.{u3} (Set.{u3} M) (Set.instInterSet.{u3} M) s (Set.preimage.{u3, u1} M M' f (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 (f x)))))))) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x) x))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iffₓ'. -/
 /-- `lift_prop_within_at P f s x` is equivalent to a definition where we restrict the set we are
   considering to the domain of the charts at `x` and `f x`. -/
@@ -388,10 +385,7 @@ theorem liftPropWithinAt_iff {f : M → M'} :
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iff
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source_aux -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source_aux is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {e' : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall (g : M -> H'), (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e' (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e'))) -> (Iff (P (Function.comp.{succ u1, succ u2, succ u3} H M H' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e x)) (P (Function.comp.{succ u1, succ u2, succ u3} H M H' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e'))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e')) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e' x))))
-but is expected to have type
-  forall {H : Type.{u3}} {M : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u3, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {e : LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1} {e' : LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u3, u1} H H' _inst_1 _inst_4 G G' P) -> (forall (g : M -> H'), (Membership.mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1) (Set.{max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u3, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (LocalEquiv.source.{u2, u3} M H (LocalHomeomorph.toLocalEquiv.{u2, u3} M H _inst_2 _inst_1 e))) -> (Membership.mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1) (Set.{max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1)) e' (StructureGroupoid.maximalAtlas.{u3, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (LocalEquiv.source.{u2, u3} M H (LocalHomeomorph.toLocalEquiv.{u2, u3} M H _inst_2 _inst_1 e'))) -> (Iff (P (Function.comp.{succ u3, succ u2, succ u1} H M H' g (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 e))) (Set.preimage.{u3, u2} H M (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u2, u3} M H _inst_2 _inst_1 e x)) (P (Function.comp.{succ u3, succ u2, succ u1} H M H' g (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 e'))) (Set.preimage.{u3, u2} H M (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 e')) s) (LocalHomeomorph.toFun'.{u2, u3} M H _inst_2 _inst_1 e' x))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source_auxₓ'. -/
 theorem liftPropWithinAt_indep_chart_source_aux (g : M → H') (he : e ∈ G.maximalAtlas M)
     (xe : x ∈ e.source) (he' : e' ∈ G.maximalAtlas M) (xe' : x ∈ e'.source) :
@@ -413,10 +407,7 @@ theorem liftPropWithinAt_indep_chart_source_aux (g : M → H') (he : e ∈ G.max
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source_aux
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2 is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u2, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {f : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall (g : H -> M') {x : H} {s : Set.{u1} H}, (Membership.Mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (Set.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u3} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u3, u3} M' (Set.{u3} M') (Set.hasMem.{u3} M') (g x) (LocalEquiv.source.{u3, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u3, u2} M' H' _inst_5 _inst_4 f))) -> (Membership.Mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (Set.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u2, u3} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u3, u3} M' (Set.{u3} M') (Set.hasMem.{u3} M') (g x) (LocalEquiv.source.{u3, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u3, u2} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u1, u3} H M' _inst_1 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u1, succ u3, succ u2} H M' H' (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u3, u2} M' H' _inst_5 _inst_4) f) g) s x) (P (Function.comp.{succ u1, succ u3, succ u2} H M' H' (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u3, u2} M' H' _inst_5 _inst_4) f') g) s x)))
-but is expected to have type
-  forall {H : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (forall (g : H -> M') {x : H} {s : Set.{u3} H}, (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u3, u1} H M' _inst_1 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u3, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) g) s x) (P (Function.comp.{succ u3, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f') g) s x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2ₓ'. -/
 theorem liftPropWithinAt_indep_chart_target_aux2 (g : H → M') {x : H} {s : Set H}
     (hf : f ∈ G'.maximalAtlas M') (xf : g x ∈ f.source) (hf' : f' ∈ G'.maximalAtlas M')
@@ -431,10 +422,7 @@ theorem liftPropWithinAt_indep_chart_target_aux2 (g : H → M') {x : H} {s : Set
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {H' : Type.{u2}} {M' : Type.{u3}} {X : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u2, u3} H' _inst_4 M' _inst_5] [_inst_7 : TopologicalSpace.{u4} X] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {f : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {g : X -> M'} {e : LocalHomeomorph.{u4, u1} X H _inst_7 _inst_1} {x : X} {s : Set.{u4} X}, (Membership.Mem.{u4, u4} X (Set.{u4} X) (Set.hasMem.{u4} X) x (LocalEquiv.source.{u4, u1} X H (LocalHomeomorph.toLocalEquiv.{u4, u1} X H _inst_7 _inst_1 e))) -> (Membership.Mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (Set.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u3} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u3, u3} M' (Set.{u3} M') (Set.hasMem.{u3} M') (g x) (LocalEquiv.source.{u3, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u3, u2} M' H' _inst_5 _inst_4 f))) -> (Membership.Mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (Set.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u2, u3} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u3, u3} M' (Set.{u3} M') (Set.hasMem.{u3} M') (g x) (LocalEquiv.source.{u3, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u3, u2} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u4, u3} X M' _inst_7 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u1, succ u3, succ u2} H M' H' (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u3, u2} M' H' _inst_5 _inst_4) f) (Function.comp.{succ u1, succ u4, succ u3} H X M' g (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) (fun (_x : LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) => H -> X) (LocalHomeomorph.hasCoeToFun.{u1, u4} H X _inst_1 _inst_7) (LocalHomeomorph.symm.{u4, u1} X H _inst_7 _inst_1 e)))) (Set.preimage.{u1, u4} H X (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) (fun (_x : LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) => H -> X) (LocalHomeomorph.hasCoeToFun.{u1, u4} H X _inst_1 _inst_7) (LocalHomeomorph.symm.{u4, u1} X H _inst_7 _inst_1 e)) s) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (LocalHomeomorph.{u4, u1} X H _inst_7 _inst_1) (fun (_x : LocalHomeomorph.{u4, u1} X H _inst_7 _inst_1) => X -> H) (LocalHomeomorph.hasCoeToFun.{u4, u1} X H _inst_7 _inst_1) e x)) (P (Function.comp.{succ u1, succ u3, succ u2} H M' H' (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u3, u2} M' H' _inst_5 _inst_4) f') (Function.comp.{succ u1, succ u4, succ u3} H X M' g (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) (fun (_x : LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) => H -> X) (LocalHomeomorph.hasCoeToFun.{u1, u4} H X _inst_1 _inst_7) (LocalHomeomorph.symm.{u4, u1} X H _inst_7 _inst_1 e)))) (Set.preimage.{u1, u4} H X (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) (fun (_x : LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) => H -> X) (LocalHomeomorph.hasCoeToFun.{u1, u4} H X _inst_1 _inst_7) (LocalHomeomorph.symm.{u4, u1} X H _inst_7 _inst_1 e)) s) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (LocalHomeomorph.{u4, u1} X H _inst_7 _inst_1) (fun (_x : LocalHomeomorph.{u4, u1} X H _inst_7 _inst_1) => X -> H) (LocalHomeomorph.hasCoeToFun.{u4, u1} X H _inst_7 _inst_1) e x))))
-but is expected to have type
-  forall {H : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} {X : Type.{u4}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] [_inst_7 : TopologicalSpace.{u4} X] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {g : X -> M'} {e : LocalHomeomorph.{u4, u3} X H _inst_7 _inst_1} {x : X} {s : Set.{u4} X}, (Membership.mem.{u4, u4} X (Set.{u4} X) (Set.instMembershipSet.{u4} X) x (LocalEquiv.source.{u4, u3} X H (LocalHomeomorph.toLocalEquiv.{u4, u3} X H _inst_7 _inst_1 e))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u4, u1} X M' _inst_7 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u3, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) (Function.comp.{succ u3, succ u4, succ u1} H X M' g (LocalHomeomorph.toFun'.{u3, u4} H X _inst_1 _inst_7 (LocalHomeomorph.symm.{u4, u3} X H _inst_7 _inst_1 e)))) (Set.preimage.{u3, u4} H X (LocalHomeomorph.toFun'.{u3, u4} H X _inst_1 _inst_7 (LocalHomeomorph.symm.{u4, u3} X H _inst_7 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u4, u3} X H _inst_7 _inst_1 e x)) (P (Function.comp.{succ u3, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f') (Function.comp.{succ u3, succ u4, succ u1} H X M' g (LocalHomeomorph.toFun'.{u3, u4} H X _inst_1 _inst_7 (LocalHomeomorph.symm.{u4, u3} X H _inst_7 _inst_1 e)))) (Set.preimage.{u3, u4} H X (LocalHomeomorph.toFun'.{u3, u4} H X _inst_1 _inst_7 (LocalHomeomorph.symm.{u4, u3} X H _inst_7 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u4, u3} X H _inst_7 _inst_1 e x))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_auxₓ'. -/
 theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : LocalHomeomorph X H} {x : X}
     {s : Set X} (xe : x ∈ e.source) (hf : f ∈ G'.maximalAtlas M') (xf : g x ∈ f.source)
@@ -447,10 +435,7 @@ theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : LocalHomeomo
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_aux -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_aux is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {e' : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e' (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e'))) -> (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u4, u4} M' (Set.{u4} M') (Set.hasMem.{u4} M') (g x) (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f))) -> (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u4, u4} M' (Set.{u4} M') (Set.hasMem.{u4} M') (g x) (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u2, u4} M M' _inst_2 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f) (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e x)) (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f') (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e')))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e')) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e' x)))
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {e : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {e' : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (LocalEquiv.source.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e))) -> (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e' (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (LocalEquiv.source.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e'))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u3, u1} M M' _inst_2 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 e x)) (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f') (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e')))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e')) s) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 e' x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_auxₓ'. -/
 /-- If a property of a germ of function `g` on a pointed set `(s, x)` is invariant under the
 structure groupoid (by composition in the source space and in the target space), then
@@ -468,10 +453,7 @@ theorem liftPropWithinAt_indep_chart_aux (he : e ∈ G.maximalAtlas M) (xe : x 
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_aux
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u4, u4} M' (Set.{u4} M') (Set.hasMem.{u4} M') (g x) (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u2, u4} M M' _inst_2 _inst_5 g s x) (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f) (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e x)))))
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {e : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u4, u3} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (LocalEquiv.source.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u3, u1} M M' _inst_2 _inst_5 g s x) (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 e x)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chartₓ'. -/
 theorem liftPropWithinAt_indep_chart [HasGroupoid M G] [HasGroupoid M' G']
     (he : e ∈ G.maximalAtlas M) (xe : x ∈ e.source) (hf : f ∈ G'.maximalAtlas M')
@@ -483,10 +465,7 @@ theorem liftPropWithinAt_indep_chart [HasGroupoid M G] [HasGroupoid M' G']
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (ChartedSpace.LiftPropWithinAt.{u1, u1, u3, u4} H H H' M' _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_4 _inst_5 _inst_6 P (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e x))))
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {e : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u4, u3} H _inst_1 M _inst_2 _inst_3 G], (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (LocalEquiv.source.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (ChartedSpace.LiftPropWithinAt.{u4, u4, u2, u1} H H H' M' _inst_1 _inst_1 (chartedSpaceSelf.{u4} H _inst_1) _inst_4 _inst_5 _inst_6 P (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 e x))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_sourceₓ'. -/
 /-- A version of `lift_prop_within_at_indep_chart`, only for the source. -/
 theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maximalAtlas M)
@@ -503,10 +482,7 @@ theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maxi
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {f : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u4, u4} M' (Set.{u4} M') (Set.hasMem.{u4} M') (g x) (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u2, u4} M M' _inst_2 _inst_5 g s x) (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u3} H M H' H' _inst_1 _inst_2 _inst_3 _inst_4 _inst_4 (chartedSpaceSelf.{u3} H' _inst_4) P (Function.comp.{succ u2, succ u4, succ u3} M M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f) g) s x))))
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u1}} {H' : Type.{u4}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u4} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u4, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u4} H' _inst_4} {f : LocalHomeomorph.{u3, u4} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {g : M -> M'} {s : Set.{u1} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u2, u4} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u4, u3} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u4, u3} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u3, u3} M' (Set.{u3} M') (Set.instMembershipSet.{u3} M') (g x) (LocalEquiv.source.{u3, u4} M' H' (LocalHomeomorph.toLocalEquiv.{u3, u4} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u2, u1, u4, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u1, u3} M M' _inst_2 _inst_5 g s x) (ChartedSpace.LiftPropWithinAt.{u2, u1, u4, u4} H M H' H' _inst_1 _inst_2 _inst_3 _inst_4 _inst_4 (chartedSpaceSelf.{u4} H' _inst_4) P (Function.comp.{succ u1, succ u3, succ u4} M M' H' (LocalHomeomorph.toFun'.{u3, u4} M' H' _inst_5 _inst_4 f) g) s x))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_targetₓ'. -/
 /-- A version of `lift_prop_within_at_indep_chart`, only for the target. -/
 theorem liftPropWithinAt_indep_chart_target [HasGroupoid M' G'] (hf : f ∈ G'.maximalAtlas M')
@@ -522,10 +498,7 @@ theorem liftPropWithinAt_indep_chart_target [HasGroupoid M' G'] (hf : f ∈ G'.m
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart' -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart' is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u4, u4} M' (Set.{u4} M') (Set.hasMem.{u4} M') (g x) (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u2, u4} M M' _inst_2 _inst_5 g s x) (ChartedSpace.LiftPropWithinAt.{u1, u1, u3, u3} H H H' H' _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_4 _inst_4 (chartedSpaceSelf.{u3} H' _inst_4) P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f) (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e x)))))
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {e : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u4, u3} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (LocalEquiv.source.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u3, u1} M M' _inst_2 _inst_5 g s x) (ChartedSpace.LiftPropWithinAt.{u4, u4, u2, u2} H H H' H' _inst_1 _inst_1 (chartedSpaceSelf.{u4} H _inst_1) _inst_4 _inst_4 (chartedSpaceSelf.{u2} H' _inst_4) P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 e x)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart'ₓ'. -/
 /-- A version of `lift_prop_within_at_indep_chart`, that uses `lift_prop_within_at` on both sides.
 -/
@@ -545,10 +518,7 @@ theorem liftPropWithinAt_indep_chart' [HasGroupoid M G] [HasGroupoid M' G']
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart'
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart -> StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chart is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s) -> (forall {y : H}, (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) y (Inter.inter.{u1} (Set.{u1} H) (Set.hasInter.{u1} H) (LocalEquiv.target.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e)) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) s (Set.preimage.{u2, u4} M M' g (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f))))))) -> (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f) (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) y)))
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {e : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u4, u3} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s) -> (forall {y : H}, (Membership.mem.{u4, u4} H (Set.{u4} H) (Set.instMembershipSet.{u4} H) y (Inter.inter.{u4} (Set.{u4} H) (Set.instInterSet.{u4} H) (LocalEquiv.target.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e)) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) (Inter.inter.{u3} (Set.{u3} M) (Set.instInterSet.{u3} M) s (Set.preimage.{u3, u1} M M' g (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))))))) -> (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) s) y)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chartₓ'. -/
 theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈ G.maximalAtlas M)
     (hf : f ∈ G'.maximalAtlas M') (h : LiftPropOn P g s) {y : H}
@@ -559,10 +529,7 @@ theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈
 #align structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chart
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_inter' -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter' is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {t : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (Membership.Mem.{u2, u2} (Set.{u2} M) (Filter.{u2} M) (Filter.hasMem.{u2} M) t (nhdsWithin.{u2} M _inst_2 x s)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) s t) x) (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
-but is expected to have type
-  forall {H : Type.{u3}} {M : Type.{u4}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u3, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {g : M -> M'} {s : Set.{u4} M} {t : Set.{u4} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (Membership.mem.{u4, u4} (Set.{u4} M) (Filter.{u4} M) (instMembershipSetFilter.{u4} M) t (nhdsWithin.{u4} M _inst_2 x s)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u4} (Set.{u4} M) (Set.instInterSet.{u4} M) s t) x) (ChartedSpace.LiftPropWithinAt.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter'ₓ'. -/
 theorem liftPropWithinAt_inter' (ht : t ∈ 𝓝[s] x) :
     LiftPropWithinAt P g (s ∩ t) x ↔ LiftPropWithinAt P g s x :=
@@ -574,10 +541,7 @@ theorem liftPropWithinAt_inter' (ht : t ∈ 𝓝[s] x) :
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter'
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_inter -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {t : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (Membership.Mem.{u2, u2} (Set.{u2} M) (Filter.{u2} M) (Filter.hasMem.{u2} M) t (nhds.{u2} M _inst_2 x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) s t) x) (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
-but is expected to have type
-  forall {H : Type.{u3}} {M : Type.{u4}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u3, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {g : M -> M'} {s : Set.{u4} M} {t : Set.{u4} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (Membership.mem.{u4, u4} (Set.{u4} M) (Filter.{u4} M) (instMembershipSetFilter.{u4} M) t (nhds.{u4} M _inst_2 x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u4} (Set.{u4} M) (Set.instInterSet.{u4} M) s t) x) (ChartedSpace.LiftPropWithinAt.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter StructureGroupoid.LocalInvariantProp.liftPropWithinAt_interₓ'. -/
 theorem liftPropWithinAt_inter (ht : t ∈ 𝓝 x) :
     LiftPropWithinAt P g (s ∩ t) x ↔ LiftPropWithinAt P g s x :=
@@ -585,30 +549,21 @@ theorem liftPropWithinAt_inter (ht : t ∈ 𝓝 x) :
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at -> StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAt is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Membership.Mem.{u2, u2} (Set.{u2} M) (Filter.{u2} M) (Filter.hasMem.{u2} M) s (nhds.{u2} M _inst_2 x)) -> (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Membership.mem.{u3, u3} (Set.{u3} M) (Filter.{u3} M) (instMembershipSetFilter.{u3} M) s (nhds.{u3} M _inst_2 x)) -> (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAtₓ'. -/
 theorem liftPropAt_of_liftPropWithinAt (h : LiftPropWithinAt P g s x) (hs : s ∈ 𝓝 x) :
     LiftPropAt P g x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs] at h
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAt
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at_of_mem_nhds -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt_of_mem_nhds is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (Membership.Mem.{u2, u2} (Set.{u2} M) (Filter.{u2} M) (Filter.hasMem.{u2} M) s (nhds.{u2} M _inst_2 x)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (Membership.mem.{u3, u3} (Set.{u3} M) (Filter.{u3} M) (instMembershipSetFilter.{u3} M) s (nhds.{u3} M _inst_2 x)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at_of_mem_nhds StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt_of_mem_nhdsₓ'. -/
 theorem liftPropWithinAt_of_liftPropAt_of_mem_nhds (h : LiftPropAt P g x) (hs : s ∈ 𝓝 x) :
     LiftPropWithinAt P g s x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at_of_mem_nhds StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt_of_mem_nhds
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on -> StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOn is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall (x : M), (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x s) -> (Exists.{succ u2} (Set.{u2} M) (fun (u : Set.{u2} M) => And (IsOpen.{u2} M _inst_2 u) (And (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x u) (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) s u)))))) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
-but is expected to have type
-  forall {H : Type.{u3}} {M : Type.{u4}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u3, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {g : M -> M'} {s : Set.{u4} M}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (forall (x : M), (Membership.mem.{u4, u4} M (Set.{u4} M) (Set.instMembershipSet.{u4} M) x s) -> (Exists.{succ u4} (Set.{u4} M) (fun (u : Set.{u4} M) => And (IsOpen.{u4} M _inst_2 u) (And (Membership.mem.{u4, u4} M (Set.{u4} M) (Set.instMembershipSet.{u4} M) x u) (ChartedSpace.LiftPropOn.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u4} (Set.{u4} M) (Set.instInterSet.{u4} M) s u)))))) -> (ChartedSpace.LiftPropOn.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOnₓ'. -/
 theorem liftPropOn_of_locally_liftPropOn
     (h : ∀ x ∈ s, ∃ u, IsOpen u ∧ x ∈ u ∧ LiftPropOn P g (s ∩ u)) : LiftPropOn P g s :=
@@ -621,10 +576,7 @@ theorem liftPropOn_of_locally_liftPropOn
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOn
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_of_locally_lift_prop_on -> StructureGroupoid.LocalInvariantProp.liftProp_of_locally_liftPropOn is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall (x : M), Exists.{succ u2} (Set.{u2} M) (fun (u : Set.{u2} M) => And (IsOpen.{u2} M _inst_2 u) (And (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x u) (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g u)))) -> (ChartedSpace.LiftProp.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g)
-but is expected to have type
-  forall {H : Type.{u3}} {M : Type.{u4}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u3, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {g : M -> M'}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (forall (x : M), Exists.{succ u4} (Set.{u4} M) (fun (u : Set.{u4} M) => And (IsOpen.{u4} M _inst_2 u) (And (Membership.mem.{u4, u4} M (Set.{u4} M) (Set.instMembershipSet.{u4} M) x u) (ChartedSpace.LiftPropOn.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g u)))) -> (ChartedSpace.LiftProp.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftProp_of_locally_liftPropOnₓ'. -/
 theorem liftProp_of_locally_liftPropOn (h : ∀ x, ∃ u, IsOpen u ∧ x ∈ u ∧ LiftPropOn P g u) :
     LiftProp P g := by
@@ -634,10 +586,7 @@ theorem liftProp_of_locally_liftPropOn (h : ∀ x, ∃ u, IsOpen u ∧ x ∈ u 
 #align structure_groupoid.local_invariant_prop.lift_prop_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftProp_of_locally_liftPropOn
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEq is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Filter.EventuallyEq.{u2, u4} M M' (nhdsWithin.{u2} M _inst_2 x s) g' g) -> (Eq.{succ u4} M' (g' x) (g x)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Filter.EventuallyEq.{u3, u1} M M' (nhdsWithin.{u3} M _inst_2 x s) g' g) -> (Eq.{succ u1} M' (g' x) (g x)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEqₓ'. -/
 theorem liftPropWithinAt_congr_of_eventuallyEq (h : LiftPropWithinAt P g s x) (h₁ : g' =ᶠ[𝓝[s] x] g)
     (hx : g' x = g x) : LiftPropWithinAt P g' s x :=
@@ -653,10 +602,7 @@ theorem liftPropWithinAt_congr_of_eventuallyEq (h : LiftPropWithinAt P g s x) (h
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEq
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff_of_eventuallyEq is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (Filter.EventuallyEq.{u2, u4} M M' (nhdsWithin.{u2} M _inst_2 x s) g' g) -> (Eq.{succ u4} M' (g' x) (g x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x) (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u4}} {H' : Type.{u1}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u2, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u1, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u4} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (Filter.EventuallyEq.{u4, u3} M M' (nhdsWithin.{u4} M _inst_2 x s) g' g) -> (Eq.{succ u3} M' (g' x) (g x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x) (ChartedSpace.LiftPropWithinAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff_of_eventuallyEqₓ'. -/
 theorem liftPropWithinAt_congr_iff_of_eventuallyEq (h₁ : g' =ᶠ[𝓝[s] x] g) (hx : g' x = g x) :
     LiftPropWithinAt P g' s x ↔ LiftPropWithinAt P g s x :=
@@ -665,10 +611,7 @@ theorem liftPropWithinAt_congr_iff_of_eventuallyEq (h₁ : g' =ᶠ[𝓝[s] x] g)
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff_of_eventuallyEq
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall (y : M), (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) y s) -> (Eq.{succ u4} M' (g' y) (g y))) -> (Eq.{succ u4} M' (g' x) (g x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x) (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u4}} {H' : Type.{u1}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u2, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u1, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u4} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall (y : M), (Membership.mem.{u4, u4} M (Set.{u4} M) (Set.instMembershipSet.{u4} M) y s) -> (Eq.{succ u3} M' (g' y) (g y))) -> (Eq.{succ u3} M' (g' x) (g x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x) (ChartedSpace.LiftPropWithinAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iffₓ'. -/
 theorem liftPropWithinAt_congr_iff (h₁ : ∀ y ∈ s, g' y = g y) (hx : g' x = g x) :
     LiftPropWithinAt P g' s x ↔ LiftPropWithinAt P g s x :=
@@ -676,10 +619,7 @@ theorem liftPropWithinAt_congr_iff (h₁ : ∀ y ∈ s, g' y = g y) (hx : g' x =
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (forall (y : M), (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) y s) -> (Eq.{succ u4} M' (g' y) (g y))) -> (Eq.{succ u4} M' (g' x) (g x)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (forall (y : M), (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) y s) -> (Eq.{succ u1} M' (g' y) (g y))) -> (Eq.{succ u1} M' (g' x) (g x)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congrₓ'. -/
 theorem liftPropWithinAt_congr (h : LiftPropWithinAt P g s x) (h₁ : ∀ y ∈ s, g' y = g y)
     (hx : g' x = g x) : LiftPropWithinAt P g' s x :=
@@ -687,10 +627,7 @@ theorem liftPropWithinAt_congr (h : LiftPropWithinAt P g s x) (h₁ : ∀ y ∈
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_at_congr_iff_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropAt_congr_iff_of_eventuallyEq is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (Filter.EventuallyEq.{u2, u4} M M' (nhds.{u2} M _inst_2 x) g' g) -> (Iff (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' x) (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x))
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u4}} {H' : Type.{u1}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u2, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u1, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {x : M}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (Filter.EventuallyEq.{u4, u3} M M' (nhds.{u4} M _inst_2 x) g' g) -> (Iff (ChartedSpace.LiftPropAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' x) (ChartedSpace.LiftPropAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_iff_of_eventuallyEqₓ'. -/
 theorem liftPropAt_congr_iff_of_eventuallyEq (h₁ : g' =ᶠ[𝓝 x] g) :
     LiftPropAt P g' x ↔ LiftPropAt P g x :=
@@ -698,10 +635,7 @@ theorem liftPropAt_congr_iff_of_eventuallyEq (h₁ : g' =ᶠ[𝓝 x] g) :
 #align structure_groupoid.local_invariant_prop.lift_prop_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_iff_of_eventuallyEq
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_at_congr_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropAt_congr_of_eventuallyEq is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (Filter.EventuallyEq.{u2, u4} M M' (nhds.{u2} M _inst_2 x) g' g) -> (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' x)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (Filter.EventuallyEq.{u3, u1} M M' (nhds.{u3} M _inst_2 x) g' g) -> (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_of_eventuallyEqₓ'. -/
 theorem liftPropAt_congr_of_eventuallyEq (h : LiftPropAt P g x) (h₁ : g' =ᶠ[𝓝 x] g) :
     LiftPropAt P g' x :=
@@ -709,20 +643,14 @@ theorem liftPropAt_congr_of_eventuallyEq (h : LiftPropAt P g x) (h₁ : g' =ᶠ[
 #align structure_groupoid.local_invariant_prop.lift_prop_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_of_eventuallyEq
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_on_congr -> StructureGroupoid.LocalInvariantProp.liftPropOn_congr is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s) -> (forall (y : M), (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) y s) -> (Eq.{succ u4} M' (g' y) (g y))) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u3} M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s) -> (forall (y : M), (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) y s) -> (Eq.{succ u1} M' (g' y) (g y))) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s)
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_congr StructureGroupoid.LocalInvariantProp.liftPropOn_congrₓ'. -/
 theorem liftPropOn_congr (h : LiftPropOn P g s) (h₁ : ∀ y ∈ s, g' y = g y) : LiftPropOn P g' s :=
   fun x hx => hG.liftPropWithinAt_congr (h x hx) h₁ (h₁ x hx)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_congr StructureGroupoid.LocalInvariantProp.liftPropOn_congr
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_on_congr_iff -> StructureGroupoid.LocalInvariantProp.liftPropOn_congr_iff is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall (y : M), (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) y s) -> (Eq.{succ u4} M' (g' y) (g y))) -> (Iff (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s) (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s))
-but is expected to have type
-  forall {H : Type.{u2}} {M : Type.{u4}} {H' : Type.{u1}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u2, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u1, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u4} M}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall (y : M), (Membership.mem.{u4, u4} M (Set.{u4} M) (Set.instMembershipSet.{u4} M) y s) -> (Eq.{succ u3} M' (g' y) (g y))) -> (Iff (ChartedSpace.LiftPropOn.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s) (ChartedSpace.LiftPropOn.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s))
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_congr_iff StructureGroupoid.LocalInvariantProp.liftPropOn_congr_iffₓ'. -/
 theorem liftPropOn_congr_iff (h₁ : ∀ y ∈ s, g' y = g y) : LiftPropOn P g' s ↔ LiftPropOn P g s :=
   ⟨fun h => hG.liftPropOn_congr h fun y hy => (h₁ y hy).symm, fun h => hG.liftPropOn_congr h h₁⟩
@@ -731,10 +659,7 @@ theorem liftPropOn_congr_iff (h₁ : ∀ y ∈ s, g' y = g y) : LiftPropOn P g'
 omit hG
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_mono_of_mem -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_mem is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {t : Set.{u2} M} {x : M}, (forall {{s : Set.{u1} H}} {{x : H}} {{t : Set.{u1} H}} {{f : H -> H'}}, (Membership.Mem.{u1, u1} (Set.{u1} H) (Filter.{u1} H) (Filter.hasMem.{u1} H) s (nhdsWithin.{u1} H _inst_1 x t)) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Membership.Mem.{u2, u2} (Set.{u2} M) (Filter.{u2} M) (Filter.hasMem.{u2} M) s (nhdsWithin.{u2} M _inst_2 x t)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t x)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {t : Set.{u3} M} {x : M}, (forall {{s : Set.{u4} H}} {{x : H}} {{t : Set.{u4} H}} {{f : H -> H'}}, (Membership.mem.{u4, u4} (Set.{u4} H) (Filter.{u4} H) (instMembershipSetFilter.{u4} H) s (nhdsWithin.{u4} H _inst_1 x t)) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Membership.mem.{u3, u3} (Set.{u3} M) (Filter.{u3} M) (instMembershipSetFilter.{u3} M) s (nhdsWithin.{u3} M _inst_2 x t)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono_of_mem StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_memₓ'. -/
 theorem liftPropWithinAt_mono_of_mem
     (mono_of_mem : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, s ∈ 𝓝[t] x → P f s x → P f t x)
@@ -746,10 +671,7 @@ theorem liftPropWithinAt_mono_of_mem
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono_of_mem StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_mem
 
 /- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_mono -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono is a dubious translation:
-lean 3 declaration is
-  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {t : Set.{u2} M} {x : M}, (forall {{s : Set.{u1} H}} {{x : H}} {{t : Set.{u1} H}} {{f : H -> H'}}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (HasSubset.Subset.{u2} (Set.{u2} M) (Set.hasSubset.{u2} M) t s) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t x)
-but is expected to have type
-  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {t : Set.{u3} M} {x : M}, (forall {{s : Set.{u4} H}} {{x : H}} {{t : Set.{u4} H}} {{f : H -> H'}}, (HasSubset.Subset.{u4} (Set.{u4} H) (Set.instHasSubsetSet.{u4} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (HasSubset.Subset.{u3} (Set.{u3} M) (Set.instHasSubsetSet.{u3} M) t s) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono StructureGroupoid.LocalInvariantProp.liftPropWithinAt_monoₓ'. -/
 theorem liftPropWithinAt_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropWithinAt P g s x) (hts : t ⊆ s) : LiftPropWithinAt P g t x :=
Diff
@@ -967,7 +967,7 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
       · rintro h hx
         rcases h ⟨hx, hux⟩ with ⟨e, heG, hef, hex⟩
         refine' ⟨e.restr (interior u), _, _, _⟩
-        · exact closed_under_restriction' heG isOpen_interior
+        · exact closedUnderRestriction' heG isOpen_interior
         · have : s ∩ u ∩ e.source = s ∩ (e.source ∩ u) := by mfld_set_tac
           simpa only [this, interior_interior, hu.interior_eq, mfld_simps] using hef
         · simp only [*, interior_interior, hu.interior_eq, mfld_simps]
@@ -1016,7 +1016,7 @@ theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H
   constructor
   · intro hf h2x
     obtain ⟨e, he, hfe, hxe⟩ := hf h2x
-    refine' ⟨e.restr f.source, closed_under_restriction' he f.open_source, _, _, hxe, _⟩
+    refine' ⟨e.restr f.source, closedUnderRestriction' he f.open_source, _, _, hxe, _⟩
     · simp_rw [LocalHomeomorph.restr_source]
       refine' (inter_subset_right _ _).trans interior_subset
     · intro x' hx'
@@ -1098,7 +1098,7 @@ theorem HasGroupoid.comp
         (f.symm ≫ₕ e.symm ≫ₕ e' ≫ₕ f').open_source
       refine' ⟨_, hs.inter φ.open_source, _, _⟩
       · simp only [hx, hφ_dom, mfld_simps]
-      · refine' G₁.eq_on_source (closed_under_restriction' hφG₁ hs) _
+      · refine' G₁.eq_on_source (closedUnderRestriction' hφG₁ hs) _
         rw [LocalHomeomorph.restr_source_inter]
         refine' (hφ.mono _).restr_eqOn_source
         mfld_set_tac }
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn
 
 ! This file was ported from Lean 3 source module geometry.manifold.local_invariant_properties
-! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
+! leanprover-community/mathlib commit ce38d86c0b2d427ce208c3cee3159cb421d2b3c4
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.Geometry.Manifold.ChartedSpace
 /-!
 # Local properties invariant under a groupoid
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We study properties of a triple `(g, s, x)` where `g` is a function between two spaces `H` and `H'`,
 `s` is a subset of `H` and `x` is a point of `H`. Our goal is to register how such a property
 should behave to make sense in charted spaces modelled on `H` and `H'`.
Diff
@@ -66,6 +66,7 @@ namespace StructureGroupoid
 
 variable (G : StructureGroupoid H) (G' : StructureGroupoid H')
 
+#print StructureGroupoid.LocalInvariantProp /-
 /-- Structure recording good behavior of a property of a triple `(f, s, x)` where `f` is a function,
 `s` a set and `x` a point. Good behavior here means locality and invariance under given groupoids
 (both in the source and in the target). Given such a good behavior, the lift of this property
@@ -80,6 +81,7 @@ structure LocalInvariantProp (P : (H → H') → Set H → H → Prop) : Prop wh
     ∀ {s x f} {e' : LocalHomeomorph H' H'},
       e' ∈ G' → s ⊆ f ⁻¹' e'.source → f x ∈ e'.source → P f s x → P (e' ∘ f) s x
 #align structure_groupoid.local_invariant_prop StructureGroupoid.LocalInvariantProp
+-/
 
 variable {G G'} {P : (H → H') → Set H → H → Prop} {s t u : Set H} {x : H}
 
@@ -89,18 +91,32 @@ include hG
 
 namespace LocalInvariantProp
 
+#print StructureGroupoid.LocalInvariantProp.congr_set /-
 theorem congr_set {s t : Set H} {x : H} {f : H → H'} (hu : s =ᶠ[𝓝 x] t) : P f s x ↔ P f t x :=
   by
   obtain ⟨o, host, ho, hxo⟩ := mem_nhds_iff.mp hu.mem_iff
   simp_rw [subset_def, mem_set_of, ← and_congr_left_iff, ← mem_inter_iff, ← Set.ext_iff] at host
   rw [hG.is_local ho hxo, host, ← hG.is_local ho hxo]
 #align structure_groupoid.local_invariant_prop.congr_set StructureGroupoid.LocalInvariantProp.congr_set
+-/
 
+/- warning: structure_groupoid.local_invariant_prop.is_local_nhds -> StructureGroupoid.LocalInvariantProp.is_local_nhds is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {u : Set.{u1} H} {x : H} {f : H -> H'}, (Membership.Mem.{u1, u1} (Set.{u1} H) (Filter.{u1} H) (Filter.hasMem.{u1} H) u (nhdsWithin.{u1} H _inst_1 x s)) -> (Iff (P f s x) (P f (Inter.inter.{u1} (Set.{u1} H) (Set.hasInter.{u1} H) s u) x)))
+but is expected to have type
+  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {u : Set.{u1} H} {x : H} {f : H -> H'}, (Membership.mem.{u1, u1} (Set.{u1} H) (Filter.{u1} H) (instMembershipSetFilter.{u1} H) u (nhdsWithin.{u1} H _inst_1 x s)) -> (Iff (P f s x) (P f (Inter.inter.{u1} (Set.{u1} H) (Set.instInterSet.{u1} H) s u) x)))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.is_local_nhds StructureGroupoid.LocalInvariantProp.is_local_nhdsₓ'. -/
 theorem is_local_nhds {s u : Set H} {x : H} {f : H → H'} (hu : u ∈ 𝓝[s] x) :
     P f s x ↔ P f (s ∩ u) x :=
   hG.congr_set <| mem_nhdsWithin_iff_eventuallyEq.mp hu
 #align structure_groupoid.local_invariant_prop.is_local_nhds StructureGroupoid.LocalInvariantProp.is_local_nhds
 
+/- warning: structure_groupoid.local_invariant_prop.congr_iff_nhds_within -> StructureGroupoid.LocalInvariantProp.congr_iff_nhdsWithin is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhdsWithin.{u1} H _inst_1 x s) f g) -> (Eq.{succ u2} H' (f x) (g x)) -> (Iff (P f s x) (P g s x)))
+but is expected to have type
+  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhdsWithin.{u2} H _inst_1 x s) f g) -> (Eq.{succ u1} H' (f x) (g x)) -> (Iff (P f s x) (P g s x)))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr_iff_nhds_within StructureGroupoid.LocalInvariantProp.congr_iff_nhdsWithinₓ'. -/
 theorem congr_iff_nhdsWithin {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[𝓝[s] x] g)
     (h2 : f x = g x) : P f s x ↔ P g s x :=
   by
@@ -109,28 +125,64 @@ theorem congr_iff_nhdsWithin {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[
     ⟨hG.congr_of_forall (fun y hy => hy.2) h2, hG.congr_of_forall (fun y hy => hy.2.symm) h2.symm⟩
 #align structure_groupoid.local_invariant_prop.congr_iff_nhds_within StructureGroupoid.LocalInvariantProp.congr_iff_nhdsWithin
 
+/- warning: structure_groupoid.local_invariant_prop.congr_nhds_within -> StructureGroupoid.LocalInvariantProp.congr_nhdsWithin is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhdsWithin.{u1} H _inst_1 x s) f g) -> (Eq.{succ u2} H' (f x) (g x)) -> (P f s x) -> (P g s x))
+but is expected to have type
+  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhdsWithin.{u2} H _inst_1 x s) f g) -> (Eq.{succ u1} H' (f x) (g x)) -> (P f s x) -> (P g s x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr_nhds_within StructureGroupoid.LocalInvariantProp.congr_nhdsWithinₓ'. -/
 theorem congr_nhdsWithin {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[𝓝[s] x] g) (h2 : f x = g x)
     (hP : P f s x) : P g s x :=
   (hG.congr_iff_nhdsWithin h1 h2).mp hP
 #align structure_groupoid.local_invariant_prop.congr_nhds_within StructureGroupoid.LocalInvariantProp.congr_nhdsWithin
 
-theorem congr_nhds_within' {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[𝓝[s] x] g) (h2 : f x = g x)
+/- warning: structure_groupoid.local_invariant_prop.congr_nhds_within' -> StructureGroupoid.LocalInvariantProp.congr_nhdsWithin' is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhdsWithin.{u1} H _inst_1 x s) f g) -> (Eq.{succ u2} H' (f x) (g x)) -> (P g s x) -> (P f s x))
+but is expected to have type
+  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhdsWithin.{u2} H _inst_1 x s) f g) -> (Eq.{succ u1} H' (f x) (g x)) -> (P g s x) -> (P f s x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr_nhds_within' StructureGroupoid.LocalInvariantProp.congr_nhdsWithin'ₓ'. -/
+theorem congr_nhdsWithin' {s : Set H} {x : H} {f g : H → H'} (h1 : f =ᶠ[𝓝[s] x] g) (h2 : f x = g x)
     (hP : P g s x) : P f s x :=
   (hG.congr_iff_nhdsWithin h1 h2).mpr hP
-#align structure_groupoid.local_invariant_prop.congr_nhds_within' StructureGroupoid.LocalInvariantProp.congr_nhds_within'
-
+#align structure_groupoid.local_invariant_prop.congr_nhds_within' StructureGroupoid.LocalInvariantProp.congr_nhdsWithin'
+
+/- warning: structure_groupoid.local_invariant_prop.congr_iff -> StructureGroupoid.LocalInvariantProp.congr_iff is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhds.{u1} H _inst_1 x) f g) -> (Iff (P f s x) (P g s x)))
+but is expected to have type
+  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhds.{u2} H _inst_1 x) f g) -> (Iff (P f s x) (P g s x)))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr_iff StructureGroupoid.LocalInvariantProp.congr_iffₓ'. -/
 theorem congr_iff {s : Set H} {x : H} {f g : H → H'} (h : f =ᶠ[𝓝 x] g) : P f s x ↔ P g s x :=
   hG.congr_iff_nhdsWithin (mem_nhdsWithin_of_mem_nhds h) (mem_of_mem_nhds h : _)
 #align structure_groupoid.local_invariant_prop.congr_iff StructureGroupoid.LocalInvariantProp.congr_iff
 
+/- warning: structure_groupoid.local_invariant_prop.congr -> StructureGroupoid.LocalInvariantProp.congr is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhds.{u1} H _inst_1 x) f g) -> (P f s x) -> (P g s x))
+but is expected to have type
+  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhds.{u2} H _inst_1 x) f g) -> (P f s x) -> (P g s x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr StructureGroupoid.LocalInvariantProp.congrₓ'. -/
 theorem congr {s : Set H} {x : H} {f g : H → H'} (h : f =ᶠ[𝓝 x] g) (hP : P f s x) : P g s x :=
   (hG.congr_iff h).mp hP
 #align structure_groupoid.local_invariant_prop.congr StructureGroupoid.LocalInvariantProp.congr
 
+/- warning: structure_groupoid.local_invariant_prop.congr' -> StructureGroupoid.LocalInvariantProp.congr' is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u1, u2} H H' (nhds.{u1} H _inst_1 x) f g) -> (P g s x) -> (P f s x))
+but is expected to have type
+  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {g : H -> H'}, (Filter.EventuallyEq.{u2, u1} H H' (nhds.{u2} H _inst_1 x) f g) -> (P g s x) -> (P f s x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.congr' StructureGroupoid.LocalInvariantProp.congr'ₓ'. -/
 theorem congr' {s : Set H} {x : H} {f g : H → H'} (h : f =ᶠ[𝓝 x] g) (hP : P g s x) : P f s x :=
   hG.congr h.symm hP
 #align structure_groupoid.local_invariant_prop.congr' StructureGroupoid.LocalInvariantProp.congr'
 
+/- warning: structure_groupoid.local_invariant_prop.left_invariance -> StructureGroupoid.LocalInvariantProp.left_invariance is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {e' : LocalHomeomorph.{u2, u2} H' H' _inst_4 _inst_4}, (Membership.Mem.{u2, u2} (LocalHomeomorph.{u2, u2} H' H' _inst_4 _inst_4) (StructureGroupoid.{u2} H' _inst_4) (StructureGroupoid.hasMem.{u2} H' _inst_4) e' G') -> (ContinuousWithinAt.{u1, u2} H H' _inst_1 _inst_4 f s x) -> (Membership.Mem.{u2, u2} H' (Set.{u2} H') (Set.hasMem.{u2} H') (f x) (LocalEquiv.source.{u2, u2} H' H' (LocalHomeomorph.toLocalEquiv.{u2, u2} H' H' _inst_4 _inst_4 e'))) -> (Iff (P (Function.comp.{succ u1, succ u2, succ u2} H H' H' (coeFn.{succ u2, succ u2} (LocalHomeomorph.{u2, u2} H' H' _inst_4 _inst_4) (fun (_x : LocalHomeomorph.{u2, u2} H' H' _inst_4 _inst_4) => H' -> H') (LocalHomeomorph.hasCoeToFun.{u2, u2} H' H' _inst_4 _inst_4) e') f) s x) (P f s x)))
+but is expected to have type
+  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {e' : LocalHomeomorph.{u1, u1} H' H' _inst_4 _inst_4}, (Membership.mem.{u1, u1} (LocalHomeomorph.{u1, u1} H' H' _inst_4 _inst_4) (StructureGroupoid.{u1} H' _inst_4) (instMembershipLocalHomeomorphStructureGroupoid.{u1} H' _inst_4) e' G') -> (ContinuousWithinAt.{u2, u1} H H' _inst_1 _inst_4 f s x) -> (Membership.mem.{u1, u1} H' (Set.{u1} H') (Set.instMembershipSet.{u1} H') (f x) (LocalEquiv.source.{u1, u1} H' H' (LocalHomeomorph.toLocalEquiv.{u1, u1} H' H' _inst_4 _inst_4 e'))) -> (Iff (P (Function.comp.{succ u2, succ u1, succ u1} H H' H' (LocalHomeomorph.toFun'.{u1, u1} H' H' _inst_4 _inst_4 e') f) s x) (P f s x)))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.left_invariance StructureGroupoid.LocalInvariantProp.left_invarianceₓ'. -/
 theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : LocalHomeomorph H' H'}
     (he' : e' ∈ G') (hfs : ContinuousWithinAt f s x) (hxe' : f x ∈ e'.source) :
     P (e' ∘ f) s x ↔ P f s x :=
@@ -150,6 +202,12 @@ theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : LocalHomeomorph
     exact hG.left_invariance' he' (inter_subset_right _ _) hxe'
 #align structure_groupoid.local_invariant_prop.left_invariance StructureGroupoid.LocalInvariantProp.left_invariance
 
+/- warning: structure_groupoid.local_invariant_prop.right_invariance -> StructureGroupoid.LocalInvariantProp.right_invariance is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u1} H} {x : H} {f : H -> H'} {e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1}, (Membership.Mem.{u1, u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (StructureGroupoid.{u1} H _inst_1) (StructureGroupoid.hasMem.{u1} H _inst_1) e G) -> (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e))) -> (Iff (P (Function.comp.{succ u1, succ u1, succ u2} H H H' f (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (_x : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) (LocalHomeomorph.symm.{u1, u1} H H _inst_1 _inst_1 e))) (Set.preimage.{u1, u1} H H (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (_x : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) (LocalHomeomorph.symm.{u1, u1} H H _inst_1 _inst_1 e)) s) (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (_x : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) e x)) (P f s x)))
+but is expected to have type
+  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall {s : Set.{u2} H} {x : H} {f : H -> H'} {e : LocalHomeomorph.{u2, u2} H H _inst_1 _inst_1}, (Membership.mem.{u2, u2} (LocalHomeomorph.{u2, u2} H H _inst_1 _inst_1) (StructureGroupoid.{u2} H _inst_1) (instMembershipLocalHomeomorphStructureGroupoid.{u2} H _inst_1) e G) -> (Membership.mem.{u2, u2} H (Set.{u2} H) (Set.instMembershipSet.{u2} H) x (LocalEquiv.source.{u2, u2} H H (LocalHomeomorph.toLocalEquiv.{u2, u2} H H _inst_1 _inst_1 e))) -> (Iff (P (Function.comp.{succ u2, succ u2, succ u1} H H H' f (LocalHomeomorph.toFun'.{u2, u2} H H _inst_1 _inst_1 (LocalHomeomorph.symm.{u2, u2} H H _inst_1 _inst_1 e))) (Set.preimage.{u2, u2} H H (LocalHomeomorph.toFun'.{u2, u2} H H _inst_1 _inst_1 (LocalHomeomorph.symm.{u2, u2} H H _inst_1 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u2, u2} H H _inst_1 _inst_1 e x)) (P f s x)))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.right_invariance StructureGroupoid.LocalInvariantProp.right_invarianceₓ'. -/
 theorem right_invariance {s : Set H} {x : H} {f : H → H'} {e : LocalHomeomorph H H} (he : e ∈ G)
     (hxe : x ∈ e.source) : P (f ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P f s x :=
   by
@@ -170,6 +228,7 @@ end StructureGroupoid
 
 namespace ChartedSpace
 
+#print ChartedSpace.LiftPropWithinAt /-
 /-- Given a property of germs of functions and sets in the model space, then one defines
 a corresponding property in a charted space, by requiring that it holds at the preferred chart at
 this point. (When the property is local and invariant, it will in fact hold using any chart, see
@@ -180,34 +239,53 @@ def LiftPropWithinAt (P : (H → H') → Set H → H → Prop) (f : M → M') (s
   ContinuousWithinAt f s x ∧
     P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) ((chartAt H x).symm ⁻¹' s) (chartAt H x x)
 #align charted_space.lift_prop_within_at ChartedSpace.LiftPropWithinAt
+-/
 
+#print ChartedSpace.LiftPropOn /-
 /-- Given a property of germs of functions and sets in the model space, then one defines
 a corresponding property of functions on sets in a charted space, by requiring that it holds
 around each point of the set, in the preferred charts. -/
 def LiftPropOn (P : (H → H') → Set H → H → Prop) (f : M → M') (s : Set M) :=
   ∀ x ∈ s, LiftPropWithinAt P f s x
 #align charted_space.lift_prop_on ChartedSpace.LiftPropOn
+-/
 
+#print ChartedSpace.LiftPropAt /-
 /-- Given a property of germs of functions and sets in the model space, then one defines
 a corresponding property of a function at a point in a charted space, by requiring that it holds
 in the preferred chart. -/
 def LiftPropAt (P : (H → H') → Set H → H → Prop) (f : M → M') (x : M) :=
   LiftPropWithinAt P f univ x
 #align charted_space.lift_prop_at ChartedSpace.LiftPropAt
+-/
 
+/- warning: charted_space.lift_prop_at_iff -> ChartedSpace.liftPropAt_iff is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {f : M -> M'} {x : M}, Iff (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f x) (And (ContinuousAt.{u2, u4} M M' _inst_2 _inst_5 f x) (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) (ChartedSpace.chartAt.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u1, succ u2, succ u4} H M M' f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))))) (Set.univ.{u1} H) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x) x)))
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {f : M -> M'} {x : M}, Iff (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f x) (And (ContinuousAt.{u3, u1} M M' _inst_2 _inst_5 f x) (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u4, succ u3, succ u1} H M M' f (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x))))) (Set.univ.{u4} H) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x) x)))
+Case conversion may be inaccurate. Consider using '#align charted_space.lift_prop_at_iff ChartedSpace.liftPropAt_iffₓ'. -/
 theorem liftPropAt_iff {P : (H → H') → Set H → H → Prop} {f : M → M'} {x : M} :
     LiftPropAt P f x ↔
       ContinuousAt f x ∧ P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) univ (chartAt H x x) :=
   by rw [lift_prop_at, lift_prop_within_at, continuousWithinAt_univ, preimage_univ]
 #align charted_space.lift_prop_at_iff ChartedSpace.liftPropAt_iff
 
+#print ChartedSpace.LiftProp /-
 /-- Given a property of germs of functions and sets in the model space, then one defines
 a corresponding property of a function in a charted space, by requiring that it holds
 in the preferred chart around every point. -/
 def LiftProp (P : (H → H') → Set H → H → Prop) (f : M → M') :=
   ∀ x, LiftPropAt P f x
 #align charted_space.lift_prop ChartedSpace.LiftProp
+-/
 
+/- warning: charted_space.lift_prop_iff -> ChartedSpace.liftProp_iff is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {f : M -> M'}, Iff (ChartedSpace.LiftProp.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f) (And (Continuous.{u2, u4} M M' _inst_2 _inst_5 f) (forall (x : M), P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) (ChartedSpace.chartAt.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u1, succ u2, succ u4} H M M' f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))))) (Set.univ.{u1} H) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x) x)))
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {f : M -> M'}, Iff (ChartedSpace.LiftProp.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f) (And (Continuous.{u3, u1} M M' _inst_2 _inst_5 f) (forall (x : M), P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u4, succ u3, succ u1} H M M' f (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x))))) (Set.univ.{u4} H) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x) x)))
+Case conversion may be inaccurate. Consider using '#align charted_space.lift_prop_iff ChartedSpace.liftProp_iffₓ'. -/
 theorem liftProp_iff {P : (H → H') → Set H → H → Prop} {f : M → M'} :
     LiftProp P f ↔
       Continuous f ∧ ∀ x, P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) univ (chartAt H x x) :=
@@ -224,24 +302,54 @@ variable {G : StructureGroupoid H} {G' : StructureGroupoid H'} {e e' : LocalHome
   {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}
 
+/- warning: structure_groupoid.lift_prop_within_at_univ -> StructureGroupoid.liftPropWithinAt_univ is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {x : M}, Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Set.univ.{u2} M) x) (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {x : M}, Iff (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Set.univ.{u3} M) x) (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.lift_prop_within_at_univ StructureGroupoid.liftPropWithinAt_univₓ'. -/
 theorem liftPropWithinAt_univ : LiftPropWithinAt P g univ x ↔ LiftPropAt P g x :=
   Iff.rfl
 #align structure_groupoid.lift_prop_within_at_univ StructureGroupoid.liftPropWithinAt_univ
 
+/- warning: structure_groupoid.lift_prop_on_univ -> StructureGroupoid.liftPropOn_univ is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'}, Iff (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Set.univ.{u2} M)) (ChartedSpace.LiftProp.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'}, Iff (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Set.univ.{u3} M)) (ChartedSpace.LiftProp.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.lift_prop_on_univ StructureGroupoid.liftPropOn_univₓ'. -/
 theorem liftPropOn_univ : LiftPropOn P g univ ↔ LiftProp P g := by
   simp [lift_prop_on, lift_prop, lift_prop_at]
 #align structure_groupoid.lift_prop_on_univ StructureGroupoid.liftPropOn_univ
 
+/- warning: structure_groupoid.lift_prop_within_at_self -> StructureGroupoid.liftPropWithinAt_self is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {f : H -> H'} {s : Set.{u1} H} {x : H}, Iff (ChartedSpace.LiftPropWithinAt.{u1, u1, u2, u2} H H H' H' _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_4 _inst_4 (chartedSpaceSelf.{u2} H' _inst_4) P f s x) (And (ContinuousWithinAt.{u1, u2} H H' _inst_1 _inst_4 f s x) (P f s x))
+but is expected to have type
+  forall {H : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_4 : TopologicalSpace.{u1} H'] {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {f : H -> H'} {s : Set.{u2} H} {x : H}, Iff (ChartedSpace.LiftPropWithinAt.{u2, u2, u1, u1} H H H' H' _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) _inst_4 _inst_4 (chartedSpaceSelf.{u1} H' _inst_4) P f s x) (And (ContinuousWithinAt.{u2, u1} H H' _inst_1 _inst_4 f s x) (P f s x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.lift_prop_within_at_self StructureGroupoid.liftPropWithinAt_selfₓ'. -/
 theorem liftPropWithinAt_self {f : H → H'} {s : Set H} {x : H} :
     LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P f s x :=
   Iff.rfl
 #align structure_groupoid.lift_prop_within_at_self StructureGroupoid.liftPropWithinAt_self
 
+/- warning: structure_groupoid.lift_prop_within_at_self_source -> StructureGroupoid.liftPropWithinAt_self_source is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u2, u3} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {f : H -> M'} {s : Set.{u1} H} {x : H}, Iff (ChartedSpace.LiftPropWithinAt.{u1, u1, u2, u3} H H H' M' _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_4 _inst_5 _inst_6 P f s x) (And (ContinuousWithinAt.{u1, u3} H M' _inst_1 _inst_5 f s x) (P (Function.comp.{succ u1, succ u3, succ u2} H M' H' (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u3, u2} M' H' _inst_5 _inst_4) (ChartedSpace.chartAt.{u2, u3} H' _inst_4 M' _inst_5 _inst_6 (f x))) f) s x))
+but is expected to have type
+  forall {H : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {f : H -> M'} {s : Set.{u3} H} {x : H}, Iff (ChartedSpace.LiftPropWithinAt.{u3, u3, u2, u1} H H H' M' _inst_1 _inst_1 (chartedSpaceSelf.{u3} H _inst_1) _inst_4 _inst_5 _inst_6 P f s x) (And (ContinuousWithinAt.{u3, u1} H M' _inst_1 _inst_5 f s x) (P (Function.comp.{succ u3, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 (f x))) f) s x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.lift_prop_within_at_self_source StructureGroupoid.liftPropWithinAt_self_sourceₓ'. -/
 theorem liftPropWithinAt_self_source {f : H → M'} {s : Set H} {x : H} :
     LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P (chartAt H' (f x) ∘ f) s x :=
   Iff.rfl
 #align structure_groupoid.lift_prop_within_at_self_source StructureGroupoid.liftPropWithinAt_self_source
 
+/- warning: structure_groupoid.lift_prop_within_at_self_target -> StructureGroupoid.liftPropWithinAt_self_target is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {s : Set.{u2} M} {x : M} {f : M -> H'}, Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u3} H M H' H' _inst_1 _inst_2 _inst_3 _inst_4 _inst_4 (chartedSpaceSelf.{u3} H' _inst_4) P f s x) (And (ContinuousWithinAt.{u2, u3} M H' _inst_2 _inst_4 f s x) (P (Function.comp.{succ u1, succ u2, succ u3} H M H' f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x)))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x) x)))
+but is expected to have type
+  forall {H : Type.{u3}} {M : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u3, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {s : Set.{u2} M} {x : M} {f : M -> H'}, Iff (ChartedSpace.LiftPropWithinAt.{u3, u2, u1, u1} H M H' H' _inst_1 _inst_2 _inst_3 _inst_4 _inst_4 (chartedSpaceSelf.{u1} H' _inst_4) P f s x) (And (ContinuousWithinAt.{u2, u1} M H' _inst_2 _inst_4 f s x) (P (Function.comp.{succ u3, succ u2, succ u1} H M H' f (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u3, u2} H _inst_1 M _inst_2 _inst_3 x)))) (Set.preimage.{u3, u2} H M (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u3, u2} H _inst_1 M _inst_2 _inst_3 x))) s) (LocalHomeomorph.toFun'.{u2, u3} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u3, u2} H _inst_1 M _inst_2 _inst_3 x) x)))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.lift_prop_within_at_self_target StructureGroupoid.liftPropWithinAt_self_targetₓ'. -/
 theorem liftPropWithinAt_self_target {f : M → H'} :
     LiftPropWithinAt P f s x ↔
       ContinuousWithinAt f s x ∧
@@ -255,6 +363,12 @@ variable (hG : G.LocalInvariantProp G' P)
 
 include hG
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_iff -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iff is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall {f : M -> M'}, Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f s x) (And (ContinuousWithinAt.{u2, u4} M M' _inst_2 _inst_5 f s x) (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) (ChartedSpace.chartAt.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u1, succ u2, succ u4} H M M' f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))))) (Inter.inter.{u1} (Set.{u1} H) (Set.hasInter.{u1} H) (LocalEquiv.target.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))) (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) s (Set.preimage.{u2, u4} M M' f (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 (f x)))))))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x) x))))
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {f : M -> M'}, Iff (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P f s x) (And (ContinuousWithinAt.{u3, u1} M M' _inst_2 _inst_5 f s x) (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 (f x))) (Function.comp.{succ u4, succ u3, succ u1} H M M' f (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x))))) (Inter.inter.{u4} (Set.{u4} H) (Set.instInterSet.{u4} H) (LocalEquiv.target.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x))) (Inter.inter.{u3} (Set.{u3} M) (Set.instInterSet.{u3} M) s (Set.preimage.{u3, u1} M M' f (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 (ChartedSpace.chartAt.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 (f x)))))))) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u4, u3} H _inst_1 M _inst_2 _inst_3 x) x))))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iffₓ'. -/
 /-- `lift_prop_within_at P f s x` is equivalent to a definition where we restrict the set we are
   considering to the domain of the charts at `x` and `f x`. -/
 theorem liftPropWithinAt_iff {f : M → M'} :
@@ -270,7 +384,13 @@ theorem liftPropWithinAt_iff {f : M → M'} :
       (chart_source_mem_nhds H' (f x))
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iff
 
-theorem lift_prop_within_at_indep_chart_source_aux (g : M → H') (he : e ∈ G.maximalAtlas M)
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source_aux -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source_aux is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {e' : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall (g : M -> H'), (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e' (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e'))) -> (Iff (P (Function.comp.{succ u1, succ u2, succ u3} H M H' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e x)) (P (Function.comp.{succ u1, succ u2, succ u3} H M H' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e'))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e')) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e' x))))
+but is expected to have type
+  forall {H : Type.{u3}} {M : Type.{u2}} {H' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u3, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {e : LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1} {e' : LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u3, u1} H H' _inst_1 _inst_4 G G' P) -> (forall (g : M -> H'), (Membership.mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1) (Set.{max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u3, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (LocalEquiv.source.{u2, u3} M H (LocalHomeomorph.toLocalEquiv.{u2, u3} M H _inst_2 _inst_1 e))) -> (Membership.mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1) (Set.{max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u3 u2} (LocalHomeomorph.{u2, u3} M H _inst_2 _inst_1)) e' (StructureGroupoid.maximalAtlas.{u3, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (LocalEquiv.source.{u2, u3} M H (LocalHomeomorph.toLocalEquiv.{u2, u3} M H _inst_2 _inst_1 e'))) -> (Iff (P (Function.comp.{succ u3, succ u2, succ u1} H M H' g (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 e))) (Set.preimage.{u3, u2} H M (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u2, u3} M H _inst_2 _inst_1 e x)) (P (Function.comp.{succ u3, succ u2, succ u1} H M H' g (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 e'))) (Set.preimage.{u3, u2} H M (LocalHomeomorph.toFun'.{u3, u2} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u2, u3} M H _inst_2 _inst_1 e')) s) (LocalHomeomorph.toFun'.{u2, u3} M H _inst_2 _inst_1 e' x))))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source_auxₓ'. -/
+theorem liftPropWithinAt_indep_chart_source_aux (g : M → H') (he : e ∈ G.maximalAtlas M)
     (xe : x ∈ e.source) (he' : e' ∈ G.maximalAtlas M) (xe' : x ∈ e'.source) :
     P (g ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P (g ∘ e'.symm) (e'.symm ⁻¹' s) (e' x) :=
   by
@@ -287,9 +407,15 @@ theorem lift_prop_within_at_indep_chart_source_aux (g : M → H') (he : e ∈ G.
   · refine' ((e'.eventually_nhds' _ xe').mpr <| e.eventually_left_inverse xe).mono fun y hy => _
     simp only [mfld_simps]
     rw [hy]
-#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source_aux StructureGroupoid.LocalInvariantProp.lift_prop_within_at_indep_chart_source_aux
-
-theorem lift_prop_within_at_indep_chart_target_aux2 (g : H → M') {x : H} {s : Set H}
+#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source_aux
+
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2 is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u2, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {f : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall (g : H -> M') {x : H} {s : Set.{u1} H}, (Membership.Mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (Set.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u3} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u3, u3} M' (Set.{u3} M') (Set.hasMem.{u3} M') (g x) (LocalEquiv.source.{u3, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u3, u2} M' H' _inst_5 _inst_4 f))) -> (Membership.Mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (Set.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u2, u3} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u3, u3} M' (Set.{u3} M') (Set.hasMem.{u3} M') (g x) (LocalEquiv.source.{u3, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u3, u2} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u1, u3} H M' _inst_1 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u1, succ u3, succ u2} H M' H' (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u3, u2} M' H' _inst_5 _inst_4) f) g) s x) (P (Function.comp.{succ u1, succ u3, succ u2} H M' H' (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u3, u2} M' H' _inst_5 _inst_4) f') g) s x)))
+but is expected to have type
+  forall {H : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (forall (g : H -> M') {x : H} {s : Set.{u3} H}, (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u3, u1} H M' _inst_1 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u3, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) g) s x) (P (Function.comp.{succ u3, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f') g) s x)))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2ₓ'. -/
+theorem liftPropWithinAt_indep_chart_target_aux2 (g : H → M') {x : H} {s : Set H}
     (hf : f ∈ G'.maximalAtlas M') (xf : g x ∈ f.source) (hf' : f' ∈ G'.maximalAtlas M')
     (xf' : g x ∈ f'.source) (hgs : ContinuousWithinAt g s x) : P (f ∘ g) s x ↔ P (f' ∘ g) s x :=
   by
@@ -299,9 +425,15 @@ theorem lift_prop_within_at_indep_chart_target_aux2 (g : H → M') {x : H} {s :
       (by simp only [xf, xf', mfld_simps])]
   refine' hG.congr_iff_nhds_within _ (by simp only [xf, mfld_simps])
   exact (hgs.eventually <| f.eventually_left_inverse xf).mono fun y => congr_arg f'
-#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 StructureGroupoid.LocalInvariantProp.lift_prop_within_at_indep_chart_target_aux2
-
-theorem lift_prop_within_at_indep_chart_target_aux {g : X → M'} {e : LocalHomeomorph X H} {x : X}
+#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2
+
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {H' : Type.{u2}} {M' : Type.{u3}} {X : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u2, u3} H' _inst_4 M' _inst_5] [_inst_7 : TopologicalSpace.{u4} X] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {f : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {g : X -> M'} {e : LocalHomeomorph.{u4, u1} X H _inst_7 _inst_1} {x : X} {s : Set.{u4} X}, (Membership.Mem.{u4, u4} X (Set.{u4} X) (Set.hasMem.{u4} X) x (LocalEquiv.source.{u4, u1} X H (LocalHomeomorph.toLocalEquiv.{u4, u1} X H _inst_7 _inst_1 e))) -> (Membership.Mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (Set.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u3} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u3, u3} M' (Set.{u3} M') (Set.hasMem.{u3} M') (g x) (LocalEquiv.source.{u3, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u3, u2} M' H' _inst_5 _inst_4 f))) -> (Membership.Mem.{max u3 u2, max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (Set.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u3 u2} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u2, u3} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u3, u3} M' (Set.{u3} M') (Set.hasMem.{u3} M') (g x) (LocalEquiv.source.{u3, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u3, u2} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u4, u3} X M' _inst_7 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u1, succ u3, succ u2} H M' H' (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u3, u2} M' H' _inst_5 _inst_4) f) (Function.comp.{succ u1, succ u4, succ u3} H X M' g (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) (fun (_x : LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) => H -> X) (LocalHomeomorph.hasCoeToFun.{u1, u4} H X _inst_1 _inst_7) (LocalHomeomorph.symm.{u4, u1} X H _inst_7 _inst_1 e)))) (Set.preimage.{u1, u4} H X (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) (fun (_x : LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) => H -> X) (LocalHomeomorph.hasCoeToFun.{u1, u4} H X _inst_1 _inst_7) (LocalHomeomorph.symm.{u4, u1} X H _inst_7 _inst_1 e)) s) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (LocalHomeomorph.{u4, u1} X H _inst_7 _inst_1) (fun (_x : LocalHomeomorph.{u4, u1} X H _inst_7 _inst_1) => X -> H) (LocalHomeomorph.hasCoeToFun.{u4, u1} X H _inst_7 _inst_1) e x)) (P (Function.comp.{succ u1, succ u3, succ u2} H M' H' (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u3, u2} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u3, u2} M' H' _inst_5 _inst_4) f') (Function.comp.{succ u1, succ u4, succ u3} H X M' g (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) (fun (_x : LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) => H -> X) (LocalHomeomorph.hasCoeToFun.{u1, u4} H X _inst_1 _inst_7) (LocalHomeomorph.symm.{u4, u1} X H _inst_7 _inst_1 e)))) (Set.preimage.{u1, u4} H X (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) (fun (_x : LocalHomeomorph.{u1, u4} H X _inst_1 _inst_7) => H -> X) (LocalHomeomorph.hasCoeToFun.{u1, u4} H X _inst_1 _inst_7) (LocalHomeomorph.symm.{u4, u1} X H _inst_7 _inst_1 e)) s) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (LocalHomeomorph.{u4, u1} X H _inst_7 _inst_1) (fun (_x : LocalHomeomorph.{u4, u1} X H _inst_7 _inst_1) => X -> H) (LocalHomeomorph.hasCoeToFun.{u4, u1} X H _inst_7 _inst_1) e x))))
+but is expected to have type
+  forall {H : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} {X : Type.{u4}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] [_inst_7 : TopologicalSpace.{u4} X] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (forall {g : X -> M'} {e : LocalHomeomorph.{u4, u3} X H _inst_7 _inst_1} {x : X} {s : Set.{u4} X}, (Membership.mem.{u4, u4} X (Set.{u4} X) (Set.instMembershipSet.{u4} X) x (LocalEquiv.source.{u4, u3} X H (LocalHomeomorph.toLocalEquiv.{u4, u3} X H _inst_7 _inst_1 e))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u4, u1} X M' _inst_7 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u3, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) (Function.comp.{succ u3, succ u4, succ u1} H X M' g (LocalHomeomorph.toFun'.{u3, u4} H X _inst_1 _inst_7 (LocalHomeomorph.symm.{u4, u3} X H _inst_7 _inst_1 e)))) (Set.preimage.{u3, u4} H X (LocalHomeomorph.toFun'.{u3, u4} H X _inst_1 _inst_7 (LocalHomeomorph.symm.{u4, u3} X H _inst_7 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u4, u3} X H _inst_7 _inst_1 e x)) (P (Function.comp.{succ u3, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f') (Function.comp.{succ u3, succ u4, succ u1} H X M' g (LocalHomeomorph.toFun'.{u3, u4} H X _inst_1 _inst_7 (LocalHomeomorph.symm.{u4, u3} X H _inst_7 _inst_1 e)))) (Set.preimage.{u3, u4} H X (LocalHomeomorph.toFun'.{u3, u4} H X _inst_1 _inst_7 (LocalHomeomorph.symm.{u4, u3} X H _inst_7 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u4, u3} X H _inst_7 _inst_1 e x))))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_auxₓ'. -/
+theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : LocalHomeomorph X H} {x : X}
     {s : Set X} (xe : x ∈ e.source) (hf : f ∈ G'.maximalAtlas M') (xf : g x ∈ f.source)
     (hf' : f' ∈ G'.maximalAtlas M') (xf' : g x ∈ f'.source) (hgs : ContinuousWithinAt g s x) :
     P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P (f' ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) :=
@@ -309,32 +441,50 @@ theorem lift_prop_within_at_indep_chart_target_aux {g : X → M'} {e : LocalHome
   rw [← e.left_inv xe] at xf xf' hgs
   refine' hG.lift_prop_within_at_indep_chart_target_aux2 (g ∘ e.symm) hf xf hf' xf' _
   exact hgs.comp (e.symm.continuous_at <| e.maps_to xe).ContinuousWithinAt subset.rfl
-#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux StructureGroupoid.LocalInvariantProp.lift_prop_within_at_indep_chart_target_aux
-
+#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux
+
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_aux -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_aux is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {e' : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e' (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e'))) -> (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u4, u4} M' (Set.{u4} M') (Set.hasMem.{u4} M') (g x) (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f))) -> (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u4, u4} M' (Set.{u4} M') (Set.hasMem.{u4} M') (g x) (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u2, u4} M M' _inst_2 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f) (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e x)) (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f') (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e')))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e')) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e' x)))
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {e : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {e' : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {f' : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (LocalEquiv.source.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e))) -> (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e' (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (LocalEquiv.source.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e'))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f' (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f'))) -> (ContinuousWithinAt.{u3, u1} M M' _inst_2 _inst_5 g s x) -> (Iff (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 e x)) (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f') (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e')))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e')) s) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 e' x)))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_auxₓ'. -/
 /-- If a property of a germ of function `g` on a pointed set `(s, x)` is invariant under the
 structure groupoid (by composition in the source space and in the target space), then
 expressing it in charted spaces does not depend on the element of the maximal atlas one uses
 both in the source and in the target manifolds, provided they are defined around `x` and `g x`
 respectively, and provided `g` is continuous within `s` at `x` (otherwise, the local behavior
 of `g` at `x` can not be captured with a chart in the target). -/
-theorem lift_prop_within_at_indep_chart_aux (he : e ∈ G.maximalAtlas M) (xe : x ∈ e.source)
+theorem liftPropWithinAt_indep_chart_aux (he : e ∈ G.maximalAtlas M) (xe : x ∈ e.source)
     (he' : e' ∈ G.maximalAtlas M) (xe' : x ∈ e'.source) (hf : f ∈ G'.maximalAtlas M')
     (xf : g x ∈ f.source) (hf' : f' ∈ G'.maximalAtlas M') (xf' : g x ∈ f'.source)
     (hgs : ContinuousWithinAt g s x) :
     P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P (f' ∘ g ∘ e'.symm) (e'.symm ⁻¹' s) (e' x) := by
   rw [hG.lift_prop_within_at_indep_chart_source_aux (f ∘ g) he xe he' xe',
     hG.lift_prop_within_at_indep_chart_target_aux xe' hf xf hf' xf' hgs]
-#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_aux StructureGroupoid.LocalInvariantProp.lift_prop_within_at_indep_chart_aux
-
+#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_aux StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_aux
+
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u4, u4} M' (Set.{u4} M') (Set.hasMem.{u4} M') (g x) (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u2, u4} M M' _inst_2 _inst_5 g s x) (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f) (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e x)))))
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {e : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u4, u3} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (LocalEquiv.source.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u3, u1} M M' _inst_2 _inst_5 g s x) (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 e x)))))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chartₓ'. -/
 theorem liftPropWithinAt_indep_chart [HasGroupoid M G] [HasGroupoid M' G']
     (he : e ∈ G.maximalAtlas M) (xe : x ∈ e.source) (hf : f ∈ G'.maximalAtlas M')
     (xf : g x ∈ f.source) :
     LiftPropWithinAt P g s x ↔ ContinuousWithinAt g s x ∧ P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) :=
   and_congr_right <|
-    hG.lift_prop_within_at_indep_chart_aux (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) he xe
+    hG.liftPropWithinAt_indep_chart_aux (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) he xe
       (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) hf xf
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (ChartedSpace.LiftPropWithinAt.{u1, u1, u3, u4} H H H' M' _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_4 _inst_5 _inst_6 P (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e x))))
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {e : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u4, u3} H _inst_1 M _inst_2 _inst_3 G], (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (LocalEquiv.source.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (ChartedSpace.LiftPropWithinAt.{u4, u4, u2, u1} H H H' M' _inst_1 _inst_1 (chartedSpaceSelf.{u4} H _inst_1) _inst_4 _inst_5 _inst_6 P (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 e x))))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_sourceₓ'. -/
 /-- A version of `lift_prop_within_at_indep_chart`, only for the source. -/
 theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maximalAtlas M)
     (xe : x ∈ e.source) :
@@ -349,6 +499,12 @@ theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maxi
       (chart_mem_maximal_atlas G x) (mem_chart_source H x) he xe]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {f : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u4, u4} M' (Set.{u4} M') (Set.hasMem.{u4} M') (g x) (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u2, u4} M M' _inst_2 _inst_5 g s x) (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u3} H M H' H' _inst_1 _inst_2 _inst_3 _inst_4 _inst_4 (chartedSpaceSelf.{u3} H' _inst_4) P (Function.comp.{succ u2, succ u4, succ u3} M M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f) g) s x))))
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u1}} {H' : Type.{u4}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u4} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u4, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u4} H' _inst_4} {f : LocalHomeomorph.{u3, u4} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {g : M -> M'} {s : Set.{u1} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u2, u4} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u4, u3} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u4, u3} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u3, u3} M' (Set.{u3} M') (Set.instMembershipSet.{u3} M') (g x) (LocalEquiv.source.{u3, u4} M' H' (LocalHomeomorph.toLocalEquiv.{u3, u4} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u2, u1, u4, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u1, u3} M M' _inst_2 _inst_5 g s x) (ChartedSpace.LiftPropWithinAt.{u2, u1, u4, u4} H M H' H' _inst_1 _inst_2 _inst_3 _inst_4 _inst_4 (chartedSpaceSelf.{u4} H' _inst_4) P (Function.comp.{succ u1, succ u3, succ u4} M M' H' (LocalHomeomorph.toFun'.{u3, u4} M' H' _inst_5 _inst_4 f) g) s x))))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_targetₓ'. -/
 /-- A version of `lift_prop_within_at_indep_chart`, only for the target. -/
 theorem liftPropWithinAt_indep_chart_target [HasGroupoid M' G'] (hf : f ∈ G'.maximalAtlas M')
     (xf : g x ∈ f.source) :
@@ -362,6 +518,12 @@ theorem liftPropWithinAt_indep_chart_target [HasGroupoid M' G'] (hf : f ∈ G'.m
       (chart_mem_maximal_atlas _ _) (mem_chart_source _ _) hf xf hg
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart' -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart' is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.Mem.{u4, u4} M' (Set.{u4} M') (Set.hasMem.{u4} M') (g x) (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u2, u4} M M' _inst_2 _inst_5 g s x) (ChartedSpace.LiftPropWithinAt.{u1, u1, u3, u3} H H H' H' _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_4 _inst_4 (chartedSpaceSelf.{u3} H' _inst_4) P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f) (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e x)))))
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {e : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u4, u3} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (LocalEquiv.source.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e))) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (Membership.mem.{u1, u1} M' (Set.{u1} M') (Set.instMembershipSet.{u1} M') (g x) (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))) -> (Iff (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) (And (ContinuousWithinAt.{u3, u1} M M' _inst_2 _inst_5 g s x) (ChartedSpace.LiftPropWithinAt.{u4, u4, u2, u2} H H H' H' _inst_1 _inst_1 (chartedSpaceSelf.{u4} H _inst_1) _inst_4 _inst_4 (chartedSpaceSelf.{u2} H' _inst_4) P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) s) (LocalHomeomorph.toFun'.{u3, u4} M H _inst_2 _inst_1 e x)))))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart'ₓ'. -/
 /-- A version of `lift_prop_within_at_indep_chart`, that uses `lift_prop_within_at` on both sides.
 -/
 theorem liftPropWithinAt_indep_chart' [HasGroupoid M G] [HasGroupoid M' G']
@@ -379,6 +541,12 @@ theorem liftPropWithinAt_indep_chart' [HasGroupoid M G] [HasGroupoid M' G']
   exact this.comp_continuous_within_at h1
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart'
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart -> StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chart is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u3, u4} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (Set.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) (Set.hasMem.{max u4 u3} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u3, u4} H' M' _inst_4 _inst_5 _inst_6 G')) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s) -> (forall {y : H}, (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) y (Inter.inter.{u1} (Set.{u1} H) (Set.hasInter.{u1} H) (LocalEquiv.target.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e)) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) s (Set.preimage.{u2, u4} M M' g (LocalEquiv.source.{u4, u3} M' H' (LocalHomeomorph.toLocalEquiv.{u4, u3} M' H' _inst_5 _inst_4 f))))))) -> (P (Function.comp.{succ u1, succ u4, succ u3} H M' H' (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) (fun (_x : LocalHomeomorph.{u4, u3} M' H' _inst_5 _inst_4) => M' -> H') (LocalHomeomorph.hasCoeToFun.{u4, u3} M' H' _inst_5 _inst_4) f) (Function.comp.{succ u1, succ u2, succ u4} H M M' g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)))) (Set.preimage.{u1, u2} H M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) s) y)))
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {e : LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1} {f : LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (forall [_inst_8 : HasGroupoid.{u4, u3} H _inst_1 M _inst_2 _inst_3 G] [_inst_9 : HasGroupoid.{u2, u1} H' _inst_4 M' _inst_5 _inst_6 G'], (Membership.mem.{max u4 u3, max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1) (Set.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u4 u3} (LocalHomeomorph.{u3, u4} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u4, u3} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M' H' _inst_5 _inst_4)) f (StructureGroupoid.maximalAtlas.{u2, u1} H' M' _inst_4 _inst_5 _inst_6 G')) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s) -> (forall {y : H}, (Membership.mem.{u4, u4} H (Set.{u4} H) (Set.instMembershipSet.{u4} H) y (Inter.inter.{u4} (Set.{u4} H) (Set.instInterSet.{u4} H) (LocalEquiv.target.{u3, u4} M H (LocalHomeomorph.toLocalEquiv.{u3, u4} M H _inst_2 _inst_1 e)) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) (Inter.inter.{u3} (Set.{u3} M) (Set.instInterSet.{u3} M) s (Set.preimage.{u3, u1} M M' g (LocalEquiv.source.{u1, u2} M' H' (LocalHomeomorph.toLocalEquiv.{u1, u2} M' H' _inst_5 _inst_4 f))))))) -> (P (Function.comp.{succ u4, succ u1, succ u2} H M' H' (LocalHomeomorph.toFun'.{u1, u2} M' H' _inst_5 _inst_4 f) (Function.comp.{succ u4, succ u3, succ u1} H M M' g (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)))) (Set.preimage.{u4, u3} H M (LocalHomeomorph.toFun'.{u4, u3} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u3, u4} M H _inst_2 _inst_1 e)) s) y)))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chartₓ'. -/
 theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈ G.maximalAtlas M)
     (hf : f ∈ G'.maximalAtlas M') (h : LiftPropOn P g s) {y : H}
     (hy : y ∈ e.target ∩ e.symm ⁻¹' (s ∩ g ⁻¹' f.source)) : P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) y :=
@@ -387,6 +555,12 @@ theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈
   rw [e.right_inv hy.1]
 #align structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chart
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_inter' -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter' is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {t : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (Membership.Mem.{u2, u2} (Set.{u2} M) (Filter.{u2} M) (Filter.hasMem.{u2} M) t (nhdsWithin.{u2} M _inst_2 x s)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) s t) x) (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+but is expected to have type
+  forall {H : Type.{u3}} {M : Type.{u4}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u3, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {g : M -> M'} {s : Set.{u4} M} {t : Set.{u4} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (Membership.mem.{u4, u4} (Set.{u4} M) (Filter.{u4} M) (instMembershipSetFilter.{u4} M) t (nhdsWithin.{u4} M _inst_2 x s)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u4} (Set.{u4} M) (Set.instInterSet.{u4} M) s t) x) (ChartedSpace.LiftPropWithinAt.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter'ₓ'. -/
 theorem liftPropWithinAt_inter' (ht : t ∈ 𝓝[s] x) :
     LiftPropWithinAt P g (s ∩ t) x ↔ LiftPropWithinAt P g s x :=
   by
@@ -396,19 +570,43 @@ theorem liftPropWithinAt_inter' (ht : t ∈ 𝓝[s] x) :
   exact (mem_nhds_within_iff_eventually_eq.mp ht).symm.mem_iff
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter'
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_inter -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {t : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (Membership.Mem.{u2, u2} (Set.{u2} M) (Filter.{u2} M) (Filter.hasMem.{u2} M) t (nhds.{u2} M _inst_2 x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) s t) x) (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+but is expected to have type
+  forall {H : Type.{u3}} {M : Type.{u4}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u3, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {g : M -> M'} {s : Set.{u4} M} {t : Set.{u4} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (Membership.mem.{u4, u4} (Set.{u4} M) (Filter.{u4} M) (instMembershipSetFilter.{u4} M) t (nhds.{u4} M _inst_2 x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u4} (Set.{u4} M) (Set.instInterSet.{u4} M) s t) x) (ChartedSpace.LiftPropWithinAt.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter StructureGroupoid.LocalInvariantProp.liftPropWithinAt_interₓ'. -/
 theorem liftPropWithinAt_inter (ht : t ∈ 𝓝 x) :
     LiftPropWithinAt P g (s ∩ t) x ↔ LiftPropWithinAt P g s x :=
   hG.liftPropWithinAt_inter' (mem_nhdsWithin_of_mem_nhds ht)
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at -> StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAt is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Membership.Mem.{u2, u2} (Set.{u2} M) (Filter.{u2} M) (Filter.hasMem.{u2} M) s (nhds.{u2} M _inst_2 x)) -> (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Membership.mem.{u3, u3} (Set.{u3} M) (Filter.{u3} M) (instMembershipSetFilter.{u3} M) s (nhds.{u3} M _inst_2 x)) -> (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAtₓ'. -/
 theorem liftPropAt_of_liftPropWithinAt (h : LiftPropWithinAt P g s x) (hs : s ∈ 𝓝 x) :
     LiftPropAt P g x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs] at h
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_lift_prop_within_at StructureGroupoid.LocalInvariantProp.liftPropAt_of_liftPropWithinAt
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at_of_mem_nhds -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt_of_mem_nhds is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (Membership.Mem.{u2, u2} (Set.{u2} M) (Filter.{u2} M) (Filter.hasMem.{u2} M) s (nhds.{u2} M _inst_2 x)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (Membership.mem.{u3, u3} (Set.{u3} M) (Filter.{u3} M) (instMembershipSetFilter.{u3} M) s (nhds.{u3} M _inst_2 x)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at_of_mem_nhds StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt_of_mem_nhdsₓ'. -/
 theorem liftPropWithinAt_of_liftPropAt_of_mem_nhds (h : LiftPropAt P g x) (hs : s ∈ 𝓝 x) :
     LiftPropWithinAt P g s x := by rwa [← univ_inter s, hG.lift_prop_within_at_inter hs]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at_of_mem_nhds StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt_of_mem_nhds
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on -> StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOn is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall (x : M), (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x s) -> (Exists.{succ u2} (Set.{u2} M) (fun (u : Set.{u2} M) => And (IsOpen.{u2} M _inst_2 u) (And (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x u) (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) s u)))))) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
+but is expected to have type
+  forall {H : Type.{u3}} {M : Type.{u4}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u3, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {g : M -> M'} {s : Set.{u4} M}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (forall (x : M), (Membership.mem.{u4, u4} M (Set.{u4} M) (Set.instMembershipSet.{u4} M) x s) -> (Exists.{succ u4} (Set.{u4} M) (fun (u : Set.{u4} M) => And (IsOpen.{u4} M _inst_2 u) (And (Membership.mem.{u4, u4} M (Set.{u4} M) (Set.instMembershipSet.{u4} M) x u) (ChartedSpace.LiftPropOn.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g (Inter.inter.{u4} (Set.{u4} M) (Set.instInterSet.{u4} M) s u)))))) -> (ChartedSpace.LiftPropOn.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOnₓ'. -/
 theorem liftPropOn_of_locally_liftPropOn
     (h : ∀ x ∈ s, ∃ u, IsOpen u ∧ x ∈ u ∧ LiftPropOn P g (s ∩ u)) : LiftPropOn P g s :=
   by
@@ -419,6 +617,12 @@ theorem liftPropOn_of_locally_liftPropOn
   exact IsOpen.mem_nhds u_open xu
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOn
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_of_locally_lift_prop_on -> StructureGroupoid.LocalInvariantProp.liftProp_of_locally_liftPropOn is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall (x : M), Exists.{succ u2} (Set.{u2} M) (fun (u : Set.{u2} M) => And (IsOpen.{u2} M _inst_2 u) (And (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x u) (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g u)))) -> (ChartedSpace.LiftProp.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g)
+but is expected to have type
+  forall {H : Type.{u3}} {M : Type.{u4}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u3, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u3} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u3} H) -> H -> Prop} {g : M -> M'}, (StructureGroupoid.LocalInvariantProp.{u3, u2} H H' _inst_1 _inst_4 G G' P) -> (forall (x : M), Exists.{succ u4} (Set.{u4} M) (fun (u : Set.{u4} M) => And (IsOpen.{u4} M _inst_2 u) (And (Membership.mem.{u4, u4} M (Set.{u4} M) (Set.instMembershipSet.{u4} M) x u) (ChartedSpace.LiftPropOn.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g u)))) -> (ChartedSpace.LiftProp.{u3, u4, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftProp_of_locally_liftPropOnₓ'. -/
 theorem liftProp_of_locally_liftPropOn (h : ∀ x, ∃ u, IsOpen u ∧ x ∈ u ∧ LiftPropOn P g u) :
     LiftProp P g := by
   rw [← lift_prop_on_univ]
@@ -426,6 +630,12 @@ theorem liftProp_of_locally_liftPropOn (h : ∀ x, ∃ u, IsOpen u ∧ x ∈ u 
   simp [h x]
 #align structure_groupoid.local_invariant_prop.lift_prop_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftProp_of_locally_liftPropOn
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEq is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Filter.EventuallyEq.{u2, u4} M M' (nhdsWithin.{u2} M _inst_2 x s) g' g) -> (Eq.{succ u4} M' (g' x) (g x)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Filter.EventuallyEq.{u3, u1} M M' (nhdsWithin.{u3} M _inst_2 x s) g' g) -> (Eq.{succ u1} M' (g' x) (g x)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEqₓ'. -/
 theorem liftPropWithinAt_congr_of_eventuallyEq (h : LiftPropWithinAt P g s x) (h₁ : g' =ᶠ[𝓝[s] x] g)
     (hx : g' x = g x) : LiftPropWithinAt P g' s x :=
   by
@@ -439,42 +649,90 @@ theorem liftPropWithinAt_congr_of_eventuallyEq (h : LiftPropWithinAt P g s x) (h
   exact h₁.mono fun y hy => by rw [hx, hy]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEq
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff_of_eventuallyEq is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (Filter.EventuallyEq.{u2, u4} M M' (nhdsWithin.{u2} M _inst_2 x s) g' g) -> (Eq.{succ u4} M' (g' x) (g x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x) (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u4}} {H' : Type.{u1}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u2, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u1, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u4} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (Filter.EventuallyEq.{u4, u3} M M' (nhdsWithin.{u4} M _inst_2 x s) g' g) -> (Eq.{succ u3} M' (g' x) (g x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x) (ChartedSpace.LiftPropWithinAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff_of_eventuallyEqₓ'. -/
 theorem liftPropWithinAt_congr_iff_of_eventuallyEq (h₁ : g' =ᶠ[𝓝[s] x] g) (hx : g' x = g x) :
     LiftPropWithinAt P g' s x ↔ LiftPropWithinAt P g s x :=
   ⟨fun h => hG.liftPropWithinAt_congr_of_eventuallyEq h h₁.symm hx.symm, fun h =>
     hG.liftPropWithinAt_congr_of_eventuallyEq h h₁ hx⟩
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff_of_eventuallyEq
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall (y : M), (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) y s) -> (Eq.{succ u4} M' (g' y) (g y))) -> (Eq.{succ u4} M' (g' x) (g x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x) (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u4}} {H' : Type.{u1}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u2, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u1, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u4} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall (y : M), (Membership.mem.{u4, u4} M (Set.{u4} M) (Set.instMembershipSet.{u4} M) y s) -> (Eq.{succ u3} M' (g' y) (g y))) -> (Eq.{succ u3} M' (g' x) (g x)) -> (Iff (ChartedSpace.LiftPropWithinAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x) (ChartedSpace.LiftPropWithinAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iffₓ'. -/
 theorem liftPropWithinAt_congr_iff (h₁ : ∀ y ∈ s, g' y = g y) (hx : g' x = g x) :
     LiftPropWithinAt P g' s x ↔ LiftPropWithinAt P g s x :=
   hG.liftPropWithinAt_congr_iff_of_eventuallyEq (eventually_nhdsWithin_of_forall h₁) hx
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_iff
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_congr -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (forall (y : M), (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) y s) -> (Eq.{succ u4} M' (g' y) (g y))) -> (Eq.{succ u4} M' (g' x) (g x)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u3} M} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (forall (y : M), (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) y s) -> (Eq.{succ u1} M' (g' y) (g y))) -> (Eq.{succ u1} M' (g' x) (g x)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congrₓ'. -/
 theorem liftPropWithinAt_congr (h : LiftPropWithinAt P g s x) (h₁ : ∀ y ∈ s, g' y = g y)
     (hx : g' x = g x) : LiftPropWithinAt P g' s x :=
   (hG.liftPropWithinAt_congr_iff h₁ hx).mpr h
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_congr_iff_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropAt_congr_iff_of_eventuallyEq is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (Filter.EventuallyEq.{u2, u4} M M' (nhds.{u2} M _inst_2 x) g' g) -> (Iff (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' x) (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x))
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u4}} {H' : Type.{u1}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u2, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u1, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {x : M}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (Filter.EventuallyEq.{u4, u3} M M' (nhds.{u4} M _inst_2 x) g' g) -> (Iff (ChartedSpace.LiftPropAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' x) (ChartedSpace.LiftPropAt.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_iff_of_eventuallyEqₓ'. -/
 theorem liftPropAt_congr_iff_of_eventuallyEq (h₁ : g' =ᶠ[𝓝 x] g) :
     LiftPropAt P g' x ↔ LiftPropAt P g x :=
   hG.liftPropWithinAt_congr_iff_of_eventuallyEq (by simp_rw [nhdsWithin_univ, h₁]) h₁.eq_of_nhds
 #align structure_groupoid.local_invariant_prop.lift_prop_at_congr_iff_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_iff_of_eventuallyEq
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_congr_of_eventually_eq -> StructureGroupoid.LocalInvariantProp.liftPropAt_congr_of_eventuallyEq is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {x : M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (Filter.EventuallyEq.{u2, u4} M M' (nhds.{u2} M _inst_2 x) g' g) -> (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' x)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {x : M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (Filter.EventuallyEq.{u3, u1} M M' (nhds.{u3} M _inst_2 x) g' g) -> (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_of_eventuallyEqₓ'. -/
 theorem liftPropAt_congr_of_eventuallyEq (h : LiftPropAt P g x) (h₁ : g' =ᶠ[𝓝 x] g) :
     LiftPropAt P g' x :=
   (hG.liftPropAt_congr_iff_of_eventuallyEq h₁).mpr h
 #align structure_groupoid.local_invariant_prop.lift_prop_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropAt_congr_of_eventuallyEq
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_congr -> StructureGroupoid.LocalInvariantProp.liftPropOn_congr is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s) -> (forall (y : M), (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) y s) -> (Eq.{succ u4} M' (g' y) (g y))) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u4} H _inst_1} {G' : StructureGroupoid.{u2} H' _inst_4} {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u3} M}, (StructureGroupoid.LocalInvariantProp.{u4, u2} H H' _inst_1 _inst_4 G G' P) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s) -> (forall (y : M), (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) y s) -> (Eq.{succ u1} M' (g' y) (g y))) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_congr StructureGroupoid.LocalInvariantProp.liftPropOn_congrₓ'. -/
 theorem liftPropOn_congr (h : LiftPropOn P g s) (h₁ : ∀ y ∈ s, g' y = g y) : LiftPropOn P g' s :=
   fun x hx => hG.liftPropWithinAt_congr (h x hx) h₁ (h₁ x hx)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_congr StructureGroupoid.LocalInvariantProp.liftPropOn_congr
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_congr_iff -> StructureGroupoid.LocalInvariantProp.liftPropOn_congr_iff is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u1} H _inst_1} {G' : StructureGroupoid.{u3} H' _inst_4} {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u2} M}, (StructureGroupoid.LocalInvariantProp.{u1, u3} H H' _inst_1 _inst_4 G G' P) -> (forall (y : M), (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) y s) -> (Eq.{succ u4} M' (g' y) (g y))) -> (Iff (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s) (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s))
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u4}} {H' : Type.{u1}} {M' : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u4} M] [_inst_3 : ChartedSpace.{u2, u4} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u1} H'] [_inst_5 : TopologicalSpace.{u3} M'] [_inst_6 : ChartedSpace.{u1, u3} H' _inst_4 M' _inst_5] {G : StructureGroupoid.{u2} H _inst_1} {G' : StructureGroupoid.{u1} H' _inst_4} {P : (H -> H') -> (Set.{u2} H) -> H -> Prop} {g : M -> M'} {g' : M -> M'} {s : Set.{u4} M}, (StructureGroupoid.LocalInvariantProp.{u2, u1} H H' _inst_1 _inst_4 G G' P) -> (forall (y : M), (Membership.mem.{u4, u4} M (Set.{u4} M) (Set.instMembershipSet.{u4} M) y s) -> (Eq.{succ u3} M' (g' y) (g y))) -> (Iff (ChartedSpace.LiftPropOn.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g' s) (ChartedSpace.LiftPropOn.{u2, u4, u1, u3} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_congr_iff StructureGroupoid.LocalInvariantProp.liftPropOn_congr_iffₓ'. -/
 theorem liftPropOn_congr_iff (h₁ : ∀ y ∈ s, g' y = g y) : LiftPropOn P g' s ↔ LiftPropOn P g s :=
   ⟨fun h => hG.liftPropOn_congr h fun y hy => (h₁ y hy).symm, fun h => hG.liftPropOn_congr h h₁⟩
 #align structure_groupoid.local_invariant_prop.lift_prop_on_congr_iff StructureGroupoid.LocalInvariantProp.liftPropOn_congr_iff
 
 omit hG
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_mono_of_mem -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_mem is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {t : Set.{u2} M} {x : M}, (forall {{s : Set.{u1} H}} {{x : H}} {{t : Set.{u1} H}} {{f : H -> H'}}, (Membership.Mem.{u1, u1} (Set.{u1} H) (Filter.{u1} H) (Filter.hasMem.{u1} H) s (nhdsWithin.{u1} H _inst_1 x t)) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Membership.Mem.{u2, u2} (Set.{u2} M) (Filter.{u2} M) (Filter.hasMem.{u2} M) s (nhdsWithin.{u2} M _inst_2 x t)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t x)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {t : Set.{u3} M} {x : M}, (forall {{s : Set.{u4} H}} {{x : H}} {{t : Set.{u4} H}} {{f : H -> H'}}, (Membership.mem.{u4, u4} (Set.{u4} H) (Filter.{u4} H) (instMembershipSetFilter.{u4} H) s (nhdsWithin.{u4} H _inst_1 x t)) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (Membership.mem.{u3, u3} (Set.{u3} M) (Filter.{u3} M) (instMembershipSetFilter.{u3} M) s (nhdsWithin.{u3} M _inst_2 x t)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono_of_mem StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_memₓ'. -/
 theorem liftPropWithinAt_mono_of_mem
     (mono_of_mem : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, s ∈ 𝓝[t] x → P f s x → P f t x)
     (h : LiftPropWithinAt P g s x) (hst : s ∈ 𝓝[t] x) : LiftPropWithinAt P g t x :=
@@ -484,6 +742,12 @@ theorem liftPropWithinAt_mono_of_mem
     (chart_at H x).left_inv (mem_chart_source H x), hst]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono_of_mem StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_mem
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_mono -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {t : Set.{u2} M} {x : M}, (forall {{s : Set.{u1} H}} {{x : H}} {{t : Set.{u1} H}} {{f : H -> H'}}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (HasSubset.Subset.{u2} (Set.{u2} M) (Set.hasSubset.{u2} M) t s) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t x)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {t : Set.{u3} M} {x : M}, (forall {{s : Set.{u4} H}} {{x : H}} {{t : Set.{u4} H}} {{f : H -> H'}}, (HasSubset.Subset.{u4} (Set.{u4} H) (Set.instHasSubsetSet.{u4} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x) -> (HasSubset.Subset.{u3} (Set.{u3} M) (Set.instHasSubsetSet.{u3} M) t s) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono StructureGroupoid.LocalInvariantProp.liftPropWithinAt_monoₓ'. -/
 theorem liftPropWithinAt_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropWithinAt P g s x) (hts : t ⊆ s) : LiftPropWithinAt P g t x :=
   by
@@ -493,6 +757,12 @@ theorem liftPropWithinAt_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆
   simp only [hy, hts _, mfld_simps]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at -> StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {x : M}, (forall {{s : Set.{u1} H}} {{x : H}} {{t : Set.{u1} H}} {{f : H -> H'}}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (ChartedSpace.LiftPropWithinAt.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {x : M}, (forall {{s : Set.{u4} H}} {{x : H}} {{t : Set.{u4} H}} {{f : H -> H'}}, (HasSubset.Subset.{u4} (Set.{u4} H) (Set.instHasSubsetSet.{u4} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g x) -> (ChartedSpace.LiftPropWithinAt.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAtₓ'. -/
 theorem liftPropWithinAt_of_liftPropAt (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropAt P g x) : LiftPropWithinAt P g s x :=
   by
@@ -500,11 +770,23 @@ theorem liftPropWithinAt_of_liftPropAt (mono : ∀ ⦃s x t⦄ ⦃f : H → H'
   exact lift_prop_within_at_mono mono h (subset_univ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_of_lift_prop_at StructureGroupoid.LocalInvariantProp.liftPropWithinAt_of_liftPropAt
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_mono -> StructureGroupoid.LocalInvariantProp.liftPropOn_mono is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M} {t : Set.{u2} M}, (forall {{s : Set.{u1} H}} {{x : H}} {{t : Set.{u1} H}} {{f : H -> H'}}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t) -> (HasSubset.Subset.{u2} (Set.{u2} M) (Set.hasSubset.{u2} M) s t) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M} {t : Set.{u3} M}, (forall {{s : Set.{u4} H}} {{x : H}} {{t : Set.{u4} H}} {{f : H -> H'}}, (HasSubset.Subset.{u4} (Set.{u4} H) (Set.instHasSubsetSet.{u4} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g t) -> (HasSubset.Subset.{u3} (Set.{u3} M) (Set.instHasSubsetSet.{u3} M) s t) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_mono StructureGroupoid.LocalInvariantProp.liftPropOn_monoₓ'. -/
 theorem liftPropOn_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftPropOn P g t) (hst : s ⊆ t) : LiftPropOn P g s := fun x hx =>
   liftPropWithinAt_mono mono (h x (hst hx)) hst
 #align structure_groupoid.local_invariant_prop.lift_prop_on_mono StructureGroupoid.LocalInvariantProp.liftPropOn_mono
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_of_lift_prop -> StructureGroupoid.LocalInvariantProp.liftPropOn_of_liftProp is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} {H' : Type.{u3}} {M' : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u3} H'] [_inst_5 : TopologicalSpace.{u4} M'] [_inst_6 : ChartedSpace.{u3, u4} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u1} H) -> H -> Prop} {g : M -> M'} {s : Set.{u2} M}, (forall {{s : Set.{u1} H}} {{x : H}} {{t : Set.{u1} H}} {{f : H -> H'}}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftProp.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g) -> (ChartedSpace.LiftPropOn.{u1, u2, u3, u4} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
+but is expected to have type
+  forall {H : Type.{u4}} {M : Type.{u3}} {H' : Type.{u2}} {M' : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} H] [_inst_2 : TopologicalSpace.{u3} M] [_inst_3 : ChartedSpace.{u4, u3} H _inst_1 M _inst_2] [_inst_4 : TopologicalSpace.{u2} H'] [_inst_5 : TopologicalSpace.{u1} M'] [_inst_6 : ChartedSpace.{u2, u1} H' _inst_4 M' _inst_5] {P : (H -> H') -> (Set.{u4} H) -> H -> Prop} {g : M -> M'} {s : Set.{u3} M}, (forall {{s : Set.{u4} H}} {{x : H}} {{t : Set.{u4} H}} {{f : H -> H'}}, (HasSubset.Subset.{u4} (Set.{u4} H) (Set.instHasSubsetSet.{u4} H) t s) -> (P f s x) -> (P f t x)) -> (ChartedSpace.LiftProp.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g) -> (ChartedSpace.LiftPropOn.{u4, u3, u2, u1} H M H' M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 P g s)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_of_lift_prop StructureGroupoid.LocalInvariantProp.liftPropOn_of_liftPropₓ'. -/
 theorem liftPropOn_of_liftProp (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
     (h : LiftProp P g) : LiftPropOn P g s :=
   by
@@ -512,6 +794,12 @@ theorem liftPropOn_of_liftProp (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆
   exact lift_prop_on_mono mono h (subset_univ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_lift_prop StructureGroupoid.LocalInvariantProp.liftPropOn_of_liftProp
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_of_mem_maximal_atlas -> StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_maximalAtlas is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {x : M} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (ChartedSpace.LiftPropAt.{u1, u2, u1, u1} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) Q (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e) x)
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {e : LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1} {x : M} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (Membership.mem.{max u2 u1, max u1 u2} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u2, u1} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (LocalEquiv.source.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 e))) -> (ChartedSpace.LiftPropAt.{u2, u1, u2, u2} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) Q (LocalHomeomorph.toFun'.{u1, u2} M H _inst_2 _inst_1 e) x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_maximalAtlasₓ'. -/
 theorem liftPropAt_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G) (hx : x ∈ e.source) : LiftPropAt Q e x :=
   by
@@ -521,6 +809,12 @@ theorem liftPropAt_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantP
   exact hG.congr' (e.eventually_right_inverse' hx) (hQ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_maximalAtlas
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_maximal_atlas -> StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_maximalAtlas is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (ChartedSpace.LiftPropOn.{u1, u2, u1, u1} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) Q (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) e) (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e)))
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {e : LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (Membership.mem.{max u2 u1, max u1 u2} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u2, u1} H M _inst_1 _inst_2 _inst_3 G)) -> (ChartedSpace.LiftPropOn.{u2, u1, u2, u2} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) Q (LocalHomeomorph.toFun'.{u1, u2} M H _inst_2 _inst_1 e) (LocalEquiv.source.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 e)))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_maximalAtlasₓ'. -/
 theorem liftPropOn_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G) : LiftPropOn Q e e.source :=
   by
@@ -531,6 +825,12 @@ theorem liftPropOn_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantP
   exact IsOpen.mem_nhds e.open_source hx
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_maximalAtlas
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_symm_of_mem_maximal_atlas -> StructureGroupoid.LocalInvariantProp.liftPropAt_symm_of_mem_maximalAtlas is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G] {x : H}, (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (LocalEquiv.target.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e))) -> (ChartedSpace.LiftPropAt.{u1, u1, u1, u2} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_1 _inst_2 _inst_3 Q (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) x)
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {e : LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G] {x : H}, (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (Membership.mem.{max u2 u1, max u1 u2} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u2, u1} H M _inst_1 _inst_2 _inst_3 G)) -> (Membership.mem.{u2, u2} H (Set.{u2} H) (Set.instMembershipSet.{u2} H) x (LocalEquiv.target.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 e))) -> (ChartedSpace.LiftPropAt.{u2, u2, u2, u1} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) _inst_1 _inst_2 _inst_3 Q (LocalHomeomorph.toFun'.{u2, u1} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u1, u2} M H _inst_2 _inst_1 e)) x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_symm_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropAt_symm_of_mem_maximalAtlasₓ'. -/
 theorem liftPropAt_symm_of_mem_maximalAtlas [HasGroupoid M G] {x : H}
     (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G)
     (hx : x ∈ e.target) : LiftPropAt Q e.symm x :=
@@ -545,6 +845,12 @@ theorem liftPropAt_symm_of_mem_maximalAtlas [HasGroupoid M G] {x : H}
   exact hG.congr' (e.eventually_right_inverse hx) (hQ x)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_symm_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropAt_symm_of_mem_maximalAtlas
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_symm_of_mem_maximal_atlas -> StructureGroupoid.LocalInvariantProp.liftPropOn_symm_of_mem_maximalAtlas is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {e : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (Membership.Mem.{max u2 u1, max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) (Set.hasMem.{max u2 u1} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u1, u2} H M _inst_1 _inst_2 _inst_3 G)) -> (ChartedSpace.LiftPropOn.{u1, u1, u1, u2} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_1 _inst_2 _inst_3 Q (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 e)) (LocalEquiv.target.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 e)))
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {e : LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (Membership.mem.{max u2 u1, max u1 u2} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1) (Set.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) (Set.instMembershipSet.{max u2 u1} (LocalHomeomorph.{u1, u2} M H _inst_2 _inst_1)) e (StructureGroupoid.maximalAtlas.{u2, u1} H M _inst_1 _inst_2 _inst_3 G)) -> (ChartedSpace.LiftPropOn.{u2, u2, u2, u1} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) _inst_1 _inst_2 _inst_3 Q (LocalHomeomorph.toFun'.{u2, u1} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u1, u2} M H _inst_2 _inst_1 e)) (LocalEquiv.target.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 e)))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_symm_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_symm_of_mem_maximalAtlasₓ'. -/
 theorem liftPropOn_symm_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G) : LiftPropOn Q e.symm e.target :=
   by
@@ -555,36 +861,70 @@ theorem liftPropOn_symm_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvar
   exact IsOpen.mem_nhds e.open_target hx
 #align structure_groupoid.local_invariant_prop.lift_prop_on_symm_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_symm_of_mem_maximalAtlas
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_chart -> StructureGroupoid.LocalInvariantProp.liftPropAt_chart is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (ChartedSpace.LiftPropAt.{u1, u2, u1, u1} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) Q (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x)) x)
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (ChartedSpace.LiftPropAt.{u2, u1, u2, u2} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) Q (LocalHomeomorph.toFun'.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x)) x)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_chart StructureGroupoid.LocalInvariantProp.liftPropAt_chartₓ'. -/
 theorem liftPropAt_chart [HasGroupoid M G] (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftPropAt Q (chartAt H x) x :=
   hG.liftPropAt_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x) (mem_chart_source H x)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_chart StructureGroupoid.LocalInvariantProp.liftPropAt_chart
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_chart -> StructureGroupoid.LocalInvariantProp.liftPropOn_chart is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (ChartedSpace.LiftPropOn.{u1, u2, u1, u1} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) Q (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x)) (LocalEquiv.source.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))))
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (ChartedSpace.LiftPropOn.{u2, u1, u2, u2} H M H H _inst_1 _inst_2 _inst_3 _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) Q (LocalHomeomorph.toFun'.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x)) (LocalEquiv.source.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x))))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_chart StructureGroupoid.LocalInvariantProp.liftPropOn_chartₓ'. -/
 theorem liftPropOn_chart [HasGroupoid M G] (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftPropOn Q (chartAt H x) (chartAt H x).source :=
   hG.liftPropOn_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_chart StructureGroupoid.LocalInvariantProp.liftPropOn_chart
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_at_chart_symm -> StructureGroupoid.LocalInvariantProp.liftPropAt_chart_symm is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (ChartedSpace.LiftPropAt.{u1, u1, u1, u2} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_1 _inst_2 _inst_3 Q (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) (fun (_x : LocalHomeomorph.{u2, u1} M H _inst_2 _inst_1) => M -> H) (LocalHomeomorph.hasCoeToFun.{u2, u1} M H _inst_2 _inst_1) (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x) x))
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (ChartedSpace.LiftPropAt.{u2, u2, u2, u1} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) _inst_1 _inst_2 _inst_3 Q (LocalHomeomorph.toFun'.{u2, u1} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x))) (LocalHomeomorph.toFun'.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x) x))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_at_chart_symm StructureGroupoid.LocalInvariantProp.liftPropAt_chart_symmₓ'. -/
 theorem liftPropAt_chart_symm [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) : LiftPropAt Q (chartAt H x).symm ((chartAt H x) x) :=
   hG.liftPropAt_symm_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x) (by simp)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_chart_symm StructureGroupoid.LocalInvariantProp.liftPropAt_chart_symm
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_on_chart_symm -> StructureGroupoid.LocalInvariantProp.liftPropOn_chart_symm is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u1, u2} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (ChartedSpace.LiftPropOn.{u1, u1, u1, u2} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u1} H _inst_1) _inst_1 _inst_2 _inst_3 Q (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) (fun (_x : LocalHomeomorph.{u1, u2} H M _inst_1 _inst_2) => H -> M) (LocalHomeomorph.hasCoeToFun.{u1, u2} H M _inst_1 _inst_2) (LocalHomeomorph.symm.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))) (LocalEquiv.target.{u2, u1} M H (LocalHomeomorph.toLocalEquiv.{u2, u1} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u1, u2} H _inst_1 M _inst_2 _inst_3 x))))
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {x : M} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop} [_inst_8 : HasGroupoid.{u2, u1} H _inst_1 M _inst_2 _inst_3 G], (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (ChartedSpace.LiftPropOn.{u2, u2, u2, u1} H H H M _inst_1 _inst_1 (chartedSpaceSelf.{u2} H _inst_1) _inst_1 _inst_2 _inst_3 Q (LocalHomeomorph.toFun'.{u2, u1} H M _inst_1 _inst_2 (LocalHomeomorph.symm.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x))) (LocalEquiv.target.{u1, u2} M H (LocalHomeomorph.toLocalEquiv.{u1, u2} M H _inst_2 _inst_1 (ChartedSpace.chartAt.{u2, u1} H _inst_1 M _inst_2 _inst_3 x))))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_on_chart_symm StructureGroupoid.LocalInvariantProp.liftPropOn_chart_symmₓ'. -/
 theorem liftPropOn_chart_symm [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
     (hQ : ∀ y, Q id univ y) : LiftPropOn Q (chartAt H x).symm (chartAt H x).target :=
   hG.liftPropOn_symm_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_chart_symm StructureGroupoid.LocalInvariantProp.liftPropOn_chart_symm
 
+#print StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_groupoid /-
 theorem liftPropAt_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y)
     {f : LocalHomeomorph H H} (hf : f ∈ G) {x : H} (hx : x ∈ f.source) : LiftPropAt Q f x :=
   liftPropAt_of_mem_maximalAtlas hG hQ (G.mem_maximalAtlas_of_mem_groupoid hf) hx
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_mem_groupoid StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_groupoid
+-/
 
+#print StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_groupoid /-
 theorem liftPropOn_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y)
     {f : LocalHomeomorph H H} (hf : f ∈ G) : LiftPropOn Q f f.source :=
   liftPropOn_of_mem_maximalAtlas hG hQ (G.mem_maximalAtlas_of_mem_groupoid hf)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_groupoid StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_groupoid
+-/
 
+/- warning: structure_groupoid.local_invariant_prop.lift_prop_id -> StructureGroupoid.LocalInvariantProp.liftProp_id is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} {M : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} H] [_inst_2 : TopologicalSpace.{u2} M] [_inst_3 : ChartedSpace.{u1, u2} H _inst_1 M _inst_2] {G : StructureGroupoid.{u1} H _inst_1} {Q : (H -> H) -> (Set.{u1} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u1, u1} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u1} H) (Set.univ.{u1} H) y) -> (ChartedSpace.LiftProp.{u1, u2, u1, u2} H M H M _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 Q (id.{succ u2} M))
+but is expected to have type
+  forall {H : Type.{u2}} {M : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} H] [_inst_2 : TopologicalSpace.{u1} M] [_inst_3 : ChartedSpace.{u2, u1} H _inst_1 M _inst_2] {G : StructureGroupoid.{u2} H _inst_1} {Q : (H -> H) -> (Set.{u2} H) -> H -> Prop}, (StructureGroupoid.LocalInvariantProp.{u2, u2} H H _inst_1 _inst_1 G G Q) -> (forall (y : H), Q (id.{succ u2} H) (Set.univ.{u2} H) y) -> (ChartedSpace.LiftProp.{u2, u1, u2, u1} H M H M _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 Q (id.{succ u1} M))
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.local_invariant_prop.lift_prop_id StructureGroupoid.LocalInvariantProp.liftProp_idₓ'. -/
 theorem liftProp_id (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftProp Q (id : M → M) :=
   by
@@ -600,13 +940,16 @@ variable (G)
 
 open LocalHomeomorph
 
+#print StructureGroupoid.IsLocalStructomorphWithinAt /-
 /-- A function from a model space `H` to itself is a local structomorphism, with respect to a
 structure groupoid `G` for `H`, relative to a set `s` in `H`, if for all points `x` in the set, the
 function agrees with a `G`-structomorphism on `s` in a neighbourhood of `x`. -/
 def IsLocalStructomorphWithinAt (f : H → H) (s : Set H) (x : H) : Prop :=
   x ∈ s → ∃ e : LocalHomeomorph H H, e ∈ G ∧ EqOn f e.toFun (s ∩ e.source) ∧ x ∈ e.source
 #align structure_groupoid.is_local_structomorph_within_at StructureGroupoid.IsLocalStructomorphWithinAt
+-/
 
+#print StructureGroupoid.isLocalStructomorphWithinAt_localInvariantProp /-
 /-- For a groupoid `G` which is `closed_under_restriction`, being a local structomorphism is a local
 invariant property. -/
 theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G] :
@@ -649,7 +992,14 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
         simp only [hef ⟨hy.1, hy.2.1⟩, mfld_simps]
       · simpa only [hex, hef ⟨hx, hex⟩, mfld_simps] using hfx }
 #align structure_groupoid.is_local_structomorph_within_at_local_invariant_prop StructureGroupoid.isLocalStructomorphWithinAt_localInvariantProp
+-/
 
+/- warning: local_homeomorph.is_local_structomorph_within_at_iff -> LocalHomeomorph.isLocalStructomorphWithinAt_iff is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} H] {G : StructureGroupoid.{u1} H _inst_1} [_inst_8 : ClosedUnderRestriction.{u1} H _inst_1 G] (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) {s : Set.{u1} H} {x : H}, (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (Union.union.{u1} (Set.{u1} H) (Set.hasUnion.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) (HasCompl.compl.{u1} (Set.{u1} H) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} H) (Set.booleanAlgebra.{u1} H)) s))) -> (Iff (StructureGroupoid.IsLocalStructomorphWithinAt.{u1} H _inst_1 G (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) f) s x) ((Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x s) -> (Exists.{succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => And (Membership.Mem.{u1, u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (StructureGroupoid.{u1} H _inst_1) (StructureGroupoid.hasMem.{u1} H _inst_1) e G) (And (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f))) (And (Set.EqOn.{u1, u1} H H (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (_x : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) f) (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) e) (Inter.inter.{u1} (Set.{u1} H) (Set.hasInter.{u1} H) s (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))) (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))))))))
+but is expected to have type
+  forall {H : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} H] {G : StructureGroupoid.{u1} H _inst_1} [_inst_8 : ClosedUnderRestriction.{u1} H _inst_1 G] (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) {s : Set.{u1} H} {x : H}, (Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x (Union.union.{u1} (Set.{u1} H) (Set.instUnionSet.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) (HasCompl.compl.{u1} (Set.{u1} H) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} H) (Set.instBooleanAlgebraSet.{u1} H)) s))) -> (Iff (StructureGroupoid.IsLocalStructomorphWithinAt.{u1} H _inst_1 G (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 f) s x) ((Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x s) -> (Exists.{succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => And (Membership.mem.{u1, u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (StructureGroupoid.{u1} H _inst_1) (instMembershipLocalHomeomorphStructureGroupoid.{u1} H _inst_1) e G) (And (HasSubset.Subset.{u1} (Set.{u1} H) (Set.instHasSubsetSet.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f))) (And (Set.EqOn.{u1, u1} H H (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 f) (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 e) (Inter.inter.{u1} (Set.{u1} H) (Set.instInterSet.{u1} H) s (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))) (Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))))))))
+Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_local_structomorph_within_at_iff LocalHomeomorph.isLocalStructomorphWithinAt_iffₓ'. -/
 /-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph.
   This gives us an `e` that is defined on a subset of `f.source`. -/
 theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H}
@@ -675,6 +1025,12 @@ theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H
     exact ⟨e, he, hfe, hxe⟩
 #align local_homeomorph.is_local_structomorph_within_at_iff LocalHomeomorph.isLocalStructomorphWithinAt_iff
 
+/- warning: local_homeomorph.is_local_structomorph_within_at_iff' -> LocalHomeomorph.isLocalStructomorphWithinAt_iff' is a dubious translation:
+lean 3 declaration is
+  forall {H : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} H] {G : StructureGroupoid.{u1} H _inst_1} [_inst_8 : ClosedUnderRestriction.{u1} H _inst_1 G] (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) {s : Set.{u1} H} {x : H}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) s) -> (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (Union.union.{u1} (Set.{u1} H) (Set.hasUnion.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) (HasCompl.compl.{u1} (Set.{u1} H) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} H) (Set.booleanAlgebra.{u1} H)) s))) -> (Iff (StructureGroupoid.IsLocalStructomorphWithinAt.{u1} H _inst_1 G (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) f) s x) ((Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x s) -> (Exists.{succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => And (Membership.Mem.{u1, u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (StructureGroupoid.{u1} H _inst_1) (StructureGroupoid.hasMem.{u1} H _inst_1) e G) (And (HasSubset.Subset.{u1} (Set.{u1} H) (Set.hasSubset.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f))) (And (Set.EqOn.{u1, u1} H H (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (_x : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) f) (coeFn.{succ u1, succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => H -> H) (LocalHomeomorph.hasCoeToFun.{u1, u1} H H _inst_1 _inst_1) e) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e))) (Membership.Mem.{u1, u1} H (Set.{u1} H) (Set.hasMem.{u1} H) x (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))))))))
+but is expected to have type
+  forall {H : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} H] {G : StructureGroupoid.{u1} H _inst_1} [_inst_8 : ClosedUnderRestriction.{u1} H _inst_1 G] (f : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) {s : Set.{u1} H} {x : H}, (HasSubset.Subset.{u1} (Set.{u1} H) (Set.instHasSubsetSet.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) s) -> (Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x (Union.union.{u1} (Set.{u1} H) (Set.instUnionSet.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f)) (HasCompl.compl.{u1} (Set.{u1} H) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} H) (Set.instBooleanAlgebraSet.{u1} H)) s))) -> (Iff (StructureGroupoid.IsLocalStructomorphWithinAt.{u1} H _inst_1 G (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 f) s x) ((Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x s) -> (Exists.{succ u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (fun (e : LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) => And (Membership.mem.{u1, u1} (LocalHomeomorph.{u1, u1} H H _inst_1 _inst_1) (StructureGroupoid.{u1} H _inst_1) (instMembershipLocalHomeomorphStructureGroupoid.{u1} H _inst_1) e G) (And (HasSubset.Subset.{u1} (Set.{u1} H) (Set.instHasSubsetSet.{u1} H) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 f))) (And (Set.EqOn.{u1, u1} H H (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 f) (LocalHomeomorph.toFun'.{u1, u1} H H _inst_1 _inst_1 e) (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e))) (Membership.mem.{u1, u1} H (Set.{u1} H) (Set.instMembershipSet.{u1} H) x (LocalEquiv.source.{u1, u1} H H (LocalHomeomorph.toLocalEquiv.{u1, u1} H H _inst_1 _inst_1 e)))))))))
+Case conversion may be inaccurate. Consider using '#align local_homeomorph.is_local_structomorph_within_at_iff' LocalHomeomorph.isLocalStructomorphWithinAt_iff'ₓ'. -/
 /-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph and
   the set we're considering is a superset of `f.source`. -/
 theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGroupoid H}
@@ -691,6 +1047,7 @@ theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGroupoid
   rw [inter_eq_right_iff_subset.mpr (h2e.trans hs)]
 #align local_homeomorph.is_local_structomorph_within_at_iff' LocalHomeomorph.isLocalStructomorphWithinAt_iff'
 
+#print LocalHomeomorph.isLocalStructomorphWithinAt_source_iff /-
 /-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph and
   the set we're considering is `f.source`. -/
 theorem LocalHomeomorph.isLocalStructomorphWithinAt_source_iff {G : StructureGroupoid H}
@@ -702,6 +1059,7 @@ theorem LocalHomeomorph.isLocalStructomorphWithinAt_source_iff {G : StructureGro
   haveI : x ∈ f.source ∪ f.sourceᶜ := by simp_rw [union_compl_self]
   f.is_local_structomorph_within_at_iff' subset.rfl this
 #align local_homeomorph.is_local_structomorph_within_at_source_iff LocalHomeomorph.isLocalStructomorphWithinAt_source_iff
+-/
 
 variable {H₁ : Type _} [TopologicalSpace H₁] {H₂ : Type _} [TopologicalSpace H₂] {H₃ : Type _}
   [TopologicalSpace H₃] [ChartedSpace H₁ H₂] [ChartedSpace H₂ H₃] {G₁ : StructureGroupoid H₁}
@@ -709,6 +1067,12 @@ variable {H₁ : Type _} [TopologicalSpace H₁] {H₂ : Type _} [TopologicalSpa
 
 variable (G₂)
 
+/- warning: structure_groupoid.has_groupoid.comp -> StructureGroupoid.HasGroupoid.comp is a dubious translation:
+lean 3 declaration is
+  forall {H₁ : Type.{u1}} [_inst_8 : TopologicalSpace.{u1} H₁] {H₂ : Type.{u2}} [_inst_9 : TopologicalSpace.{u2} H₂] {H₃ : Type.{u3}} [_inst_10 : TopologicalSpace.{u3} H₃] [_inst_11 : ChartedSpace.{u1, u2} H₁ _inst_8 H₂ _inst_9] [_inst_12 : ChartedSpace.{u2, u3} H₂ _inst_9 H₃ _inst_10] {G₁ : StructureGroupoid.{u1} H₁ _inst_8} [_inst_13 : HasGroupoid.{u1, u2} H₁ _inst_8 H₂ _inst_9 _inst_11 G₁] [_inst_14 : ClosedUnderRestriction.{u1} H₁ _inst_8 G₁] (G₂ : StructureGroupoid.{u2} H₂ _inst_9) [_inst_15 : HasGroupoid.{u2, u3} H₂ _inst_9 H₃ _inst_10 _inst_12 G₂], (forall (e : LocalHomeomorph.{u2, u2} H₂ H₂ _inst_9 _inst_9), (Membership.Mem.{u2, u2} (LocalHomeomorph.{u2, u2} H₂ H₂ _inst_9 _inst_9) (StructureGroupoid.{u2} H₂ _inst_9) (StructureGroupoid.hasMem.{u2} H₂ _inst_9) e G₂) -> (ChartedSpace.LiftPropOn.{u1, u2, u1, u2} H₁ H₂ H₁ H₂ _inst_8 _inst_9 _inst_11 _inst_8 _inst_9 _inst_11 (StructureGroupoid.IsLocalStructomorphWithinAt.{u1} H₁ _inst_8 G₁) (coeFn.{succ u2, succ u2} (LocalHomeomorph.{u2, u2} H₂ H₂ _inst_9 _inst_9) (fun (_x : LocalHomeomorph.{u2, u2} H₂ H₂ _inst_9 _inst_9) => H₂ -> H₂) (LocalHomeomorph.hasCoeToFun.{u2, u2} H₂ H₂ _inst_9 _inst_9) e) (LocalEquiv.source.{u2, u2} H₂ H₂ (LocalHomeomorph.toLocalEquiv.{u2, u2} H₂ H₂ _inst_9 _inst_9 e)))) -> (HasGroupoid.{u1, u3} H₁ _inst_8 H₃ _inst_10 (ChartedSpace.comp.{u1, u2, u3} H₁ _inst_8 H₂ _inst_9 H₃ _inst_10 _inst_11 _inst_12) G₁)
+but is expected to have type
+  forall {H₁ : Type.{u2}} [_inst_8 : TopologicalSpace.{u2} H₁] {H₂ : Type.{u3}} [_inst_9 : TopologicalSpace.{u3} H₂] {H₃ : Type.{u1}} [_inst_10 : TopologicalSpace.{u1} H₃] [_inst_11 : ChartedSpace.{u2, u3} H₁ _inst_8 H₂ _inst_9] [_inst_12 : ChartedSpace.{u3, u1} H₂ _inst_9 H₃ _inst_10] {G₁ : StructureGroupoid.{u2} H₁ _inst_8} [_inst_13 : HasGroupoid.{u2, u3} H₁ _inst_8 H₂ _inst_9 _inst_11 G₁] [_inst_14 : ClosedUnderRestriction.{u2} H₁ _inst_8 G₁] (G₂ : StructureGroupoid.{u3} H₂ _inst_9) [_inst_15 : HasGroupoid.{u3, u1} H₂ _inst_9 H₃ _inst_10 _inst_12 G₂], (forall (e : LocalHomeomorph.{u3, u3} H₂ H₂ _inst_9 _inst_9), (Membership.mem.{u3, u3} (LocalHomeomorph.{u3, u3} H₂ H₂ _inst_9 _inst_9) (StructureGroupoid.{u3} H₂ _inst_9) (instMembershipLocalHomeomorphStructureGroupoid.{u3} H₂ _inst_9) e G₂) -> (ChartedSpace.LiftPropOn.{u2, u3, u2, u3} H₁ H₂ H₁ H₂ _inst_8 _inst_9 _inst_11 _inst_8 _inst_9 _inst_11 (StructureGroupoid.IsLocalStructomorphWithinAt.{u2} H₁ _inst_8 G₁) (LocalHomeomorph.toFun'.{u3, u3} H₂ H₂ _inst_9 _inst_9 e) (LocalEquiv.source.{u3, u3} H₂ H₂ (LocalHomeomorph.toLocalEquiv.{u3, u3} H₂ H₂ _inst_9 _inst_9 e)))) -> (HasGroupoid.{u2, u1} H₁ _inst_8 H₃ _inst_10 (ChartedSpace.comp.{u2, u3, u1} H₁ _inst_8 H₂ _inst_9 H₃ _inst_10 _inst_11 _inst_12) G₁)
+Case conversion may be inaccurate. Consider using '#align structure_groupoid.has_groupoid.comp StructureGroupoid.HasGroupoid.compₓ'. -/
 theorem HasGroupoid.comp
     (H : ∀ e ∈ G₂, LiftPropOn (IsLocalStructomorphWithinAt G₁) (e : H₂ → H₂) e.source) :
     @HasGroupoid H₁ _ H₃ _ (ChartedSpace.comp H₁ H₂ H₃) G₁ :=
Diff
@@ -383,7 +383,7 @@ theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈
     (hf : f ∈ G'.maximalAtlas M') (h : LiftPropOn P g s) {y : H}
     (hy : y ∈ e.target ∩ e.symm ⁻¹' (s ∩ g ⁻¹' f.source)) : P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) y :=
   by
-  convert ((hG.lift_prop_within_at_indep_chart he (e.symm_maps_to hy.1) hf hy.2.2).1 (h _ hy.2.1)).2
+  convert((hG.lift_prop_within_at_indep_chart he (e.symm_maps_to hy.1) hf hy.2.2).1 (h _ hy.2.1)).2
   rw [e.right_inv hy.1]
 #align structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chart
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn
 
 ! This file was ported from Lean 3 source module geometry.manifold.local_invariant_properties
-! leanprover-community/mathlib commit 8e57ff9a1d998da9ab3da9256bada5ba51a35a72
+! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -707,6 +707,8 @@ variable {H₁ : Type _} [TopologicalSpace H₁] {H₂ : Type _} [TopologicalSpa
   [TopologicalSpace H₃] [ChartedSpace H₁ H₂] [ChartedSpace H₂ H₃] {G₁ : StructureGroupoid H₁}
   [HasGroupoid H₂ G₁] [ClosedUnderRestriction G₁] (G₂ : StructureGroupoid H₂) [HasGroupoid H₃ G₂]
 
+variable (G₂)
+
 theorem HasGroupoid.comp
     (H : ∀ e ∈ G₂, LiftPropOn (IsLocalStructomorphWithinAt G₁) (e : H₂ → H₂) e.source) :
     @HasGroupoid H₁ _ H₃ _ (ChartedSpace.comp H₁ H₂ H₃) G₁ :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn
 
 ! This file was ported from Lean 3 source module geometry.manifold.local_invariant_properties
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit 8e57ff9a1d998da9ab3da9256bada5ba51a35a72
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -575,6 +575,16 @@ theorem liftPropOn_chart_symm [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
   hG.liftPropOn_symm_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_chart_symm StructureGroupoid.LocalInvariantProp.liftPropOn_chart_symm
 
+theorem liftPropAt_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y)
+    {f : LocalHomeomorph H H} (hf : f ∈ G) {x : H} (hx : x ∈ f.source) : LiftPropAt Q f x :=
+  liftPropAt_of_mem_maximalAtlas hG hQ (G.mem_maximalAtlas_of_mem_groupoid hf) hx
+#align structure_groupoid.local_invariant_prop.lift_prop_at_of_mem_groupoid StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_groupoid
+
+theorem liftPropOn_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y)
+    {f : LocalHomeomorph H H} (hf : f ∈ G) : LiftPropOn Q f f.source :=
+  liftPropOn_of_mem_maximalAtlas hG hQ (G.mem_maximalAtlas_of_mem_groupoid hf)
+#align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_groupoid StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_groupoid
+
 theorem liftProp_id (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftProp Q (id : M → M) :=
   by
@@ -640,6 +650,59 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
       · simpa only [hex, hef ⟨hx, hex⟩, mfld_simps] using hfx }
 #align structure_groupoid.is_local_structomorph_within_at_local_invariant_prop StructureGroupoid.isLocalStructomorphWithinAt_localInvariantProp
 
+/-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph.
+  This gives us an `e` that is defined on a subset of `f.source`. -/
+theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H}
+    [ClosedUnderRestriction G] (f : LocalHomeomorph H H) {s : Set H} {x : H}
+    (hx : x ∈ f.source ∪ sᶜ) :
+    G.IsLocalStructomorphWithinAt (⇑f) s x ↔
+      x ∈ s →
+        ∃ e : LocalHomeomorph H H,
+          e ∈ G ∧ e.source ⊆ f.source ∧ EqOn f (⇑e) (s ∩ e.source) ∧ x ∈ e.source :=
+  by
+  constructor
+  · intro hf h2x
+    obtain ⟨e, he, hfe, hxe⟩ := hf h2x
+    refine' ⟨e.restr f.source, closed_under_restriction' he f.open_source, _, _, hxe, _⟩
+    · simp_rw [LocalHomeomorph.restr_source]
+      refine' (inter_subset_right _ _).trans interior_subset
+    · intro x' hx'
+      exact hfe ⟨hx'.1, hx'.2.1⟩
+    · rw [f.open_source.interior_eq]
+      exact Or.resolve_right hx (not_not.mpr h2x)
+  · intro hf hx
+    obtain ⟨e, he, h2e, hfe, hxe⟩ := hf hx
+    exact ⟨e, he, hfe, hxe⟩
+#align local_homeomorph.is_local_structomorph_within_at_iff LocalHomeomorph.isLocalStructomorphWithinAt_iff
+
+/-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph and
+  the set we're considering is a superset of `f.source`. -/
+theorem LocalHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGroupoid H}
+    [ClosedUnderRestriction G] (f : LocalHomeomorph H H) {s : Set H} {x : H} (hs : f.source ⊆ s)
+    (hx : x ∈ f.source ∪ sᶜ) :
+    G.IsLocalStructomorphWithinAt (⇑f) s x ↔
+      x ∈ s →
+        ∃ e : LocalHomeomorph H H,
+          e ∈ G ∧ e.source ⊆ f.source ∧ EqOn f (⇑e) e.source ∧ x ∈ e.source :=
+  by
+  simp_rw [f.is_local_structomorph_within_at_iff hx]
+  refine' imp_congr_right fun hx => exists_congr fun e => and_congr_right fun he => _
+  refine' and_congr_right fun h2e => _
+  rw [inter_eq_right_iff_subset.mpr (h2e.trans hs)]
+#align local_homeomorph.is_local_structomorph_within_at_iff' LocalHomeomorph.isLocalStructomorphWithinAt_iff'
+
+/-- A slight reformulation of `is_local_structomorph_within_at` when `f` is a local homeomorph and
+  the set we're considering is `f.source`. -/
+theorem LocalHomeomorph.isLocalStructomorphWithinAt_source_iff {G : StructureGroupoid H}
+    [ClosedUnderRestriction G] (f : LocalHomeomorph H H) {x : H} :
+    G.IsLocalStructomorphWithinAt (⇑f) f.source x ↔
+      x ∈ f.source →
+        ∃ e : LocalHomeomorph H H,
+          e ∈ G ∧ e.source ⊆ f.source ∧ EqOn f (⇑e) e.source ∧ x ∈ e.source :=
+  haveI : x ∈ f.source ∪ f.sourceᶜ := by simp_rw [union_compl_self]
+  f.is_local_structomorph_within_at_iff' subset.rfl this
+#align local_homeomorph.is_local_structomorph_within_at_source_iff LocalHomeomorph.isLocalStructomorphWithinAt_source_iff
+
 variable {H₁ : Type _} [TopologicalSpace H₁] {H₂ : Type _} [TopologicalSpace H₂] {H₃ : Type _}
   [TopologicalSpace H₃] [ChartedSpace H₁ H₂] [ChartedSpace H₂ H₃] {G₁ : StructureGroupoid H₁}
   [HasGroupoid H₂ G₁] [ClosedUnderRestriction G₁] (G₂ : StructureGroupoid H₂) [HasGroupoid H₃ G₂]

Changes in mathlib4

mathlib3
mathlib4
perf: make LocalInvariantProp a structure (#12552)
  • Also redefine MDifferentiableWithinAt and MDifferentiableAt so that they are using LiftProp[Within]At.
  • This causes a speedup in the old proof of ContMDiffWithinAt.cle_arrowCongr by 25%.
  • Also give some extra information in the proof of ContMDiffWithinAt.cle_arrowCongr to speed it up by another factor of 4.
  • A bit of the fallout (e.g. in hasSmoothAddSelf) is from Lean unfolding way too many definitions to make things definitionally equal. Since LiftPropWithinAt is now a structure, the old proofs now break, unless you rewrite with chartedSpaceSelf_prod), causing much less defeq-abuse.
  • The new lemmas MDifferentiableWithinAt.differentiableWithinAt_writtenInExtChartAt and MDifferentiableAt.differentiableWithinAt_writtenInExtChartAt have a bit long names. This is to avoid naming clash with the existing MDifferentiableWithinAt.differentiableWithinAt. I'm open for other suggestions.
Diff
@@ -161,9 +161,11 @@ this point. (When the property is local and invariant, it will in fact hold usin
 `liftPropWithinAt_indep_chart`). We require continuity in the lifted property, as otherwise one
 single chart might fail to capture the behavior of the function.
 -/
-def LiftPropWithinAt (P : (H → H') → Set H → H → Prop) (f : M → M') (s : Set M) (x : M) : Prop :=
-  ContinuousWithinAt f s x ∧
-    P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) ((chartAt H x).symm ⁻¹' s) (chartAt H x x)
+@[mk_iff liftPropWithinAt_iff']
+structure LiftPropWithinAt (P : (H → H') → Set H → H → Prop) (f : M → M') (s : Set M) (x : M) :
+    Prop where
+  continuousWithinAt : ContinuousWithinAt f s x
+  prop : P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) ((chartAt H x).symm ⁻¹' s) (chartAt H x x)
 #align charted_space.lift_prop_within_at ChartedSpace.LiftPropWithinAt
 
 /-- Given a property of germs of functions and sets in the model space, then one defines
@@ -183,7 +185,7 @@ def LiftPropAt (P : (H → H') → Set H → H → Prop) (f : M → M') (x : M)
 theorem liftPropAt_iff {P : (H → H') → Set H → H → Prop} {f : M → M'} {x : M} :
     LiftPropAt P f x ↔
       ContinuousAt f x ∧ P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) univ (chartAt H x x) := by
-  rw [LiftPropAt, LiftPropWithinAt, continuousWithinAt_univ, preimage_univ]
+  rw [LiftPropAt, liftPropWithinAt_iff', continuousWithinAt_univ, preimage_univ]
 #align charted_space.lift_prop_at_iff ChartedSpace.liftPropAt_iff
 
 /-- Given a property of germs of functions and sets in the model space, then one defines
@@ -217,17 +219,19 @@ theorem liftPropOn_univ : LiftPropOn P g univ ↔ LiftProp P g := by
 #align structure_groupoid.lift_prop_on_univ StructureGroupoid.liftPropOn_univ
 
 theorem liftPropWithinAt_self {f : H → H'} {s : Set H} {x : H} :
-    LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P f s x := Iff.rfl
+    LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P f s x :=
+  liftPropWithinAt_iff' ..
 #align structure_groupoid.lift_prop_within_at_self StructureGroupoid.liftPropWithinAt_self
 
 theorem liftPropWithinAt_self_source {f : H → M'} {s : Set H} {x : H} :
-    LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P (chartAt H' (f x) ∘ f) s x := Iff.rfl
+    LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P (chartAt H' (f x) ∘ f) s x :=
+  liftPropWithinAt_iff' ..
 #align structure_groupoid.lift_prop_within_at_self_source StructureGroupoid.liftPropWithinAt_self_source
 
 theorem liftPropWithinAt_self_target {f : M → H'} :
     LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧
       P (f ∘ (chartAt H x).symm) ((chartAt H x).symm ⁻¹' s) (chartAt H x x) :=
-  Iff.rfl
+  liftPropWithinAt_iff' ..
 #align structure_groupoid.lift_prop_within_at_self_target StructureGroupoid.liftPropWithinAt_self_target
 
 namespace LocalInvariantProp
@@ -242,6 +246,7 @@ theorem liftPropWithinAt_iff {f : M → M'} :
         P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm)
           ((chartAt H x).target ∩ (chartAt H x).symm ⁻¹' (s ∩ f ⁻¹' (chartAt H' (f x)).source))
           (chartAt H x x) := by
+  rw [liftPropWithinAt_iff']
   refine' and_congr_right fun hf ↦ hG.congr_set _
   exact PartialHomeomorph.preimage_eventuallyEq_target_inter_preimage_inter hf
     (mem_chart_source H x) (chart_source_mem_nhds H' (f x))
@@ -302,8 +307,10 @@ theorem liftPropWithinAt_indep_chart_aux (he : e ∈ G.maximalAtlas M) (xe : x 
 theorem liftPropWithinAt_indep_chart [HasGroupoid M G] [HasGroupoid M' G']
     (he : e ∈ G.maximalAtlas M) (xe : x ∈ e.source) (hf : f ∈ G'.maximalAtlas M')
     (xf : g x ∈ f.source) :
-    LiftPropWithinAt P g s x ↔ ContinuousWithinAt g s x ∧ P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) :=
-  and_congr_right <|
+    LiftPropWithinAt P g s x ↔
+    ContinuousWithinAt g s x ∧ P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) := by
+  simp only [liftPropWithinAt_iff']
+  exact and_congr_right <|
     hG.liftPropWithinAt_indep_chart_aux (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) he xe
       (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) hf xf
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart
@@ -312,7 +319,7 @@ theorem liftPropWithinAt_indep_chart [HasGroupoid M G] [HasGroupoid M' G']
 theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maximalAtlas M)
     (xe : x ∈ e.source) :
     LiftPropWithinAt P g s x ↔ LiftPropWithinAt P (g ∘ e.symm) (e.symm ⁻¹' s) (e x) := by
-  rw [liftPropWithinAt_self_source, LiftPropWithinAt,
+  rw [liftPropWithinAt_self_source, liftPropWithinAt_iff',
     e.symm.continuousWithinAt_iff_continuousWithinAt_comp_right xe, e.symm_symm]
   refine' and_congr Iff.rfl _
   rw [Function.comp_apply, e.left_inv xe, ← Function.comp.assoc,
@@ -324,7 +331,7 @@ theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maxi
 theorem liftPropWithinAt_indep_chart_target [HasGroupoid M' G'] (hf : f ∈ G'.maximalAtlas M')
     (xf : g x ∈ f.source) :
     LiftPropWithinAt P g s x ↔ ContinuousWithinAt g s x ∧ LiftPropWithinAt P (f ∘ g) s x := by
-  rw [liftPropWithinAt_self_target, LiftPropWithinAt, and_congr_right_iff]
+  rw [liftPropWithinAt_self_target, liftPropWithinAt_iff', and_congr_right_iff]
   intro hg
   simp_rw [(f.continuousAt xf).comp_continuousWithinAt hg, true_and_iff]
   exact hG.liftPropWithinAt_indep_chart_target_aux (mem_chart_source _ _)
@@ -356,7 +363,7 @@ theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈
 
 theorem liftPropWithinAt_inter' (ht : t ∈ 𝓝[s] x) :
     LiftPropWithinAt P g (s ∩ t) x ↔ LiftPropWithinAt P g s x := by
-  rw [LiftPropWithinAt, LiftPropWithinAt, continuousWithinAt_inter' ht, hG.congr_set]
+  rw [liftPropWithinAt_iff', liftPropWithinAt_iff', continuousWithinAt_inter' ht, hG.congr_set]
   simp_rw [eventuallyEq_set, mem_preimage,
     (chartAt _ x).eventually_nhds' (fun x ↦ x ∈ s ∩ t ↔ x ∈ s) (mem_chart_source _ x)]
   exact (mem_nhdsWithin_iff_eventuallyEq.mp ht).symm.mem_iff
@@ -441,6 +448,7 @@ theorem liftPropOn_congr_iff (h₁ : ∀ y ∈ s, g' y = g y) : LiftPropOn P g'
 theorem liftPropWithinAt_mono_of_mem
     (mono_of_mem : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, s ∈ 𝓝[t] x → P f s x → P f t x)
     (h : LiftPropWithinAt P g s x) (hst : s ∈ 𝓝[t] x) : LiftPropWithinAt P g t x := by
+  simp only [liftPropWithinAt_iff'] at h ⊢
   refine' ⟨h.1.mono_of_mem hst, mono_of_mem _ h.2⟩
   simp_rw [← mem_map, (chartAt H x).symm.map_nhdsWithin_preimage_eq (mem_chart_target H x),
     (chartAt H x).left_inv (mem_chart_source H x), hst]
@@ -542,6 +550,7 @@ theorem liftProp_id (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
 theorem liftPropAt_iff_comp_subtype_val (hG : LocalInvariantProp G G' P) {U : Opens M}
     (f : M → M') (x : U) :
     LiftPropAt P f x ↔ LiftPropAt P (f ∘ Subtype.val) x := by
+  simp only [LiftPropAt, liftPropWithinAt_iff']
   congrm ?_ ∧ ?_
   · simp_rw [continuousWithinAt_univ, U.openEmbedding'.continuousAt_iff]
   · apply hG.congr_iff
@@ -550,6 +559,7 @@ theorem liftPropAt_iff_comp_subtype_val (hG : LocalInvariantProp G G' P) {U : Op
 theorem liftPropAt_iff_comp_inclusion (hG : LocalInvariantProp G G' P) {U V : Opens M} (hUV : U ≤ V)
     (f : V → M') (x : U) :
     LiftPropAt P f (Set.inclusion hUV x) ↔ LiftPropAt P (f ∘ Set.inclusion hUV : U → M') x := by
+  simp only [LiftPropAt, liftPropWithinAt_iff']
   congrm ?_ ∧ ?_
   · simp_rw [continuousWithinAt_univ,
       (TopologicalSpace.Opens.openEmbedding_of_le hUV).continuousAt_iff]
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -53,11 +53,8 @@ open Manifold Topology
 open Set Filter TopologicalSpace
 
 variable {H M H' M' X : Type*}
-
 variable [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M]
-
 variable [TopologicalSpace H'] [TopologicalSpace M'] [ChartedSpace H' M']
-
 variable [TopologicalSpace X]
 
 namespace StructureGroupoid
@@ -78,7 +75,6 @@ structure LocalInvariantProp (P : (H → H') → Set H → H → Prop) : Prop wh
 #align structure_groupoid.local_invariant_prop StructureGroupoid.LocalInvariantProp
 
 variable {G G'} {P : (H → H') → Set H → H → Prop} {s t u : Set H} {x : H}
-
 variable (hG : G.LocalInvariantProp G' P)
 
 namespace LocalInvariantProp
chore: scope open Classical (#11199)

We remove all but one open Classicals, instead preferring to use open scoped Classical. The only real side-effect this led to is moving a couple declarations to use Exists.choose instead of Classical.choose.

The first few commits are explicitly labelled regex replaces for ease of review.

Diff
@@ -47,7 +47,8 @@ in the one for `LiftPropWithinAt`.
 
 noncomputable section
 
-open Classical Manifold Topology
+open scoped Classical
+open Manifold Topology
 
 open Set Filter TopologicalSpace
 
chore: remove terminal, terminal refines (#10762)

I replaced a few "terminal" refine/refine's with exact.

The strategy was very simple-minded: essentially any refine whose following line had smaller indentation got replaced by exact and then I cleaned up the mess.

This PR certainly leaves some further terminal refines, but maybe the current change is beneficial.

Diff
@@ -649,7 +649,7 @@ theorem _root_.PartialHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureG
     obtain ⟨e, he, hfe, hxe⟩ := hf h2x
     refine' ⟨e.restr f.source, closedUnderRestriction' he f.open_source, _, _, hxe, _⟩
     · simp_rw [PartialHomeomorph.restr_source]
-      refine' (inter_subset_right _ _).trans interior_subset
+      exact (inter_subset_right _ _).trans interior_subset
     · intro x' hx'
       exact hfe ⟨hx'.1, hx'.2.1⟩
     · rw [f.open_source.interior_eq]
chore: remove stream-of-consciousness uses of have, replace and suffices (#10640)

No changes to tactic file, it's just boring fixes throughout the library.

This follows on from #6964.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -490,8 +490,8 @@ theorem liftPropOn_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantP
 theorem liftPropAt_symm_of_mem_maximalAtlas [HasGroupoid M G] {x : H}
     (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G)
     (hx : x ∈ e.target) : LiftPropAt Q e.symm x := by
-  suffices h : Q (e ∘ e.symm) univ x
-  · have : e.symm x ∈ e.source := by simp only [hx, mfld_simps]
+  suffices h : Q (e ∘ e.symm) univ x by
+    have : e.symm x ∈ e.source := by simp only [hx, mfld_simps]
     rw [LiftPropAt, hG.liftPropWithinAt_indep_chart G.id_mem_maximalAtlas (mem_univ _) he this]
     refine' ⟨(e.symm.continuousAt hx).continuousWithinAt, _⟩
     simp only [h, mfld_simps]
chore: rename StructureGroupoid.eq_on_source' to StructureGroupoid.mem_of_eqOnSource' (#9802)

Since it refers to PartialEquiv.EqOnSource, the correct naming scheme should not be snake case eq_on_source. I also added mem_of_ because that's the target of the lemma, while EqOnSource is just a hypothesis.

There are no added lemmas or docstrings in this PR. It's all just renaming.

Diff
@@ -709,7 +709,7 @@ theorem HasGroupoid.comp
         (f.symm ≫ₕ e.symm ≫ₕ e' ≫ₕ f').open_source
       refine' ⟨_, hs.inter φ.open_source, _, _⟩
       · simp only [hx, hφ_dom, mfld_simps]
-      · refine' G₁.eq_on_source (closedUnderRestriction' hφG₁ hs) _
+      · refine' G₁.mem_of_eqOnSource (closedUnderRestriction' hφG₁ hs) _
         rw [PartialHomeomorph.restr_source_inter]
         refine' PartialHomeomorph.Set.EqOn.restr_eqOn_source (hφ.mono _)
         mfld_set_tac }
chore(Geometry/Manifold): use dot notation for IsOpen lemmas more (#9567)

While at it, switch from refine' to refine (easy cases only) in the lines I'm touching anyway.

Diff
@@ -386,7 +386,7 @@ theorem liftPropOn_of_locally_liftPropOn
   rcases h x hx with ⟨u, u_open, xu, hu⟩
   have := hu x ⟨hx, xu⟩
   rwa [hG.liftPropWithinAt_inter] at this
-  exact IsOpen.mem_nhds u_open xu
+  exact u_open.mem_nhds xu
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_locally_lift_prop_on StructureGroupoid.LocalInvariantProp.liftPropOn_of_locally_liftPropOn
 
 theorem liftProp_of_locally_liftPropOn (h : ∀ x, ∃ u, IsOpen u ∧ x ∈ u ∧ LiftPropOn P g u) :
@@ -484,7 +484,7 @@ theorem liftPropOn_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvariantP
     (hQ : ∀ y, Q id univ y) (he : e ∈ maximalAtlas M G) : LiftPropOn Q e e.source := by
   intro x hx
   apply hG.liftPropWithinAt_of_liftPropAt_of_mem_nhds (hG.liftPropAt_of_mem_maximalAtlas hQ he hx)
-  exact IsOpen.mem_nhds e.open_source hx
+  exact e.open_source.mem_nhds hx
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_maximalAtlas
 
 theorem liftPropAt_symm_of_mem_maximalAtlas [HasGroupoid M G] {x : H}
@@ -503,7 +503,7 @@ theorem liftPropOn_symm_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvar
   intro x hx
   apply hG.liftPropWithinAt_of_liftPropAt_of_mem_nhds
     (hG.liftPropAt_symm_of_mem_maximalAtlas hQ he hx)
-  exact IsOpen.mem_nhds e.open_target hx
+  exact e.open_target.mem_nhds hx
 #align structure_groupoid.local_invariant_prop.lift_prop_on_symm_of_mem_maximal_atlas StructureGroupoid.LocalInvariantProp.liftPropOn_symm_of_mem_maximalAtlas
 
 theorem liftPropAt_chart [HasGroupoid M G] (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
refactor(*): change definition of Set.image2 etc (#9275)
  • Redefine Set.image2 to use ∃ a ∈ s, ∃ b ∈ t, f a b = c instead of ∃ a b, a ∈ s ∧ b ∈ t ∧ f a b = c.
  • Redefine Set.seq as Set.image2. The new definition is equal to the old one but rw [Set.seq] gives a different result.
  • Redefine Filter.map₂ to use ∃ u ∈ f, ∃ v ∈ g, image2 m u v ⊆ s instead of ∃ u v, u ∈ f ∧ v ∈ g ∧ ...
  • Update lemmas like Set.mem_image2, Finset.mem_image₂, Set.mem_mul, Finset.mem_div etc

The two reasons to make the change are:

  • ∃ a ∈ s, ∃ b ∈ t, _ is a simp-normal form, and
  • it looks a bit nicer.
Diff
@@ -693,7 +693,7 @@ theorem HasGroupoid.comp
     @HasGroupoid H₁ _ H₃ _ (ChartedSpace.comp H₁ H₂ H₃) G₁ :=
   let _ := ChartedSpace.comp H₁ H₂ H₃ -- Porting note: need this to synthesize `ChartedSpace H₁ H₃`
   { compatible := by
-      rintro _ _ ⟨e, f, he, hf, rfl⟩ ⟨e', f', he', hf', rfl⟩
+      rintro _ _ ⟨e, he, f, hf, rfl⟩ ⟨e', he', f', hf', rfl⟩
       apply G₁.locality
       intro x hx
       simp only [mfld_simps] at hx
chore: audit remaining uses of "local homeomorphism" in comments (#9245)

Almost all of them should speak about partial homeomorphisms instead. In two cases, I decided removing the "local" was clearer than adding "partial".

Follow-up to #8982; complements #9238.

Diff
@@ -636,7 +636,7 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
       · simpa only [hex, hef ⟨hx, hex⟩, mfld_simps] using hfx }
 #align structure_groupoid.is_local_structomorph_within_at_local_invariant_prop StructureGroupoid.isLocalStructomorphWithinAt_localInvariantProp
 
-/-- A slight reformulation of `IsLocalStructomorphWithinAt` when `f` is a local homeomorph.
+/-- A slight reformulation of `IsLocalStructomorphWithinAt` when `f` is a partial homeomorph.
   This gives us an `e` that is defined on a subset of `f.source`. -/
 theorem _root_.PartialHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H}
     [ClosedUnderRestriction G] (f : PartialHomeomorph H H) {s : Set H} {x : H}
@@ -659,7 +659,7 @@ theorem _root_.PartialHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureG
     exact ⟨e, he, hfe, hxe⟩
 #align local_homeomorph.is_local_structomorph_within_at_iff PartialHomeomorph.isLocalStructomorphWithinAt_iff
 
-/-- A slight reformulation of `IsLocalStructomorphWithinAt` when `f` is a local homeomorph and
+/-- A slight reformulation of `IsLocalStructomorphWithinAt` when `f` is a partial homeomorph and
   the set we're considering is a superset of `f.source`. -/
 theorem _root_.PartialHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGroupoid H}
     [ClosedUnderRestriction G] (f : PartialHomeomorph H H) {s : Set H} {x : H} (hs : f.source ⊆ s)
@@ -673,7 +673,7 @@ theorem _root_.PartialHomeomorph.isLocalStructomorphWithinAt_iff' {G : Structure
   rw [inter_eq_right.mpr (h2e.trans hs)]
 #align local_homeomorph.is_local_structomorph_within_at_iff' PartialHomeomorph.isLocalStructomorphWithinAt_iff'
 
-/-- A slight reformulation of `IsLocalStructomorphWithinAt` when `f` is a local homeomorph and
+/-- A slight reformulation of `IsLocalStructomorphWithinAt` when `f` is a partial homeomorph and
   the set we're considering is `f.source`. -/
 theorem _root_.PartialHomeomorph.isLocalStructomorphWithinAt_source_iff {G : StructureGroupoid H}
     [ClosedUnderRestriction G] (f : PartialHomeomorph H H) {x : H} :
chore: rename LocalHomeomorph to PartialHomeomorph (#8982)

LocalHomeomorph evokes a "local homeomorphism": this is not what this means. Instead, this is a homeomorphism on an open set of the domain (extended to the whole space, by the junk value pattern). Hence, partial homeomorphism is more appropriate, and avoids confusion with IsLocallyHomeomorph.

A future PR will rename LocalEquiv to PartialEquiv.

Zulip discussion

Diff
@@ -69,10 +69,10 @@ variable (G : StructureGroupoid H) (G' : StructureGroupoid H')
 to charted spaces admitting these groupoids will inherit the good behavior. -/
 structure LocalInvariantProp (P : (H → H') → Set H → H → Prop) : Prop where
   is_local : ∀ {s x u} {f : H → H'}, IsOpen u → x ∈ u → (P f s x ↔ P f (s ∩ u) x)
-  right_invariance' : ∀ {s x f} {e : LocalHomeomorph H H},
+  right_invariance' : ∀ {s x f} {e : PartialHomeomorph H H},
     e ∈ G → x ∈ e.source → P f s x → P (f ∘ e.symm) (e.symm ⁻¹' s) (e x)
   congr_of_forall : ∀ {s x} {f g : H → H'}, (∀ y ∈ s, f y = g y) → f x = g x → P f s x → P g s x
-  left_invariance' : ∀ {s x f} {e' : LocalHomeomorph H' H'},
+  left_invariance' : ∀ {s x f} {e' : PartialHomeomorph H' H'},
     e' ∈ G' → s ⊆ f ⁻¹' e'.source → f x ∈ e'.source → P f s x → P (e' ∘ f) s x
 #align structure_groupoid.local_invariant_prop StructureGroupoid.LocalInvariantProp
 
@@ -121,7 +121,7 @@ theorem congr' {s : Set H} {x : H} {f g : H → H'} (h : f =ᶠ[𝓝 x] g) (hP :
   hG.congr h.symm hP
 #align structure_groupoid.local_invariant_prop.congr' StructureGroupoid.LocalInvariantProp.congr'
 
-theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : LocalHomeomorph H' H'}
+theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : PartialHomeomorph H' H'}
     (he' : e' ∈ G') (hfs : ContinuousWithinAt f s x) (hxe' : f x ∈ e'.source) :
     P (e' ∘ f) s x ↔ P f s x := by
   have h2f := hfs.preimage_mem_nhdsWithin (e'.open_source.mem_nhds hxe')
@@ -139,7 +139,7 @@ theorem left_invariance {s : Set H} {x : H} {f : H → H'} {e' : LocalHomeomorph
     exact hG.left_invariance' he' (inter_subset_right _ _) hxe'
 #align structure_groupoid.local_invariant_prop.left_invariance StructureGroupoid.LocalInvariantProp.left_invariance
 
-theorem right_invariance {s : Set H} {x : H} {f : H → H'} {e : LocalHomeomorph H H} (he : e ∈ G)
+theorem right_invariance {s : Set H} {x : H} {f : H → H'} {e : PartialHomeomorph H H} (he : e ∈ G)
     (hxe : x ∈ e.source) : P (f ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P f s x := by
   refine' ⟨fun h ↦ _, hG.right_invariance' he hxe⟩
   have := hG.right_invariance' (G.symm he) (e.mapsTo hxe) h
@@ -208,8 +208,8 @@ open ChartedSpace
 
 namespace StructureGroupoid
 
-variable {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}
+variable {G : StructureGroupoid H} {G' : StructureGroupoid H'} {e e' : PartialHomeomorph M H}
+  {f f' : PartialHomeomorph 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}
 
 theorem liftPropWithinAt_univ : LiftPropWithinAt P g univ x ↔ LiftPropAt P g x := Iff.rfl
@@ -246,8 +246,8 @@ theorem liftPropWithinAt_iff {f : M → M'} :
           ((chartAt H x).target ∩ (chartAt H x).symm ⁻¹' (s ∩ f ⁻¹' (chartAt H' (f x)).source))
           (chartAt H x x) := by
   refine' and_congr_right fun hf ↦ hG.congr_set _
-  exact LocalHomeomorph.preimage_eventuallyEq_target_inter_preimage_inter hf (mem_chart_source H x)
-    (chart_source_mem_nhds H' (f x))
+  exact PartialHomeomorph.preimage_eventuallyEq_target_inter_preimage_inter hf
+    (mem_chart_source H x) (chart_source_mem_nhds H' (f x))
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iff
 
 theorem liftPropWithinAt_indep_chart_source_aux (g : M → H') (he : e ∈ G.maximalAtlas M)
@@ -255,13 +255,13 @@ theorem liftPropWithinAt_indep_chart_source_aux (g : M → H') (he : e ∈ G.max
     P (g ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P (g ∘ e'.symm) (e'.symm ⁻¹' s) (e' x) := by
   rw [← hG.right_invariance (compatible_of_mem_maximalAtlas he he')]
   swap; · simp only [xe, xe', mfld_simps]
-  simp_rw [LocalHomeomorph.trans_apply, e.left_inv xe]
+  simp_rw [PartialHomeomorph.trans_apply, e.left_inv xe]
   rw [hG.congr_iff]
   · refine' hG.congr_set _
     refine' (eventually_of_mem _ fun y (hy : y ∈ e'.symm ⁻¹' e.source) ↦ _).set_eq
     · refine' (e'.symm.continuousAt <| e'.mapsTo xe').preimage_mem_nhds (e.open_source.mem_nhds _)
       simp_rw [e'.left_inv xe', xe]
-    simp_rw [mem_preimage, LocalHomeomorph.coe_trans_symm, LocalHomeomorph.symm_symm,
+    simp_rw [mem_preimage, PartialHomeomorph.coe_trans_symm, PartialHomeomorph.symm_symm,
       Function.comp_apply, e.left_inv hy]
   · refine' ((e'.eventually_nhds' _ xe').mpr <| e.eventually_left_inverse xe).mono fun y hy ↦ _
     simp only [mfld_simps]
@@ -278,7 +278,7 @@ theorem liftPropWithinAt_indep_chart_target_aux2 (g : H → M') {x : H} {s : Set
   exact (hgs.eventually <| f.eventually_left_inverse xf).mono fun y ↦ congr_arg f'
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target_aux2 StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target_aux2
 
-theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : LocalHomeomorph X H} {x : X}
+theorem liftPropWithinAt_indep_chart_target_aux {g : X → M'} {e : PartialHomeomorph X H} {x : X}
     {s : Set X} (xe : x ∈ e.source) (hf : f ∈ G'.maximalAtlas M') (xf : g x ∈ f.source)
     (hf' : f' ∈ G'.maximalAtlas M') (xf' : g x ∈ f'.source) (hgs : ContinuousWithinAt g s x) :
     P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) ↔ P (f' ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) := by
@@ -527,12 +527,12 @@ theorem liftPropOn_chart_symm [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_chart_symm StructureGroupoid.LocalInvariantProp.liftPropOn_chart_symm
 
 theorem liftPropAt_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y)
-    {f : LocalHomeomorph H H} (hf : f ∈ G) {x : H} (hx : x ∈ f.source) : LiftPropAt Q f x :=
+    {f : PartialHomeomorph H H} (hf : f ∈ G) {x : H} (hx : x ∈ f.source) : LiftPropAt Q f x :=
   liftPropAt_of_mem_maximalAtlas hG hQ (G.mem_maximalAtlas_of_mem_groupoid hf) hx
 #align structure_groupoid.local_invariant_prop.lift_prop_at_of_mem_groupoid StructureGroupoid.LocalInvariantProp.liftPropAt_of_mem_groupoid
 
 theorem liftPropOn_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y)
-    {f : LocalHomeomorph H H} (hf : f ∈ G) : LiftPropOn Q f f.source :=
+    {f : PartialHomeomorph H H} (hf : f ∈ G) : LiftPropOn Q f f.source :=
   liftPropOn_of_mem_maximalAtlas hG hQ (G.mem_maximalAtlas_of_mem_groupoid hf)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_of_mem_groupoid StructureGroupoid.LocalInvariantProp.liftPropOn_of_mem_groupoid
 
@@ -584,13 +584,13 @@ section LocalStructomorph
 
 variable (G)
 
-open LocalHomeomorph
+open PartialHomeomorph
 
 /-- A function from a model space `H` to itself is a local structomorphism, with respect to a
 structure groupoid `G` for `H`, relative to a set `s` in `H`, if for all points `x` in the set, the
 function agrees with a `G`-structomorphism on `s` in a neighbourhood of `x`. -/
 def IsLocalStructomorphWithinAt (f : H → H) (s : Set H) (x : H) : Prop :=
-  x ∈ s → ∃ e : LocalHomeomorph H H, e ∈ G ∧ EqOn f e.toFun (s ∩ e.source) ∧ x ∈ e.source
+  x ∈ s → ∃ e : PartialHomeomorph H H, e ∈ G ∧ EqOn f e.toFun (s ∩ e.source) ∧ x ∈ e.source
 #align structure_groupoid.is_local_structomorph_within_at StructureGroupoid.IsLocalStructomorphWithinAt
 
 /-- For a groupoid `G` which is `ClosedUnderRestriction`, being a local structomorphism is a local
@@ -638,17 +638,17 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
 
 /-- A slight reformulation of `IsLocalStructomorphWithinAt` when `f` is a local homeomorph.
   This gives us an `e` that is defined on a subset of `f.source`. -/
-theorem _root_.LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H}
-    [ClosedUnderRestriction G] (f : LocalHomeomorph H H) {s : Set H} {x : H}
+theorem _root_.PartialHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGroupoid H}
+    [ClosedUnderRestriction G] (f : PartialHomeomorph H H) {s : Set H} {x : H}
     (hx : x ∈ f.source ∪ sᶜ) :
     G.IsLocalStructomorphWithinAt (⇑f) s x ↔
-      x ∈ s → ∃ e : LocalHomeomorph H H,
+      x ∈ s → ∃ e : PartialHomeomorph H H,
       e ∈ G ∧ e.source ⊆ f.source ∧ EqOn f (⇑e) (s ∩ e.source) ∧ x ∈ e.source := by
   constructor
   · intro hf h2x
     obtain ⟨e, he, hfe, hxe⟩ := hf h2x
     refine' ⟨e.restr f.source, closedUnderRestriction' he f.open_source, _, _, hxe, _⟩
-    · simp_rw [LocalHomeomorph.restr_source]
+    · simp_rw [PartialHomeomorph.restr_source]
       refine' (inter_subset_right _ _).trans interior_subset
     · intro x' hx'
       exact hfe ⟨hx'.1, hx'.2.1⟩
@@ -657,32 +657,32 @@ theorem _root_.LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGro
   · intro hf hx
     obtain ⟨e, he, _, hfe, hxe⟩ := hf hx
     exact ⟨e, he, hfe, hxe⟩
-#align local_homeomorph.is_local_structomorph_within_at_iff LocalHomeomorph.isLocalStructomorphWithinAt_iff
+#align local_homeomorph.is_local_structomorph_within_at_iff PartialHomeomorph.isLocalStructomorphWithinAt_iff
 
 /-- A slight reformulation of `IsLocalStructomorphWithinAt` when `f` is a local homeomorph and
   the set we're considering is a superset of `f.source`. -/
-theorem _root_.LocalHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGroupoid H}
-    [ClosedUnderRestriction G] (f : LocalHomeomorph H H) {s : Set H} {x : H} (hs : f.source ⊆ s)
+theorem _root_.PartialHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGroupoid H}
+    [ClosedUnderRestriction G] (f : PartialHomeomorph H H) {s : Set H} {x : H} (hs : f.source ⊆ s)
     (hx : x ∈ f.source ∪ sᶜ) :
     G.IsLocalStructomorphWithinAt (⇑f) s x ↔
-      x ∈ s → ∃ e : LocalHomeomorph H H,
+      x ∈ s → ∃ e : PartialHomeomorph H H,
       e ∈ G ∧ e.source ⊆ f.source ∧ EqOn f (⇑e) e.source ∧ x ∈ e.source := by
   rw [f.isLocalStructomorphWithinAt_iff hx]
   refine' imp_congr_right fun _ ↦ exists_congr fun e ↦ and_congr_right fun _ ↦ _
   refine' and_congr_right fun h2e ↦ _
   rw [inter_eq_right.mpr (h2e.trans hs)]
-#align local_homeomorph.is_local_structomorph_within_at_iff' LocalHomeomorph.isLocalStructomorphWithinAt_iff'
+#align local_homeomorph.is_local_structomorph_within_at_iff' PartialHomeomorph.isLocalStructomorphWithinAt_iff'
 
 /-- A slight reformulation of `IsLocalStructomorphWithinAt` when `f` is a local homeomorph and
   the set we're considering is `f.source`. -/
-theorem _root_.LocalHomeomorph.isLocalStructomorphWithinAt_source_iff {G : StructureGroupoid H}
-    [ClosedUnderRestriction G] (f : LocalHomeomorph H H) {x : H} :
+theorem _root_.PartialHomeomorph.isLocalStructomorphWithinAt_source_iff {G : StructureGroupoid H}
+    [ClosedUnderRestriction G] (f : PartialHomeomorph H H) {x : H} :
     G.IsLocalStructomorphWithinAt (⇑f) f.source x ↔
-      x ∈ f.source → ∃ e : LocalHomeomorph H H,
+      x ∈ f.source → ∃ e : PartialHomeomorph H H,
       e ∈ G ∧ e.source ⊆ f.source ∧ EqOn f (⇑e) e.source ∧ x ∈ e.source :=
   haveI : x ∈ f.source ∪ f.sourceᶜ := by simp_rw [union_compl_self, mem_univ]
   f.isLocalStructomorphWithinAt_iff' Subset.rfl this
-#align local_homeomorph.is_local_structomorph_within_at_source_iff LocalHomeomorph.isLocalStructomorphWithinAt_source_iff
+#align local_homeomorph.is_local_structomorph_within_at_source_iff PartialHomeomorph.isLocalStructomorphWithinAt_source_iff
 
 variable {H₁ : Type*} [TopologicalSpace H₁] {H₂ : Type*} [TopologicalSpace H₂] {H₃ : Type*}
   [TopologicalSpace H₃] [ChartedSpace H₁ H₂] [ChartedSpace H₂ H₃] {G₁ : StructureGroupoid H₁}
@@ -703,15 +703,15 @@ theorem HasGroupoid.comp
       obtain ⟨φ, hφG₁, hφ, hφ_dom⟩ := LocalInvariantProp.liftPropOn_indep_chart
         (isLocalStructomorphWithinAt_localInvariantProp G₁) (G₁.subset_maximalAtlas hf)
         (G₁.subset_maximalAtlas hf') (H _ (G₂.compatible he he')) hxs' hxs
-      simp_rw [← LocalHomeomorph.coe_trans, LocalHomeomorph.trans_assoc] at hφ
-      simp_rw [LocalHomeomorph.trans_symm_eq_symm_trans_symm, LocalHomeomorph.trans_assoc]
+      simp_rw [← PartialHomeomorph.coe_trans, PartialHomeomorph.trans_assoc] at hφ
+      simp_rw [PartialHomeomorph.trans_symm_eq_symm_trans_symm, PartialHomeomorph.trans_assoc]
       have hs : IsOpen (f.symm ≫ₕ e.symm ≫ₕ e' ≫ₕ f').source :=
         (f.symm ≫ₕ e.symm ≫ₕ e' ≫ₕ f').open_source
       refine' ⟨_, hs.inter φ.open_source, _, _⟩
       · simp only [hx, hφ_dom, mfld_simps]
       · refine' G₁.eq_on_source (closedUnderRestriction' hφG₁ hs) _
-        rw [LocalHomeomorph.restr_source_inter]
-        refine' LocalHomeomorph.Set.EqOn.restr_eqOn_source (hφ.mono _)
+        rw [PartialHomeomorph.restr_source_inter]
+        refine' PartialHomeomorph.Set.EqOn.restr_eqOn_source (hφ.mono _)
         mfld_set_tac }
 #align structure_groupoid.has_groupoid.comp StructureGroupoid.HasGroupoid.comp
 
feat: a function with vanishing integral against smooth functions supported in U is ae zero in U (#8805)

A stronger version of #8800, the differences are:

  • assume either IsSigmaCompact U or SigmaCompactSpace M;

  • only need test functions satisfying tsupport g ⊆ U rather than support g ⊆ U;

  • requires LocallyIntegrableOn U rather than LocallyIntegrable on the whole space.

Also fills in some missing APIs around the manifold and measure theory libraries.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>

Diff
@@ -542,17 +542,33 @@ theorem liftProp_id (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
   exact fun x ↦ hG.congr' ((chartAt H x).eventually_right_inverse <| mem_chart_target H x) (hQ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_id StructureGroupoid.LocalInvariantProp.liftProp_id
 
+theorem liftPropAt_iff_comp_subtype_val (hG : LocalInvariantProp G G' P) {U : Opens M}
+    (f : M → M') (x : U) :
+    LiftPropAt P f x ↔ LiftPropAt P (f ∘ Subtype.val) x := by
+  congrm ?_ ∧ ?_
+  · simp_rw [continuousWithinAt_univ, U.openEmbedding'.continuousAt_iff]
+  · apply hG.congr_iff
+    exact (U.chartAt_subtype_val_symm_eventuallyEq).fun_comp (chartAt H' (f x) ∘ f)
+
 theorem liftPropAt_iff_comp_inclusion (hG : LocalInvariantProp G G' P) {U V : Opens M} (hUV : U ≤ V)
     (f : V → M') (x : U) :
     LiftPropAt P f (Set.inclusion hUV x) ↔ LiftPropAt P (f ∘ Set.inclusion hUV : U → M') x := by
   congrm ?_ ∧ ?_
-  · simp [continuousWithinAt_univ,
+  · simp_rw [continuousWithinAt_univ,
       (TopologicalSpace.Opens.openEmbedding_of_le hUV).continuousAt_iff]
   · apply hG.congr_iff
     exact (TopologicalSpace.Opens.chartAt_inclusion_symm_eventuallyEq hUV).fun_comp
       (chartAt H' (f (Set.inclusion hUV x)) ∘ f)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_iff_comp_inclusion StructureGroupoid.LocalInvariantProp.liftPropAt_iff_comp_inclusion
 
+theorem liftProp_subtype_val {Q : (H → H) → Set H → H → Prop} (hG : LocalInvariantProp G G Q)
+    (hQ : ∀ y, Q id univ y) (U : Opens M) :
+    LiftProp Q (Subtype.val : U → M) := by
+  intro x
+  show LiftPropAt Q (id ∘ Subtype.val) x
+  rw [← hG.liftPropAt_iff_comp_subtype_val]
+  apply hG.liftProp_id hQ
+
 theorem liftProp_inclusion {Q : (H → H) → Set H → H → Prop} (hG : LocalInvariantProp G G Q)
     (hQ : ∀ y, Q id univ y) {U V : Opens M} (hUV : U ≤ V) :
     LiftProp Q (Set.inclusion hUV : U → V) := by
chore: missing spaces after rcases, convert and congrm (#7725)

Replace rcases( with rcases (. Same thing for convert( and congrm(. No other change.

Diff
@@ -353,7 +353,7 @@ theorem liftPropOn_indep_chart [HasGroupoid M G] [HasGroupoid M' G'] (he : e ∈
     (hf : f ∈ G'.maximalAtlas M') (h : LiftPropOn P g s) {y : H}
     (hy : y ∈ e.target ∩ e.symm ⁻¹' (s ∩ g ⁻¹' f.source)) :
     P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) y := by
-  convert((hG.liftPropWithinAt_indep_chart he (e.symm_mapsTo hy.1) hf hy.2.2).1 (h _ hy.2.1)).2
+  convert ((hG.liftPropWithinAt_indep_chart he (e.symm_mapsTo hy.1) hf hy.2.2).1 (h _ hy.2.1)).2
   rw [e.right_inv hy.1]
 #align structure_groupoid.local_invariant_prop.lift_prop_on_indep_chart StructureGroupoid.LocalInvariantProp.liftPropOn_indep_chart
 
chore: Make Set/Finset lemmas match lattice lemma names (#7378)

Rename union_eq_left_iff_subset to union_eq_left to match sup_eq_left. Similarly for the right and inter versions.

Diff
@@ -654,7 +654,7 @@ theorem _root_.LocalHomeomorph.isLocalStructomorphWithinAt_iff' {G : StructureGr
   rw [f.isLocalStructomorphWithinAt_iff hx]
   refine' imp_congr_right fun _ ↦ exists_congr fun e ↦ and_congr_right fun _ ↦ _
   refine' and_congr_right fun h2e ↦ _
-  rw [inter_eq_right_iff_subset.mpr (h2e.trans hs)]
+  rw [inter_eq_right.mpr (h2e.trans hs)]
 #align local_homeomorph.is_local_structomorph_within_at_iff' LocalHomeomorph.isLocalStructomorphWithinAt_iff'
 
 /-- A slight reformulation of `IsLocalStructomorphWithinAt` when `f` is a local homeomorph and
feat: congr(...) congruence quotations and port congrm tactic (#2544)

Adds a term elaborator for congr(...) "congruence quotations". For example, if hf : f = f' and hx : x = x', then we have congr($hf $x) : f x = f' x'. This supports the functions having implicit arguments, and it has support for subsingleton instance arguments. So for example, if s t : Set X are sets with Fintype instances and h : s = t then congr(Fintype.card $h) : Fintype.card s = Fintype.card t works.

Ports the congrm tactic as a convenient frontend for applying a congruence quotation to the goal. Holes are turned into congruence holes. For example, congrm 1 + ?_ uses congr(1 + $(?_)). Placeholders (_) do not turn into congruence holes; that's not to say they have to be identical on the LHS and RHS, but congrm itself is responsible for finding a congruence lemma for such arguments.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Moritz Doll <moritz.doll@googlemail.com>

Diff
@@ -545,7 +545,7 @@ theorem liftProp_id (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
 theorem liftPropAt_iff_comp_inclusion (hG : LocalInvariantProp G G' P) {U V : Opens M} (hUV : U ≤ V)
     (f : V → M') (x : U) :
     LiftPropAt P f (Set.inclusion hUV x) ↔ LiftPropAt P (f ∘ Set.inclusion hUV : U → M') x := by
-  change (_ ∧ _) ↔ (_ ∧ _); congr! 1 -- Porting note: was `congrm _ ∧ _`
+  congrm ?_ ∧ ?_
   · simp [continuousWithinAt_univ,
       (TopologicalSpace.Opens.openEmbedding_of_le hUV).continuousAt_iff]
   · apply hG.congr_iff
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -51,7 +51,7 @@ open Classical Manifold Topology
 
 open Set Filter TopologicalSpace
 
-variable {H M H' M' X : Type _}
+variable {H M H' M' X : Type*}
 
 variable [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M]
 
@@ -668,7 +668,7 @@ theorem _root_.LocalHomeomorph.isLocalStructomorphWithinAt_source_iff {G : Struc
   f.isLocalStructomorphWithinAt_iff' Subset.rfl this
 #align local_homeomorph.is_local_structomorph_within_at_source_iff LocalHomeomorph.isLocalStructomorphWithinAt_source_iff
 
-variable {H₁ : Type _} [TopologicalSpace H₁] {H₂ : Type _} [TopologicalSpace H₂] {H₃ : Type _}
+variable {H₁ : Type*} [TopologicalSpace H₁] {H₂ : Type*} [TopologicalSpace H₂] {H₃ : Type*}
   [TopologicalSpace H₃] [ChartedSpace H₁ H₂] [ChartedSpace H₂ H₃] {G₁ : StructureGroupoid H₁}
   [HasGroupoid H₂ G₁] [ClosedUnderRestriction G₁] (G₂ : StructureGroupoid H₂) [HasGroupoid H₃ G₂]
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2020 Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn
-
-! This file was ported from Lean 3 source module geometry.manifold.local_invariant_properties
-! leanprover-community/mathlib commit 431589bce478b2229eba14b14a283250428217db
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Geometry.Manifold.ChartedSpace
 
+#align_import geometry.manifold.local_invariant_properties from "leanprover-community/mathlib"@"431589bce478b2229eba14b14a283250428217db"
+
 /-!
 # Local properties invariant under a groupoid
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn
 
 ! This file was ported from Lean 3 source module geometry.manifold.local_invariant_properties
-! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
+! leanprover-community/mathlib commit 431589bce478b2229eba14b14a283250428217db
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -52,7 +52,7 @@ noncomputable section
 
 open Classical Manifold Topology
 
-open Set Filter
+open Set Filter TopologicalSpace
 
 variable {H M H' M' X : Type _}
 
@@ -545,6 +545,26 @@ theorem liftProp_id (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
   exact fun x ↦ hG.congr' ((chartAt H x).eventually_right_inverse <| mem_chart_target H x) (hQ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_id StructureGroupoid.LocalInvariantProp.liftProp_id
 
+theorem liftPropAt_iff_comp_inclusion (hG : LocalInvariantProp G G' P) {U V : Opens M} (hUV : U ≤ V)
+    (f : V → M') (x : U) :
+    LiftPropAt P f (Set.inclusion hUV x) ↔ LiftPropAt P (f ∘ Set.inclusion hUV : U → M') x := by
+  change (_ ∧ _) ↔ (_ ∧ _); congr! 1 -- Porting note: was `congrm _ ∧ _`
+  · simp [continuousWithinAt_univ,
+      (TopologicalSpace.Opens.openEmbedding_of_le hUV).continuousAt_iff]
+  · apply hG.congr_iff
+    exact (TopologicalSpace.Opens.chartAt_inclusion_symm_eventuallyEq hUV).fun_comp
+      (chartAt H' (f (Set.inclusion hUV x)) ∘ f)
+#align structure_groupoid.local_invariant_prop.lift_prop_at_iff_comp_inclusion StructureGroupoid.LocalInvariantProp.liftPropAt_iff_comp_inclusion
+
+theorem liftProp_inclusion {Q : (H → H) → Set H → H → Prop} (hG : LocalInvariantProp G G Q)
+    (hQ : ∀ y, Q id univ y) {U V : Opens M} (hUV : U ≤ V) :
+    LiftProp Q (Set.inclusion hUV : U → V) := by
+  intro x
+  show LiftPropAt Q (id ∘ inclusion hUV) x
+  rw [← hG.liftPropAt_iff_comp_inclusion hUV]
+  apply hG.liftProp_id hQ
+#align structure_groupoid.local_invariant_prop.lift_prop_inclusion StructureGroupoid.LocalInvariantProp.liftProp_inclusion
+
 end LocalInvariantProp
 
 section LocalStructomorph
refactor: add abbreviations with explicit arguments (#4641)

Lean 4 does not support [] fields in classes, so some definitions like ChartedSpace.atlas have fewer explicit arguments than they used to have in Lean 3. This PR adds abbreviations in the root namespace with explicit arguments.

Diff
@@ -169,7 +169,7 @@ single chart might fail to capture the behavior of the function.
 -/
 def LiftPropWithinAt (P : (H → H') → Set H → H → Prop) (f : M → M') (s : Set M) (x : M) : Prop :=
   ContinuousWithinAt f s x ∧
-    P (chartAt (f x) ∘ f ∘ (chartAt x).symm) ((chartAt x).symm ⁻¹' s) (chartAt x x)
+    P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) ((chartAt H x).symm ⁻¹' s) (chartAt H x x)
 #align charted_space.lift_prop_within_at ChartedSpace.LiftPropWithinAt
 
 /-- Given a property of germs of functions and sets in the model space, then one defines
@@ -188,7 +188,7 @@ def LiftPropAt (P : (H → H') → Set H → H → Prop) (f : M → M') (x : M)
 
 theorem liftPropAt_iff {P : (H → H') → Set H → H → Prop} {f : M → M'} {x : M} :
     LiftPropAt P f x ↔
-      ContinuousAt f x ∧ P (chartAt (f x) ∘ f ∘ (chartAt x).symm) univ (chartAt x x) := by
+      ContinuousAt f x ∧ P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) univ (chartAt H x x) := by
   rw [LiftPropAt, LiftPropWithinAt, continuousWithinAt_univ, preimage_univ]
 #align charted_space.lift_prop_at_iff ChartedSpace.liftPropAt_iff
 
@@ -201,7 +201,7 @@ def LiftProp (P : (H → H') → Set H → H → Prop) (f : M → M') :=
 
 theorem liftProp_iff {P : (H → H') → Set H → H → Prop} {f : M → M'} :
     LiftProp P f ↔
-      Continuous f ∧ ∀ x, P (chartAt (f x) ∘ f ∘ (chartAt x).symm) univ (chartAt x x) := by
+      Continuous f ∧ ∀ x, P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm) univ (chartAt H x x) := by
   simp_rw [LiftProp, liftPropAt_iff, forall_and, continuous_iff_continuousAt]
 #align charted_space.lift_prop_iff ChartedSpace.liftProp_iff
 
@@ -227,12 +227,12 @@ theorem liftPropWithinAt_self {f : H → H'} {s : Set H} {x : H} :
 #align structure_groupoid.lift_prop_within_at_self StructureGroupoid.liftPropWithinAt_self
 
 theorem liftPropWithinAt_self_source {f : H → M'} {s : Set H} {x : H} :
-    LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P (chartAt (f x) ∘ f) s x := Iff.rfl
+    LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧ P (chartAt H' (f x) ∘ f) s x := Iff.rfl
 #align structure_groupoid.lift_prop_within_at_self_source StructureGroupoid.liftPropWithinAt_self_source
 
 theorem liftPropWithinAt_self_target {f : M → H'} :
-    LiftPropWithinAt P f s x ↔
-      ContinuousWithinAt f s x ∧ P (f ∘ (chartAt x).symm) ((chartAt x).symm ⁻¹' s) (chartAt x x) :=
+    LiftPropWithinAt P f s x ↔ ContinuousWithinAt f s x ∧
+      P (f ∘ (chartAt H x).symm) ((chartAt H x).symm ⁻¹' s) (chartAt H x x) :=
   Iff.rfl
 #align structure_groupoid.lift_prop_within_at_self_target StructureGroupoid.liftPropWithinAt_self_target
 
@@ -245,11 +245,11 @@ variable (hG : G.LocalInvariantProp G' P)
 theorem liftPropWithinAt_iff {f : M → M'} :
     LiftPropWithinAt P f s x ↔
       ContinuousWithinAt f s x ∧
-        P (chartAt (f x) ∘ f ∘ (chartAt x).symm)
-          ((chartAt x).target ∩ (chartAt x).symm ⁻¹' (s ∩ f ⁻¹' (chartAt (H := H') (f x)).source))
-          (chartAt x x) := by
+        P (chartAt H' (f x) ∘ f ∘ (chartAt H x).symm)
+          ((chartAt H x).target ∩ (chartAt H x).symm ⁻¹' (s ∩ f ⁻¹' (chartAt H' (f x)).source))
+          (chartAt H x x) := by
   refine' and_congr_right fun hf ↦ hG.congr_set _
-  exact LocalHomeomorph.preimage_eventuallyEq_target_inter_preimage_inter hf (mem_chart_source x)
+  exact LocalHomeomorph.preimage_eventuallyEq_target_inter_preimage_inter hf (mem_chart_source H x)
     (chart_source_mem_nhds H' (f x))
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_iff StructureGroupoid.LocalInvariantProp.liftPropWithinAt_iff
 
@@ -310,8 +310,8 @@ theorem liftPropWithinAt_indep_chart [HasGroupoid M G] [HasGroupoid M' G']
     (xf : g x ∈ f.source) :
     LiftPropWithinAt P g s x ↔ ContinuousWithinAt g s x ∧ P (f ∘ g ∘ e.symm) (e.symm ⁻¹' s) (e x) :=
   and_congr_right <|
-    hG.liftPropWithinAt_indep_chart_aux (chart_mem_maximalAtlas _ _) (mem_chart_source _) he xe
-      (chart_mem_maximalAtlas _ _) (mem_chart_source _) hf xf
+    hG.liftPropWithinAt_indep_chart_aux (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) he xe
+      (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) hf xf
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart
 
 /-- A version of `liftPropWithinAt_indep_chart`, only for the source. -/
@@ -322,8 +322,8 @@ theorem liftPropWithinAt_indep_chart_source [HasGroupoid M G] (he : e ∈ G.maxi
     e.symm.continuousWithinAt_iff_continuousWithinAt_comp_right xe, e.symm_symm]
   refine' and_congr Iff.rfl _
   rw [Function.comp_apply, e.left_inv xe, ← Function.comp.assoc,
-    hG.liftPropWithinAt_indep_chart_source_aux (chartAt (g x) ∘ g) (chart_mem_maximalAtlas G x)
-      (mem_chart_source x) he xe, Function.comp.assoc]
+    hG.liftPropWithinAt_indep_chart_source_aux (chartAt _ (g x) ∘ g) (chart_mem_maximalAtlas G x)
+      (mem_chart_source _ x) he xe, Function.comp.assoc]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_source StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source
 
 /-- A version of `liftPropWithinAt_indep_chart`, only for the target. -/
@@ -333,8 +333,8 @@ theorem liftPropWithinAt_indep_chart_target [HasGroupoid M' G'] (hf : f ∈ G'.m
   rw [liftPropWithinAt_self_target, LiftPropWithinAt, and_congr_right_iff]
   intro hg
   simp_rw [(f.continuousAt xf).comp_continuousWithinAt hg, true_and_iff]
-  exact hG.liftPropWithinAt_indep_chart_target_aux (mem_chart_source _)
-    (chart_mem_maximalAtlas _ _) (mem_chart_source _) hf xf hg
+  exact hG.liftPropWithinAt_indep_chart_target_aux (mem_chart_source _ _)
+    (chart_mem_maximalAtlas _ _) (mem_chart_source _ _) hf xf hg
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_indep_chart_target StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_target
 
 /-- A version of `liftPropWithinAt_indep_chart`, that uses `LiftPropWithinAt` on both sides. -/
@@ -364,7 +364,7 @@ theorem liftPropWithinAt_inter' (ht : t ∈ 𝓝[s] x) :
     LiftPropWithinAt P g (s ∩ t) x ↔ LiftPropWithinAt P g s x := by
   rw [LiftPropWithinAt, LiftPropWithinAt, continuousWithinAt_inter' ht, hG.congr_set]
   simp_rw [eventuallyEq_set, mem_preimage,
-    (chartAt x).eventually_nhds' (fun x ↦ x ∈ s ∩ t ↔ x ∈ s) (mem_chart_source x)]
+    (chartAt _ x).eventually_nhds' (fun x ↦ x ∈ s ∩ t ↔ x ∈ s) (mem_chart_source _ x)]
   exact (mem_nhdsWithin_iff_eventuallyEq.mp ht).symm.mem_iff
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_inter' StructureGroupoid.LocalInvariantProp.liftPropWithinAt_inter'
 
@@ -403,10 +403,10 @@ theorem liftPropWithinAt_congr_of_eventuallyEq (h : LiftPropWithinAt P g s x) (h
     (hx : g' x = g x) : LiftPropWithinAt P g' s x := by
   refine' ⟨h.1.congr_of_eventuallyEq h₁ hx, _⟩
   refine' hG.congr_nhdsWithin' _
-    (by simp_rw [Function.comp_apply, (chartAt x).left_inv (mem_chart_source x), hx]) h.2
+    (by simp_rw [Function.comp_apply, (chartAt H x).left_inv (mem_chart_source H x), hx]) h.2
   simp_rw [EventuallyEq, Function.comp_apply]
-  rw [(chartAt x).eventually_nhdsWithin' (fun y ↦ chartAt (g' x) (g' y) = chartAt (g x) (g y))
-        (mem_chart_source x)]
+  rw [(chartAt H x).eventually_nhdsWithin'
+    (fun y ↦ chartAt H' (g' x) (g' y) = chartAt H' (g x) (g y)) (mem_chart_source H x)]
   exact h₁.mono fun y hy ↦ by rw [hx, hy]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_congr_of_eventually_eq StructureGroupoid.LocalInvariantProp.liftPropWithinAt_congr_of_eventuallyEq
 
@@ -448,8 +448,8 @@ theorem liftPropWithinAt_mono_of_mem
     (mono_of_mem : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, s ∈ 𝓝[t] x → P f s x → P f t x)
     (h : LiftPropWithinAt P g s x) (hst : s ∈ 𝓝[t] x) : LiftPropWithinAt P g t x := by
   refine' ⟨h.1.mono_of_mem hst, mono_of_mem _ h.2⟩
-  simp_rw [← mem_map, (chartAt x).symm.map_nhdsWithin_preimage_eq (mem_chart_target H x),
-    (chartAt x).left_inv (mem_chart_source x), hst]
+  simp_rw [← mem_map, (chartAt H x).symm.map_nhdsWithin_preimage_eq (mem_chart_target H x),
+    (chartAt H x).left_inv (mem_chart_source H x), hst]
 #align structure_groupoid.local_invariant_prop.lift_prop_within_at_mono_of_mem StructureGroupoid.LocalInvariantProp.liftPropWithinAt_mono_of_mem
 
 theorem liftPropWithinAt_mono (mono : ∀ ⦃s x t⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x)
@@ -511,7 +511,7 @@ theorem liftPropOn_symm_of_mem_maximalAtlas [HasGroupoid M G] (hG : G.LocalInvar
 
 theorem liftPropAt_chart [HasGroupoid M G] (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftPropAt Q (chartAt (H := H) x) x :=
-  hG.liftPropAt_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x) (mem_chart_source x)
+  hG.liftPropAt_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x) (mem_chart_source H x)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_chart StructureGroupoid.LocalInvariantProp.liftPropAt_chart
 
 theorem liftPropOn_chart [HasGroupoid M G] (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
@@ -520,12 +520,12 @@ theorem liftPropOn_chart [HasGroupoid M G] (hG : G.LocalInvariantProp G Q) (hQ :
 #align structure_groupoid.local_invariant_prop.lift_prop_on_chart StructureGroupoid.LocalInvariantProp.liftPropOn_chart
 
 theorem liftPropAt_chart_symm [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
-    (hQ : ∀ y, Q id univ y) : LiftPropAt Q (chartAt (H := H) x).symm ((chartAt x) x) :=
+    (hQ : ∀ y, Q id univ y) : LiftPropAt Q (chartAt (H := H) x).symm ((chartAt H x) x) :=
   hG.liftPropAt_symm_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x) (by simp)
 #align structure_groupoid.local_invariant_prop.lift_prop_at_chart_symm StructureGroupoid.LocalInvariantProp.liftPropAt_chart_symm
 
 theorem liftPropOn_chart_symm [HasGroupoid M G] (hG : G.LocalInvariantProp G Q)
-    (hQ : ∀ y, Q id univ y) : LiftPropOn Q (chartAt (H := H) x).symm (chartAt x).target :=
+    (hQ : ∀ y, Q id univ y) : LiftPropOn Q (chartAt (H := H) x).symm (chartAt H x).target :=
   hG.liftPropOn_symm_of_mem_maximalAtlas hQ (chart_mem_maximalAtlas G x)
 #align structure_groupoid.local_invariant_prop.lift_prop_on_chart_symm StructureGroupoid.LocalInvariantProp.liftPropOn_chart_symm
 
@@ -542,7 +542,7 @@ theorem liftPropOn_of_mem_groupoid (hG : G.LocalInvariantProp G Q) (hQ : ∀ y,
 theorem liftProp_id (hG : G.LocalInvariantProp G Q) (hQ : ∀ y, Q id univ y) :
     LiftProp Q (id : M → M) := by
   simp_rw [liftProp_iff, continuous_id, true_and_iff]
-  exact fun x ↦ hG.congr' ((chartAt x).eventually_right_inverse <| mem_chart_target H x) (hQ _)
+  exact fun x ↦ hG.congr' ((chartAt H x).eventually_right_inverse <| mem_chart_target H x) (hQ _)
 #align structure_groupoid.local_invariant_prop.lift_prop_id StructureGroupoid.LocalInvariantProp.liftProp_id
 
 end LocalInvariantProp
chore: tidy various files (#3606)
Diff
@@ -574,7 +574,7 @@ theorem isLocalStructomorphWithinAt_localInvariantProp [ClosedUnderRestriction G
       · rintro h hx
         rcases h ⟨hx, hux⟩ with ⟨e, heG, hef, hex⟩
         refine' ⟨e.restr (interior u), _, _, _⟩
-        · exact closed_under_restriction' heG isOpen_interior
+        · exact closedUnderRestriction' heG isOpen_interior
         · have : s ∩ u ∩ e.source = s ∩ (e.source ∩ u) := by mfld_set_tac
           simpa only [this, interior_interior, hu.interior_eq, mfld_simps] using hef
         · simp only [*, interior_interior, hu.interior_eq, mfld_simps]
@@ -614,7 +614,7 @@ theorem _root_.LocalHomeomorph.isLocalStructomorphWithinAt_iff {G : StructureGro
   constructor
   · intro hf h2x
     obtain ⟨e, he, hfe, hxe⟩ := hf h2x
-    refine' ⟨e.restr f.source, closed_under_restriction' he f.open_source, _, _, hxe, _⟩
+    refine' ⟨e.restr f.source, closedUnderRestriction' he f.open_source, _, _, hxe, _⟩
     · simp_rw [LocalHomeomorph.restr_source]
       refine' (inter_subset_right _ _).trans interior_subset
     · intro x' hx'
@@ -676,7 +676,7 @@ theorem HasGroupoid.comp
         (f.symm ≫ₕ e.symm ≫ₕ e' ≫ₕ f').open_source
       refine' ⟨_, hs.inter φ.open_source, _, _⟩
       · simp only [hx, hφ_dom, mfld_simps]
-      · refine' G₁.eq_on_source (closed_under_restriction' hφG₁ hs) _
+      · refine' G₁.eq_on_source (closedUnderRestriction' hφG₁ hs) _
         rw [LocalHomeomorph.restr_source_inter]
         refine' LocalHomeomorph.Set.EqOn.restr_eqOn_source (hφ.mono _)
         mfld_set_tac }
feat: port Geometry.Manifold.LocalInvariantProperties (#3401)

Dependencies 8 + 324

325 files ported (97.6%)
143468 lines ported (96.6%)
Show graph

The unported dependencies are