Full source
          /-- The extended gauge of a point `x` in an indexed product
with respect to a product of finitely many balanced sets `U i`, `i β I`,
(and the whole spaces for the other indices)
is the supremum of the extended gauges of the components of `x`
with respect to the corresponding balanced set.
This version assumes the following technical condition:
- either `I` is the universal set;
- or one of `x i`, `i β I`, is nonzero;
- or `π` is nontrivially normed.
-/
theorem egauge_pi' {I : Set ΞΉ} (hI : I.Finite)
    {U : β i, Set (E i)} (hU : β i β I, Balanced π (U i))
    (x : β i, E i) (hIβ : I = univ β¨ (β i β I, x i β  0) β¨ (π[β ] (0 : π)).NeBot) :
    egauge π (I.pi U) x = β¨ i β I, egauge π (U i) (x i) := by
  refine le_antisymm ?_ (iSupβ_le fun i hi β¦ le_egauge_pi hi _ _)
  refine le_of_forall_lt' fun r hr β¦ ?_
  have : β i β I, β c : π, x i β c β’ U i β§ βcββ < r := fun i hi β¦
    egauge_lt_iff.mp <| (le_iSupβ i hi).trans_lt hr
  choose! c hc hcr using this
  obtain β¨cβ, hcβ, hcβI, hcβrβ© :
      β cβ : π, (cβ β  0 β¨ I = univ) β§ (β i β I, βc iβ β€ βcββ) β§ βcβββ < r := by
    have hrβ : 0 < r := hr.bot_lt
    rcases I.eq_empty_or_nonempty with rfl | hIne
    Β· obtain hΞΉ | hbot : IsEmptyIsEmpty ΞΉ β¨ (π[β ] (0 : π)).NeBot := by simpa [@eq_comm _ β
] using hIβ
      Β· use 0
        simp [@eq_comm _ β
, hΞΉ, hrβ]
      Β· rcases exists_enorm_lt π hrβ.ne' with β¨cβ, hcβ, hcβrβ©
        exact β¨cβ, .inl hcβ, by simp, hcβrβ©
    Β· obtain β¨iβ, hiβI, hc_maxβ© : β iβ β I, IsMaxOn (βc Β·ββ) I iβ :=
        exists_max_image _ (βc Β·ββ) hI hIne
      by_cases H : c iβ β  0 β¨ I = univ
      Β· exact β¨c iβ, H, fun i hi β¦ by simpa [enorm] using hc_max hi, hcr _ hiβIβ©
      Β· push_neg at H
        have hc0 (i : ΞΉ) (hi : i β I) : c i = 0 := by simpa [H] using hc_max hi
        have heg0 (i : ΞΉ) (hi : i β I) : x i = 0 :=
          zero_smul_set_subset (Ξ± := π) (U i) (hc0 i hi βΈ hc i hi)
        have : (π[β ] (0 : π)).NeBot := (hIβ.resolve_left H.2).resolve_left (by simpa)
        rcases exists_enorm_lt π hrβ.ne' with β¨cβ, hcβ, hcβrβ©
        refine β¨cβ, .inl hcβ, fun i hi β¦ ?_, hcβrβ©
        simp [hc0 i hi]
  refine egauge_lt_iff.2 β¨cβ, ?_, hcβrβ©
  rw [smul_set_piβ' hcβ]
  intro i hi
  exact (hU i hi).smul_mono (hcβI i hi) (hc i hi)