File: Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean

full_name: contMDiff_model
code: theorem contMDiff_model : ContMDiff I 𝓘(𝕜, E) n I 
goal: ContMDiff I 𝓘(𝕜, E) n ↑I

full_name: contMDiffOn_model_symm
code: theorem contMDiffOn_model_symm : ContMDiffOn 𝓘(𝕜, E) I n I.symm (range I) 
goal: ContMDiffOn 𝓘(𝕜, E) I n (↑I.symm) (Set.range ↑I)

full_name: contMDiffOn_of_mem_maximalAtlas
code: /-- An atlas member is `C^n` for any `n`. -/
theorem contMDiffOn_of_mem_maximalAtlas (h : e ∈ maximalAtlas I M) : ContMDiffOn I I n e e.source 
goal: ContMDiffOn I I n (↑e) e.source

full_name: contMDiffOn_symm_of_mem_maximalAtlas
code: /-- The inverse of an atlas member is `C^n` for any `n`. -/
theorem contMDiffOn_symm_of_mem_maximalAtlas (h : e ∈ maximalAtlas I M) :
    ContMDiffOn I I n e.symm e.target 
goal: ContMDiffOn I I n (↑e.symm) e.target

full_name: contMDiffAt_of_mem_maximalAtlas
code: theorem contMDiffAt_of_mem_maximalAtlas (h : e ∈ maximalAtlas I M) (hx : x ∈ e.source) :
    ContMDiffAt I I n e x 
goal: ContMDiffAt I I n (↑e) x

full_name: contMDiffAt_symm_of_mem_maximalAtlas
code: theorem contMDiffAt_symm_of_mem_maximalAtlas {x : H} (h : e ∈ maximalAtlas I M)
    (hx : x ∈ e.target) : ContMDiffAt I I n e.symm x 
goal: ContMDiffAt I I n (↑e.symm) x

full_name: contMDiffOn_chart
code: theorem contMDiffOn_chart : ContMDiffOn I I n (chartAt H x) (chartAt H x).source 
goal: ContMDiffOn I I n (↑(chartAt H x)) (chartAt H x).source

full_name: contMDiffOn_chart_symm
code: theorem contMDiffOn_chart_symm : ContMDiffOn I I n (chartAt H x).symm (chartAt H x).target 
goal: ContMDiffOn I I n (↑(chartAt H x).symm) (chartAt H x).target

full_name: contMDiffAt_extend
code: theorem contMDiffAt_extend {x : M} (he : e ∈ maximalAtlas I M) (hx : x ∈ e.source) :
    ContMDiffAt I 𝓘(𝕜, E) n (e.extend I) x 
goal: ContMDiffAt I 𝓘(𝕜, E) n (↑(e.extend I)) x

full_name: contMDiffAt_extChartAt'
code: theorem contMDiffAt_extChartAt' {x' : M} (h : x' ∈ (chartAt H x).source) :
    ContMDiffAt I 𝓘(𝕜, E) n (extChartAt I x) x' 
goal: ContMDiffAt I 𝓘(𝕜, E) n (↑(extChartAt I x)) x'

full_name: contMDiffAt_extChartAt
code: theorem contMDiffAt_extChartAt : ContMDiffAt I 𝓘(𝕜, E) n (extChartAt I x) x 
goal: ContMDiffAt I 𝓘(𝕜, E) n (↑(extChartAt I x)) x

full_name: contMDiffOn_extChartAt
code: theorem contMDiffOn_extChartAt : ContMDiffOn I 𝓘(𝕜, E) n (extChartAt I x) (chartAt H x).source 
goal: ContMDiffOn I 𝓘(𝕜, E) n (↑(extChartAt I x)) (chartAt H x).source

full_name: contMDiffOn_extend_symm
code: theorem contMDiffOn_extend_symm (he : e ∈ maximalAtlas I M) :
    ContMDiffOn 𝓘(𝕜, E) I n (e.extend I).symm (I '' e.target) 
goal: ContMDiffOn 𝓘(𝕜, E) I n (↑(e.extend I).symm) (↑I '' e.target)

full_name: contMDiffOn_extChartAt_symm
code: theorem contMDiffOn_extChartAt_symm (x : M) :
    ContMDiffOn 𝓘(𝕜, E) I n (extChartAt I x).symm (extChartAt I x).target 
goal: ContMDiffOn 𝓘(𝕜, E) I n (↑(extChartAt I x).symm) (extChartAt I x).target

full_name: contMDiffOn_of_mem_contDiffGroupoid
code: /-- An element of `contDiffGroupoid ⊤ I` is `C^n` for any `n`. -/
theorem contMDiffOn_of_mem_contDiffGroupoid {e' : PartialHomeomorph H H}
    (h : e' ∈ contDiffGroupoid ⊤ I) : ContMDiffOn I I n e' e'.source 
goal: ContMDiffOn I I n (↑e') e'.source

full_name: isLocalStructomorphOn_contDiffGroupoid_iff_aux
code: theorem isLocalStructomorphOn_contDiffGroupoid_iff_aux {f : PartialHomeomorph M M'}
    (hf : LiftPropOn (contDiffGroupoid ⊤ I).IsLocalStructomorphWithinAt f f.source) :
    SmoothOn I I f f.source 
goal: SmoothOn I I (↑f) f.source

full_name: isLocalStructomorphOn_contDiffGroupoid_iff
code: /-- Let `M` and `M'` be smooth manifolds with the same model-with-corners, `I`.  Then `f : M → M'`
is a local structomorphism for `I`, if and only if it is manifold-smooth on the domain of definition
in both directions. -/
theorem isLocalStructomorphOn_contDiffGroupoid_iff (f : PartialHomeomorph M M') :
    LiftPropOn (contDiffGroupoid ⊤ I).IsLocalStructomorphWithinAt f f.source ↔
      SmoothOn I I f f.source ∧ SmoothOn I I f.symm f.target 
goal: ChartedSpace.LiftPropOn (contDiffGroupoid ⊤ I).IsLocalStructomorphWithinAt (↑f) f.source ↔
  SmoothOn I I (↑f) f.source ∧ SmoothOn I I (↑f.symm) f.target