/-- Compute the source of the composition of two local homeomorphisms induced by fiberwise linear
equivalences. -/
theorem source_trans_localHomeomorph (hU : IsOpen U)
    (hφ : ContinuousOn (fun x => φ x : B → F →L[𝕜] F) U)
    (h2φ : ContinuousOn (fun x => (φ x).symm : B → F →L[𝕜] F) U) (hU' : IsOpen U')
    (hφ' : ContinuousOn (fun x => φ' x : B → F →L[𝕜] F) U')
    (h2φ' : ContinuousOn (fun x => (φ' x).symm : B → F →L[𝕜] F) U') :
    (FiberwiseLinear.localHomeomorph φ hU hφ h2φ ≫ₕ
          FiberwiseLinear.localHomeomorph φ' hU' hφ' h2φ').source =
      (U ∩ U') ×ˢ univ :=
  by dsimp only [FiberwiseLinear.localHomeomorph]; 

Proof state:
𝕜 : Type u_1
B : Type u_2
F : Type u_3
inst✝³ : TopologicalSpace B
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
φ φ' : B → F ≃L[𝕜] F
U U' : Set B
hU : IsOpen U
hφ : ContinuousOn (fun x => ↑(φ x)) U
h2φ : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ x))) U
hU' : IsOpen U'
hφ' : ContinuousOn (fun x => ↑(φ' x)) U'
h2φ' : ContinuousOn (fun x => ↑(ContinuousLinearEquiv.symm (φ' x))) U'
⊢ ({
            toPartialEquiv :=
              { toFun := fun x => (x.1, (φ x.1) x.2),
                invFun := fun x => (x.1, (ContinuousLinearEquiv.symm (φ x.1)) x.2), source := U ×ˢ univ,
                target := U ×ˢ univ, map_source' := (_ : ∀ _x ∈ U ×ˢ univ, (_x.1, (φ _x.1) _x.2) ∈ U ×ˢ univ),
                map_target' := (_ : ∀ _x ∈ U ×ˢ univ, (_x.1, (ContinuousLinearEquiv.symm (φ _x.1)) _x.2) ∈ U ×ˢ univ),
                left_inv' :=
                  (_ :
                    ∀ x ∈ U ×ˢ univ,
                      (fun x => (x.1, (ContinuousLinearEquiv.symm (φ x.1)) x.2)) ((fun x => (x.1, (φ x.1) x.2)) x) = x),
                right_inv' :=
                  (_ :
                    ∀ x ∈ U ×ˢ univ,
                      (fun x => (x.1, (φ x.1) x.2)) ((fun x => (x.1, (ContinuousLinearEquiv.symm (φ x.1)) x.2)) x) =
                        x) },
            open_source := (_ : IsOpen (U ×ˢ univ)), open_target := (_ : IsOpen (U ×ˢ univ)),
            continuousOn_toFun :=
              (_ :
                ContinuousOn (fun x => (x.1, (φ x.1) x.2))
                  { toFun := fun x => (x.1, (φ x.1) x.2),
                      invFun := fun x => (x.1, (ContinuousLinearEquiv.symm (φ x.1)) x.2), source := U ×ˢ univ,
                      target := U ×ˢ univ, map_source' := (_ : ∀ _x ∈ U ×ˢ univ, (_x.1, (φ _x.1) _x.2) ∈ U ×ˢ univ),
                      map_target' :=
                        (_ : ∀ _x ∈ U ×ˢ univ, (_x.1, (ContinuousLinearEquiv.symm (φ _x.1)) _x.2) ∈ U ×ˢ univ),
                      left_inv' :=
                        (_ :
                          ∀ x ∈ U ×ˢ univ,
                            (fun x => (x.1, (ContinuousLinearEquiv.symm (φ x.1)) x.2))
                                ((fun x => (x.1, (φ x.1) x.2)) x) =
                              x),
                      right_inv' :=
                        (_ :
                          ∀ x ∈ U ×ˢ univ,
                            (fun x => (x.1, (φ x.1) x.2))
                                ((fun x => (x.1, (ContinuousLinearEquiv.symm (φ x.1)) x.2)) x) =
                              x) }.source),
            continuousOn_invFun :=
              (_ :
                ContinuousOn (fun x => (x.1, (ContinuousLinearEquiv.symm (φ x.1)) x.2))
                  { toFun := fun x => (x.1, (φ x.1) x.2),
                      invFun := fun x => (x.1, (ContinuousLinearEquiv.symm (φ x.1)) x.2), source := U ×ˢ univ,
                      target := U ×ˢ univ, map_source' := (_ : ∀ _x ∈ U ×ˢ univ, (_x.1, (φ _x.1) _x.2) ∈ U ×ˢ univ),
                      map_target' :=
                        (_ : ∀ _x ∈ U ×ˢ univ, (_x.1, (ContinuousLinearEquiv.symm (φ _x.1)) _x.2) ∈ U ×ˢ univ),
                      left_inv' :=
                        (_ :
                          ∀ x ∈ U ×ˢ univ,
                            (fun x => (x.1, (ContinuousLinearEquiv.symm (φ x.1)) x.2))
                                ((fun x => (x.1, (φ x.1) x.2)) x) =
                              x),
                      right_inv' :=
                        (_ :
                          ∀ x ∈ U ×ˢ univ,
                            (fun x => (x.1, (φ x.1) x.2))
                                ((fun x => (x.1, (ContinuousLinearEquiv.symm (φ x.1)) x.2)) x) =
                              x) }.target) } ≫ₕ
          {
            toPartialEquiv :=
              { toFun := fun x => (x.1, (φ' x.1) x.2),
                invFun := fun x => (x.1, (ContinuousLinearEquiv.symm (φ' x.1)) x.2), source := U' ×ˢ univ,
                target := U' ×ˢ univ, map_source' := (_ : ∀ _x ∈ U' ×ˢ univ, (_x.1, (φ' _x.1) _x.2) ∈ U' ×ˢ univ),
                map_target' :=
                  (_ : ∀ _x ∈ U' ×ˢ univ, (_x.1, (ContinuousLinearEquiv.symm (φ' _x.1)) _x.2) ∈ U' ×ˢ univ),
                left_inv' :=
                  (_ :
                    ∀ x ∈ U' ×ˢ univ,
                      (fun x => (x.1, (ContinuousLinearEquiv.symm (φ' x.1)) x.2)) ((fun x => (x.1, (φ' x.1) x.2)) x) =
                        x),
                right_inv' :=
                  (_ :
                    ∀ x ∈ U' ×ˢ univ,
                      (fun x => (x.1, (φ' x.1) x.2)) ((fun x => (x.1, (ContinuousLinearEquiv.symm (φ' x.1)) x.2)) x) =
                        x) },
            open_source := (_ : IsOpen (U' ×ˢ univ)), open_target := (_ : IsOpen (U' ×ˢ univ)),
            continuousOn_toFun :=
              (_ :
                ContinuousOn (fun x => (x.1, (φ' x.1) x.2))
                  { toFun := fun x => (x.1, (φ' x.1) x.2),
                      invFun := fun x => (x.1, (ContinuousLinearEquiv.symm (φ' x.1)) x.2), source := U' ×ˢ univ,
                      target := U' ×ˢ univ, map_source' := (_ : ∀ _x ∈ U' ×ˢ univ, (_x.1, (φ' _x.1) _x.2) ∈ U' ×ˢ univ),
                      map_target' :=
                        (_ : ∀ _x ∈ U' ×ˢ univ, (_x.1, (ContinuousLinearEquiv.symm (φ' _x.1)) _x.2) ∈ U' ×ˢ univ),
                      left_inv' :=
                        (_ :
                          ∀ x ∈ U' ×ˢ univ,
                            (fun x => (x.1, (ContinuousLinearEquiv.symm (φ' x.1)) x.2))
                                ((fun x => (x.1, (φ' x.1) x.2)) x) =
                              x),
                      right_inv' :=
                        (_ :
                          ∀ x ∈ U' ×ˢ univ,
                            (fun x => (x.1, (φ' x.1) x.2))
                                ((fun x => (x.1, (ContinuousLinearEquiv.symm (φ' x.1)) x.2)) x) =
                              x) }.source),
            continuousOn_invFun :=
              (_ :
                ContinuousOn (fun x => (x.1, (ContinuousLinearEquiv.symm (φ' x.1)) x.2))
                  { toFun := fun x => (x.1, (φ' x.1) x.2),
                      invFun := fun x => (x.1, (ContinuousLinearEquiv.symm (φ' x.1)) x.2), source := U' ×ˢ univ,
                      target := U' ×ˢ univ, map_source' := (_ : ∀ _x ∈ U' ×ˢ univ, (_x.1, (φ' _x.1) _x.2) ∈ U' ×ˢ univ),
                      map_target' :=
                        (_ : ∀ _x ∈ U' ×ˢ univ, (_x.1, (ContinuousLinearEquiv.symm (φ' _x.1)) _x.2) ∈ U' ×ˢ univ),
                      left_inv' :=
                        (_ :
                          ∀ x ∈ U' ×ˢ univ,
                            (fun x => (x.1, (ContinuousLinearEquiv.symm (φ' x.1)) x.2))
                                ((fun x => (x.1, (φ' x.1) x.2)) x) =
                              x),
                      right_inv' :=
                        (_ :
                          ∀ x ∈ U' ×ˢ univ,
                            (fun x => (x.1, (φ' x.1) x.2))
                                ((fun x => (x.1, (ContinuousLinearEquiv.symm (φ' x.1)) x.2)) x) =
                              x) }.target) }).toPartialEquiv.source =
    (U ∩ U') ×ˢ univ

Next tactic:
mfld_set_tac