Zulip Chat Archive

Stream: mathlib4

Topic: Bundle Construction Lemma Surrogate


Dominic Steinitz (Feb 24 2026 at 09:10):

In my construction of a Riemannian metric, I found myself needing a specialised version of something one gets for free from the Bundle Construction Lemma. Here's a generalised version of what I needed but maybe it already exists?

import Mathlib

open Set Bundle ContDiff Manifold Trivialization SmoothPartitionOfUnity

section foo

variable
  {B : Type*} [TopologicalSpace B]
  {F₁ : Type*} [NormedAddCommGroup F₁] [NormedSpace  F₁]
  {F₂ : Type*} [NormedAddCommGroup F₂] [NormedSpace  F₂]
  {E₁ : B  Type*} [ x, NormedAddCommGroup (E₁ x)] [ x, NormedSpace  (E₁ x)]
  [TopologicalSpace (TotalSpace F₁ E₁)]
  [FiberBundle F₁ E₁] [VectorBundle  F₁ E₁]
  {E₂ : B  Type*} [ x, NormedAddCommGroup (E₂ x)] [ x, NormedSpace  (E₂ x)]
  [TopologicalSpace (TotalSpace F₂ E₂)]
  [FiberBundle F₂ E₂] [VectorBundle  F₂ E₂]

/-- The inverse trivialization of the hom-bundle `Hom(E₁, E₂)` at a point `b` acts by
pushing forward the input via the trivialization of `E₁`, applying the linear map,
and pulling back the result via the inverse trivialization of `E₂`. -/
lemma hom_trivializationAt_symm_apply
    (i b : B) (hb : b  (trivializationAt F₁ E₁ i).baseSet)
    (s : F₁ L[] F₂) (u : E₁ b) :
    (trivializationAt (F₁ L[] F₂) (fun x  E₁ x L[] E₂ x) i).symm b s u =
    (trivializationAt F₂ E₂ i).symm b
      (s (trivializationAt F₁ E₁ i |>.continuousLinearMapAt  b u)) := by
  sorry

end foo

Last updated: Feb 28 2026 at 14:05 UTC