Skip to content

Commit

Permalink
bump to nightly-2023-05-29-03
Browse files Browse the repository at this point in the history
  • Loading branch information
leanprover-community-bot committed May 29, 2023
1 parent f7040f5 commit d0f5dd0
Show file tree
Hide file tree
Showing 20 changed files with 615 additions and 478 deletions.
510 changes: 255 additions & 255 deletions Mathbin/All.lean

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions Mathbin/Analysis/Calculus/Deriv/Slope.lean
Expand Up @@ -81,12 +81,14 @@ theorem hasDerivWithinAt_iff_tendsto_slope :
exact hasDerivAtFilter_iff_tendsto_slope
#align has_deriv_within_at_iff_tendsto_slope hasDerivWithinAt_iff_tendsto_slope

#print hasDerivWithinAt_iff_tendsto_slope' /-
theorem hasDerivWithinAt_iff_tendsto_slope' (hs : x βˆ‰ s) :
HasDerivWithinAt f f' s x ↔ Tendsto (slope f x) (𝓝[s] x) (𝓝 f') :=
by
convert← hasDerivWithinAt_iff_tendsto_slope
exact diff_singleton_eq_self hs
#align has_deriv_within_at_iff_tendsto_slope' hasDerivWithinAt_iff_tendsto_slope'
-/

theorem hasDerivAt_iff_tendsto_slope : HasDerivAt f f' x ↔ Tendsto (slope f x) (𝓝[β‰ ] x) (𝓝 f') :=
hasDerivAtFilter_iff_tendsto_slope
Expand Down
5 changes: 3 additions & 2 deletions Mathbin/Analysis/Convolution.lean
Expand Up @@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Floris van Doorn
! This file was ported from Lean 3 source module analysis.convolution
! leanprover-community/mathlib commit fd5edc43dc4f10b85abfe544b88f82cf13c5f844
! leanprover-community/mathlib commit f7ebde7ee0d1505dfccac8644ae12371aa3c1c9f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
Expand Down Expand Up @@ -1665,7 +1665,8 @@ theorem contDiffOn_convolution_right_with_param {f : G β†’ E} {n : β„•βˆž} (L :
simp only [ef, eg, comp_app, ContinuousLinearEquiv.apply_symm_apply, coe_comp',
ContinuousLinearEquiv.prod_apply, ContinuousLinearEquiv.map_sub,
ContinuousLinearEquiv.arrowCongr, ContinuousLinearEquiv.arrowCongrSL_symm_apply,
ContinuousLinearEquiv.coe_coe, comp_app, ContinuousLinearEquiv.apply_symm_apply]
ContinuousLinearEquiv.coe_coe, comp_app, ContinuousLinearEquiv.apply_symm_apply,
LinearEquiv.invFun_eq_symm, ContinuousLinearEquiv.arrowCongrβ‚›β‚—_symm_apply, eq_self_iff_true]
simp_rw [this] at A
exact A
#align cont_diff_on_convolution_right_with_param contDiffOn_convolution_right_with_param
Expand Down
58 changes: 1 addition & 57 deletions Mathbin/Analysis/NormedSpace/OperatorNorm.lean
Expand Up @@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jan-David Salchow, SΓ©bastien GouΓ«zel, Jean Lo
! This file was ported from Lean 3 source module analysis.normed_space.operator_norm
! leanprover-community/mathlib commit 50251fd6309cca5ca2e747882ffecd2729f38c5d
! leanprover-community/mathlib commit f7ebde7ee0d1505dfccac8644ae12371aa3c1c9f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
Expand Down Expand Up @@ -2023,62 +2023,6 @@ theorem coord_norm (x : E) (h : x β‰  0) : β€–coord π•œ x hβ€– = β€–x‖⁻¹ :
homothety_inverse _ hx _ (to_span_nonzero_singleton_homothety π•œ x h) _
#align continuous_linear_equiv.coord_norm ContinuousLinearEquiv.coord_norm

variable {π•œ} {π•œβ‚„ : Type _} [NontriviallyNormedField π•œβ‚„]

variable {H : Type _} [NormedAddCommGroup H] [NormedSpace π•œβ‚„ H] [NormedSpace π•œβ‚ƒ G]

variable {σ₂₃ : π•œβ‚‚ β†’+* π•œβ‚ƒ} {σ₁₃ : π•œ β†’+* π•œβ‚ƒ}

variable {σ₃₄ : π•œβ‚ƒ β†’+* π•œβ‚„} {σ₄₃ : π•œβ‚„ β†’+* π•œβ‚ƒ}

variable {Οƒβ‚‚β‚„ : π•œβ‚‚ β†’+* π•œβ‚„} {σ₁₄ : π•œ β†’+* π•œβ‚„}

variable [RingHomInvPair σ₃₄ σ₄₃] [RingHomInvPair σ₄₃ σ₃₄]

variable [RingHomCompTriple σ₂₁ σ₁₄ Οƒβ‚‚β‚„] [RingHomCompTriple Οƒβ‚‚β‚„ σ₄₃ σ₂₃]

variable [RingHomCompTriple σ₁₂ σ₂₃ σ₁₃] [RingHomCompTriple σ₁₃ σ₃₄ σ₁₄]

variable [RingHomIsometric σ₁₄] [RingHomIsometric σ₂₃]

variable [RingHomIsometric σ₄₃] [RingHomIsometric Οƒβ‚‚β‚„]

variable [RingHomIsometric σ₁₃] [RingHomIsometric σ₁₂]

variable [RingHomIsometric σ₃₄]

include σ₂₁ σ₃₄ σ₁₃ Οƒβ‚‚β‚„

#print ContinuousLinearEquiv.arrowCongrSL /-
/-- A pair of continuous (semi)linear equivalences generates an continuous (semi)linear equivalence
between the spaces of continuous (semi)linear maps. -/
@[simps apply symm_apply]
def arrowCongrSL (e₁₂ : E ≃SL[σ₁₂] F) (e₄₃ : H ≃SL[σ₄₃] G) : (E β†’SL[σ₁₄] H) ≃SL[σ₄₃] F β†’SL[σ₂₃] G :=
{-- given explicitly to help `simps`
-- given explicitly to help `simps`
e₁₂.arrowCongrEquiv
e₄₃ with
toFun := fun L => (e₄₃ : H β†’SL[σ₄₃] G).comp (L.comp (e₁₂.symm : F β†’SL[σ₂₁] E))
invFun := fun L => (e₄₃.symm : G β†’SL[σ₃₄] H).comp (L.comp (e₁₂ : E β†’SL[σ₁₂] F))
map_add' := fun f g => by rw [add_comp, comp_add]
map_smul' := fun t f => by rw [smul_comp, comp_smulβ‚›β‚—]
continuous_toFun := (continuous_id.clm_comp_const _).const_clm_comp _
continuous_invFun := (continuous_id.clm_comp_const _).const_clm_comp _ }
#align continuous_linear_equiv.arrow_congrSL ContinuousLinearEquiv.arrowCongrSL
-/

omit σ₂₁ σ₃₄ σ₁₃ Οƒβ‚‚β‚„

#print ContinuousLinearEquiv.arrowCongr /-
/-- A pair of continuous linear equivalences generates an continuous linear equivalence between
the spaces of continuous linear maps. -/
def arrowCongr {F H : Type _} [NormedAddCommGroup F] [NormedAddCommGroup H] [NormedSpace π•œ F]
[NormedSpace π•œ G] [NormedSpace π•œ H] (e₁ : E ≃L[π•œ] F) (eβ‚‚ : H ≃L[π•œ] G) :
(E β†’L[π•œ] H) ≃L[π•œ] F β†’L[π•œ] G :=
arrowCongrSL e₁ eβ‚‚
#align continuous_linear_equiv.arrow_congr ContinuousLinearEquiv.arrowCongr
-/

end

end ContinuousLinearEquiv
Expand Down
105 changes: 79 additions & 26 deletions Mathbin/Analysis/NormedSpace/TrivSqZeroExt.lean
Expand Up @@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Eric Wieser
! This file was ported from Lean 3 source module analysis.normed_space.triv_sq_zero_ext
! leanprover-community/mathlib commit b8d2eaa69d69ce8f03179a5cda774fc0cde984e4
! leanprover-community/mathlib commit 88a563b158f59f2983cfad685664da95502e8cdd
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
Expand All @@ -25,9 +25,14 @@ For now, this file contains results about `exp` for this type.
* `triv_sq_zero_ext.exp_inr`
## TODO
* Actually define a sensible norm on `triv_sq_zero_ext R M`, so that we have access to lemmas
like `exp_add`.
* Generalize some of these results to non-commutative `R`.
* Generalize more of these results to non-commutative `R`. In principle, under sufficient conditions
we should expect
`(exp π•œ x).snd = ∫ t in 0..1, exp π•œ (t β€’ x.fst) β€’ op (exp π•œ ((1 - t) β€’ x.fst)) β€’ x.snd`
([Physics.SE](https://physics.stackexchange.com/a/41671/185147), and
https://link.springer.com/chapter/10.1007/978-3-540-44953-9_2).
-/

Expand All @@ -43,20 +48,31 @@ section Topology

variable [TopologicalSpace R] [TopologicalSpace M]

/-- If `exp R x.fst` converges to `e` then `exp R x` converges to `inl e + inr (e β€’ x.snd)`. -/
theorem hasSum_expSeries [Field π•œ] [CharZero π•œ] [CommRing R] [AddCommGroup M] [Algebra π•œ R]
[Module R M] [Module Rᡐᡒᡖ M] [IsCentralScalar R M] [Module π•œ M] [IsScalarTower π•œ R M]
[TopologicalRing R] [TopologicalAddGroup M] [ContinuousSMul R M] (x : tsze R M) {e : R}
/-- If `exp R x.fst` converges to `e` then `(exp R x).fst` converges to `e`. -/
theorem hasSum_fst_expSeries [Field π•œ] [Ring R] [AddCommGroup M] [Algebra π•œ R] [Module R M]
[Module Rᡐᡒᡖ M] [SMulCommClass R Rᡐᡒᡖ M] [Module π•œ M] [IsScalarTower π•œ R M]
[IsScalarTower π•œ Rᡐᡒᡖ M] [TopologicalRing R] [TopologicalAddGroup M] [ContinuousSMul R M]
[ContinuousSMul Rᡐᡒᡖ M] (x : tsze R M) {e : R}
(h : HasSum (fun n => expSeries π•œ R n fun _ => x.fst) e) :
HasSum (fun n => fst (expSeries π•œ (tsze R M) n fun _ => x)) e := by
simpa [expSeries_apply_eq] using h
#align triv_sq_zero_ext.has_sum_fst_exp_series TrivSqZeroExt.hasSum_fst_expSeries

/-- If `exp R x.fst` converges to `e` then `(exp R x).snd` converges to `e β€’ x.snd`. -/
theorem hasSum_snd_expSeries_of_smul_comm [Field π•œ] [CharZero π•œ] [Ring R] [AddCommGroup M]
[Algebra π•œ R] [Module R M] [Module Rᡐᡒᡖ M] [SMulCommClass R Rᡐᡒᡖ M] [Module π•œ M]
[IsScalarTower π•œ R M] [IsScalarTower π•œ Rᡐᡒᡖ M] [TopologicalRing R] [TopologicalAddGroup M]
[ContinuousSMul R M] [ContinuousSMul Rᡐᡒᡖ M] (x : tsze R M)
(hx : MulOpposite.op x.fst β€’ x.snd = x.fst β€’ x.snd) {e : R}
(h : HasSum (fun n => expSeries π•œ R n fun _ => x.fst) e) :
HasSum (fun n => expSeries π•œ (tsze R M) n fun _ => x) (inl e + inr (e β€’ x.snd)) :=
HasSum (fun n => snd (expSeries π•œ (tsze R M) n fun _ => x)) (e β€’ x.snd) :=
by
simp_rw [expSeries_apply_eq] at *
conv =>
congr
ext
rw [← inl_fst_add_inr_snd_eq (x ^ _), fst_pow, snd_pow, smul_add, ← inr_smul, ← inl_smul,
nsmul_eq_smul_cast π•œ n, smul_smul, inv_mul_eq_div, ← inv_div, ← smul_assoc]
refine' (has_sum_inl M h).add (has_sum_inr M _)
rw [snd_smul, snd_pow_of_smul_comm _ _ hx, nsmul_eq_smul_cast π•œ n, smul_smul, inv_mul_eq_div, ←
inv_div, ← smul_assoc]
apply HasSum.smul_const
rw [← hasSum_nat_add_iff' 1]; swap; infer_instance
rw [Finset.range_one, Finset.sum_singleton, Nat.cast_zero, div_zero, inv_zero, zero_smul,
Expand All @@ -65,12 +81,62 @@ theorem hasSum_expSeries [Field π•œ] [CharZero π•œ] [CommRing R] [AddCommGroup
Nat.succ_eq_add_one,
mul_div_cancel_left _ ((@Nat.cast_ne_zero π•œ _ _ _).mpr <| Nat.succ_ne_zero _)]
exact h
#align triv_sq_zero_ext.has_sum_exp_series TrivSqZeroExt.hasSum_expSeries
#align triv_sq_zero_ext.has_sum_snd_exp_series_of_smul_comm TrivSqZeroExt.hasSum_snd_expSeries_of_smul_comm

/-- If `exp R x.fst` converges to `e` then `exp R x` converges to `inl e + inr (e β€’ x.snd)`. -/
theorem hasSum_expSeries_of_smul_comm [Field π•œ] [CharZero π•œ] [Ring R] [AddCommGroup M] [Algebra π•œ R]
[Module R M] [Module Rᡐᡒᡖ M] [SMulCommClass R Rᡐᡒᡖ M] [Module π•œ M] [IsScalarTower π•œ R M]
[IsScalarTower π•œ Rᡐᡒᡖ M] [TopologicalRing R] [TopologicalAddGroup M] [ContinuousSMul R M]
[ContinuousSMul Rᡐᡒᡖ M] (x : tsze R M) (hx : MulOpposite.op x.fst β€’ x.snd = x.fst β€’ x.snd)
{e : R} (h : HasSum (fun n => expSeries π•œ R n fun _ => x.fst) e) :
HasSum (fun n => expSeries π•œ (tsze R M) n fun _ => x) (inl e + inr (e β€’ x.snd)) := by
simpa only [inl_fst_add_inr_snd_eq] using
(has_sum_inl _ <| has_sum_fst_exp_series π•œ x h).add
(has_sum_inr _ <| has_sum_snd_exp_series_of_smul_comm π•œ x hx h)
#align triv_sq_zero_ext.has_sum_exp_series_of_smul_comm TrivSqZeroExt.hasSum_expSeries_of_smul_comm

end Topology

section NormedRing

variable [IsROrC π•œ] [NormedRing R] [AddCommGroup M]

variable [NormedAlgebra π•œ R] [Module R M] [Module Rᡐᡒᡖ M] [SMulCommClass R Rᡐᡒᡖ M]

variable [Module π•œ M] [IsScalarTower π•œ R M] [IsScalarTower π•œ Rᡐᡒᡖ M]

variable [TopologicalSpace M] [TopologicalRing R]

variable [TopologicalAddGroup M] [ContinuousSMul R M] [ContinuousSMul Rᡐᡒᡖ M]

variable [CompleteSpace R] [T2Space R] [T2Space M]

theorem exp_def_of_smul_comm (x : tsze R M) (hx : MulOpposite.op x.fst β€’ x.snd = x.fst β€’ x.snd) :
exp π•œ x = inl (exp π•œ x.fst) + inr (exp π•œ x.fst β€’ x.snd) :=
by
simp_rw [exp, FormalMultilinearSeries.sum]
refine' (has_sum_exp_series_of_smul_comm π•œ x hx _).tsum_eq
exact expSeries_hasSum_exp _
#align triv_sq_zero_ext.exp_def_of_smul_comm TrivSqZeroExt.exp_def_of_smul_comm

@[simp]
theorem exp_inl (x : R) : exp π•œ (inl x : tsze R M) = inl (exp π•œ x) :=
by
rw [exp_def_of_smul_comm, snd_inl, fst_inl, smul_zero, inr_zero, add_zero]
Β· rw [snd_inl, fst_inl, smul_zero, smul_zero]
#align triv_sq_zero_ext.exp_inl TrivSqZeroExt.exp_inl

@[simp]
theorem exp_inr (m : M) : exp π•œ (inr m : tsze R M) = 1 + inr m :=
by
rw [exp_def_of_smul_comm, snd_inr, fst_inr, exp_zero, one_smul, inl_one]
Β· rw [snd_inr, fst_inr, MulOpposite.op_zero, zero_smul, zero_smul]
#align triv_sq_zero_ext.exp_inr TrivSqZeroExt.exp_inr

end NormedRing

section NormedCommRing

variable [IsROrC π•œ] [NormedCommRing R] [AddCommGroup M]

variable [NormedAlgebra π•œ R] [Module R M] [Module Rᡐᡒᡖ M] [IsCentralScalar R M]
Expand All @@ -84,10 +150,7 @@ variable [TopologicalAddGroup M] [ContinuousSMul R M]
variable [CompleteSpace R] [T2Space R] [T2Space M]

theorem exp_def (x : tsze R M) : exp π•œ x = inl (exp π•œ x.fst) + inr (exp π•œ x.fst β€’ x.snd) :=
by
simp_rw [exp, FormalMultilinearSeries.sum]
refine' (has_sum_exp_series π•œ x _).tsum_eq
exact expSeries_hasSum_exp _
exp_def_of_smul_comm π•œ x (op_smul_eq_smul _ _)
#align triv_sq_zero_ext.exp_def TrivSqZeroExt.exp_def

@[simp]
Expand All @@ -100,24 +163,14 @@ theorem snd_exp (x : tsze R M) : snd (exp π•œ x) = exp π•œ x.fst β€’ x.snd :=
rw [exp_def, snd_add, snd_inl, snd_inr, zero_add]
#align triv_sq_zero_ext.snd_exp TrivSqZeroExt.snd_exp

@[simp]
theorem exp_inl (x : R) : exp π•œ (inl x : tsze R M) = inl (exp π•œ x) := by
rw [exp_def, fst_inl, snd_inl, smul_zero, inr_zero, add_zero]
#align triv_sq_zero_ext.exp_inl TrivSqZeroExt.exp_inl

@[simp]
theorem exp_inr (m : M) : exp π•œ (inr m : tsze R M) = 1 + inr m := by
rw [exp_def, fst_inr, exp_zero, snd_inr, one_smul, inl_one]
#align triv_sq_zero_ext.exp_inr TrivSqZeroExt.exp_inr

/-- Polar form of trivial-square-zero extension. -/
theorem eq_smul_exp_of_invertible (x : tsze R M) [Invertible x.fst] :
x = x.fst β€’ exp π•œ (β…Ÿ x.fst β€’ inr x.snd) := by
rw [← inr_smul, exp_inr, smul_add, ← inl_one, ← inl_smul, ← inr_smul, smul_eq_mul, mul_one,
smul_smul, mul_invOf_self, one_smul, inl_fst_add_inr_snd_eq]
#align triv_sq_zero_ext.eq_smul_exp_of_invertible TrivSqZeroExt.eq_smul_exp_of_invertible

end NormedRing
end NormedCommRing

section NormedField

Expand Down
8 changes: 4 additions & 4 deletions Mathbin/Geometry/Manifold/VectorBundle/Basic.lean
Expand Up @@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Floris van Doorn, Heather Macbeth
! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.basic
! leanprover-community/mathlib commit c89fe2d59ae06402c3f55f978016d1ada444f57e
! leanprover-community/mathlib commit f7ebde7ee0d1505dfccac8644ae12371aa3c1c9f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
Expand Down Expand Up @@ -415,7 +415,7 @@ end WithTopology

namespace VectorPrebundle

variable {F E}
variable [βˆ€ x, TopologicalSpace (E x)] {F E}

/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (e e' «expr ∈ » a.pretrivialization_atlas) -/
/-- Mixin for a `vector_prebundle` stating smoothness of coordinate changes. -/
Expand Down Expand Up @@ -468,8 +468,8 @@ variable (IB)

/-- Make a `smooth_vector_bundle` from a `smooth_vector_prebundle`. -/
theorem smoothVectorBundle :
@SmoothVectorBundle _ _ F E _ _ _ _ _ _ IB _ _ _ _ _ _ _ a.totalSpaceTopology a.fiberTopology
a.toFiberBundle a.to_vectorBundle :=
@SmoothVectorBundle _ _ F E _ _ _ _ _ _ IB _ _ _ _ _ _ _ a.totalSpaceTopology _ a.toFiberBundle
a.to_vectorBundle :=
{
smoothOn_coord_change := by
rintro _ _ ⟨e, he, rfl⟩ ⟨e', he', rfl⟩
Expand Down
38 changes: 15 additions & 23 deletions Mathbin/Geometry/Manifold/VectorBundle/Hom.lean
Expand Up @@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Floris van Doorn
! This file was ported from Lean 3 source module geometry.manifold.vector_bundle.hom
! leanprover-community/mathlib commit c89fe2d59ae06402c3f55f978016d1ada444f57e
! leanprover-community/mathlib commit f7ebde7ee0d1505dfccac8644ae12371aa3c1c9f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
Expand All @@ -28,16 +28,17 @@ open Bundle Set LocalHomeomorph ContinuousLinearMap Pretrivialization
open scoped Manifold Bundle

variable {π•œ B F F₁ Fβ‚‚ M M₁ Mβ‚‚ : Type _} {E : B β†’ Type _} {E₁ : B β†’ Type _} {Eβ‚‚ : B β†’ Type _}
[NontriviallyNormedField π•œ] [βˆ€ x, AddCommMonoid (E x)] [βˆ€ x, Module π•œ (E x)]
[NormedAddCommGroup F] [NormedSpace π•œ F] [TopologicalSpace (TotalSpace E)]
[βˆ€ x, TopologicalSpace (E x)] [βˆ€ x, AddCommMonoid (E₁ x)] [βˆ€ x, Module π•œ (E₁ x)]
[NormedAddCommGroup F₁] [NormedSpace π•œ F₁] [TopologicalSpace (TotalSpace E₁)]
[βˆ€ x, TopologicalSpace (E₁ x)] [βˆ€ x, AddCommMonoid (Eβ‚‚ x)] [βˆ€ x, Module π•œ (Eβ‚‚ x)]
[NormedAddCommGroup Fβ‚‚] [NormedSpace π•œ Fβ‚‚] [TopologicalSpace (TotalSpace Eβ‚‚)]
[βˆ€ x, TopologicalSpace (Eβ‚‚ x)] {EB : Type _} [NormedAddCommGroup EB] [NormedSpace π•œ EB]
{HB : Type _} [TopologicalSpace HB] (IB : ModelWithCorners π•œ EB HB) [TopologicalSpace B]
[ChartedSpace HB B] {EM : Type _} [NormedAddCommGroup EM] [NormedSpace π•œ EM] {HM : Type _}
[TopologicalSpace HM] {IM : ModelWithCorners π•œ EM HM} [TopologicalSpace M] [ChartedSpace HM M]
[NontriviallyNormedField π•œ] [βˆ€ x, AddCommGroup (E x)] [βˆ€ x, Module π•œ (E x)] [NormedAddCommGroup F]
[NormedSpace π•œ F] [TopologicalSpace (TotalSpace E)] [βˆ€ x, TopologicalSpace (E x)]
[βˆ€ x, AddCommGroup (E₁ x)] [βˆ€ x, Module π•œ (E₁ x)] [NormedAddCommGroup F₁] [NormedSpace π•œ F₁]
[TopologicalSpace (TotalSpace E₁)] [βˆ€ x, TopologicalSpace (E₁ x)] [βˆ€ x, AddCommGroup (Eβ‚‚ x)]
[βˆ€ x, Module π•œ (Eβ‚‚ x)] [NormedAddCommGroup Fβ‚‚] [NormedSpace π•œ Fβ‚‚]
[TopologicalSpace (TotalSpace Eβ‚‚)] [βˆ€ x, TopologicalSpace (Eβ‚‚ x)]
[_i₁ : βˆ€ x, TopologicalAddGroup (Eβ‚‚ x)] [_iβ‚‚ : βˆ€ x, ContinuousSMul π•œ (Eβ‚‚ x)] {EB : Type _}
[NormedAddCommGroup EB] [NormedSpace π•œ EB] {HB : Type _} [TopologicalSpace HB]
(IB : ModelWithCorners π•œ EB HB) [TopologicalSpace B] [ChartedSpace HB B] {EM : Type _}
[NormedAddCommGroup EM] [NormedSpace π•œ EM] {HM : Type _} [TopologicalSpace HM]
{IM : ModelWithCorners π•œ EM HM} [TopologicalSpace M] [ChartedSpace HM M]
[Is : SmoothManifoldWithCorners IM M] {n : β„•βˆž} [FiberBundle F₁ E₁] [VectorBundle π•œ F₁ E₁]
[FiberBundle Fβ‚‚ Eβ‚‚] [VectorBundle π•œ Fβ‚‚ Eβ‚‚] {e₁ e₁' : Trivialization F₁ (Ο€ E₁)}
{eβ‚‚ eβ‚‚' : Trivialization Fβ‚‚ (Ο€ Eβ‚‚)}
Expand All @@ -64,10 +65,11 @@ theorem smoothOn_continuousLinearMapCoordChange [SmoothManifoldWithCorners IB B]
Β· intro b hb; ext (L v)
simp only [continuous_linear_map_coord_change, ContinuousLinearEquiv.coe_coe,
ContinuousLinearEquiv.arrowCongrSL_apply, comp_apply, Function.comp, compL_apply, flip_apply,
ContinuousLinearEquiv.symm_symm]
ContinuousLinearEquiv.symm_symm, LinearEquiv.toFun_eq_coe,
ContinuousLinearEquiv.arrowCongrβ‚›β‚—_apply, ContinuousLinearMap.coe_comp']
#align smooth_on_continuous_linear_map_coord_change smoothOn_continuousLinearMapCoordChange

variable [βˆ€ x, ContinuousAdd (Eβ‚‚ x)] [βˆ€ x, ContinuousSMul π•œ (Eβ‚‚ x)]
include _i₁ _iβ‚‚

theorem hom_chart (yβ‚€ y : LE₁Eβ‚‚) :
chartAt (ModelProd HB (F₁ β†’L[π•œ] Fβ‚‚)) yβ‚€ y =
Expand Down Expand Up @@ -110,16 +112,6 @@ instance Bundle.ContinuousLinearMap.vectorPrebundle.isSmooth :
continuous_linear_map_coord_change_apply (RingHom.id π•œ) e₁ e₁' eβ‚‚ eβ‚‚'⟩
#align bundle.continuous_linear_map.vector_prebundle.is_smooth Bundle.ContinuousLinearMap.vectorPrebundle.isSmooth

/-- Todo: remove this definition. It is probably needed because of the type-class pi bug
https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/vector.20bundles.20--.20typeclass.20inference.20issue
-/
@[reducible]
def SmoothVectorBundle.ContinuousLinearMap.aux (x) :
TopologicalSpace (Bundle.ContinuousLinearMap (RingHom.id π•œ) F₁ E₁ Fβ‚‚ Eβ‚‚ x) := by infer_instance
#align smooth_vector_bundle.continuous_linear_map.aux SmoothVectorBundle.ContinuousLinearMap.aux

attribute [local instance 1] SmoothVectorBundle.ContinuousLinearMap.aux

instance SmoothVectorBundle.continuousLinearMap :
SmoothVectorBundle (F₁ β†’L[π•œ] Fβ‚‚) (Bundle.ContinuousLinearMap (RingHom.id π•œ) F₁ E₁ Fβ‚‚ Eβ‚‚) IB :=
(Bundle.ContinuousLinearMap.vectorPrebundle (RingHom.id π•œ) F₁ E₁ Fβ‚‚ Eβ‚‚).SmoothVectorBundle IB
Expand Down

0 comments on commit d0f5dd0

Please sign in to comment.