-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Haar.Extension (goal)
Goal:
A : Type u_1
B : Type u_2
C : Type u_3
inst : Group A
inst_1 : Group B
inst_2 : Group C
inst_3 : TopologicalSpace A
inst_4 : TopologicalSpace B
inst_5 : TopologicalSpace C
φ : A →* B
ψ : B →* C
H : IsSES φ ψ
inst_6 : IsTopologicalGroup A
inst_7 : IsTopologicalGroup B
inst_8 : MeasurableSpace A
inst_9 : BorelSpace A
μA : Measure A
hμA : μA.IsHaarMeasure
inst_10 : IsTopologicalGroup C
inst_11 : LocallyCompactSpace B
inst_12 : MeasurableSpace C
inst_13 : BorelSpace C
μC : Measure C
hμC : μC.IsHaarMeasure
inst_14 : T2Space B
inst_15 : MeasurableSpace B
inst_16 : BorelSpace B
U : Set B
hU : IsOpen U
inst_17 : DiscreteTopology A
h_1 :
  HMul.hMul (α := ENNReal) (β := ENNReal) ((μC : (a : Set C) → ENNReal) Set.univ : ENNReal)
      ((μA : (a : Set A) → ENNReal) {1} : ENNReal) <
    ((H.inducedMeasure μA μC : Measure B) : (a : Set B) → ENNReal) U
ho : LT.lt (α := ENNReal) (0 : ENNReal) ((μA : (a : Set A) → ENNReal) {1} : ENNReal)
ht : LT.lt (α := ENNReal) ((μA : (a : Set A) → ENNReal) {1} : ENNReal) (⊤ : ENNReal)
K : Set B
hKU : K ⊆ U
hK : IsCompact K
f : C(B, ℝ)
hf1 : Set.EqOn (β := ℝ) (⇑f : (a : B) → ℝ) 1 K
hf2 : IsCompact (X := B) (tsupport (α := ℝ) (⇑f : (a : B) → ℝ))
hf3 : tsupport (α := ℝ) (⇑f : (a : B) → ℝ) ⊆ U
hf4 : ∀ (x : B), Membership.mem (α := ℝ) (γ := Set ℝ) (Set.Icc 0 1) ((f : (a : B) → ℝ) x : ℝ)
h :
  HMul.hMul (α := ENNReal) (β := ENNReal) ((μC : (a : Set C) → ENNReal) Set.univ : ENNReal)
      ((μA : (a : Set A) → ENNReal) {1} : ENNReal) <
    ENNReal.ofReal
      (∫ (c : C),
        ((((H.pushforward μA :
                    LinearMap.{0, 0, u_2, u_3} (RingHom.id ℝ) (CompactlySupportedContinuousMap B ℝ)
                      (CompactlySupportedContinuousMap C ℝ)) :
                  (a : CompactlySupportedContinuousMap B ℝ) → CompactlySupportedContinuousMap C ℝ)
                { toContinuousMap := f, hasCompactSupport' := hf2 } :
              CompactlySupportedContinuousMap C ℝ) :
            (a : C) → ℝ)
          c ∂μC)
hc : Set.InjOn.{u_2, u_3} (β := C) (⇑ψ : (a : B) → C) U
b : B
key :
  Set.Subsingleton.{u_1} (α := A)
    (Function.support (M := ℝ) fun (a : A) ↦ (f : (a : B) → ℝ) (HMul.hMul (β := B) b ((φ : (a : A) → B) a : B)))
inl :
  ∀
    (h :
      Eq.{u_1 + 1} (α := Set A)
        (Function.support (M := ℝ) fun (a : A) ↦ (f : (a : B) → ℝ) (HMul.hMul (β := B) b ((φ : (a : A) → B) a : B))) ∅),
    ∫ (x : A) in
        Function.support (M := ℝ) fun (a : A) ↦ (f : (a : B) → ℝ) (HMul.hMul (β := B) b ((φ : (a : A) → B) a : B)),
        (f : (a : B) → ℝ) (HMul.hMul (β := B) b ((φ : (a : A) → B) x : B)) ∂μA ≤
      ENNReal.toReal ((μA : (a : Set A) → ENNReal) {1})
⊢ ∫ (x : A) in
      Function.support (M := ℝ) fun (a : A) ↦ (f : (a : B) → ℝ) (HMul.hMul (β := B) b ((φ : (a : A) → B) a : B)),
      (f : (a : B) → ℝ) (HMul.hMul (β := B) b ((φ : (a : A) → B) x : B)) ∂μA ≤
    ENNReal.toReal ((μA : (a : Set A) → ENNReal) {1})
have inr : ∀ (a : A)
  (ha :
    Eq (α := Set A)
      (Function.support (M := ℝ) fun (a : A) ↦ (f : (a : B) → ℝ) (HMul.hMul (β := B) b ((φ : (a : A) → B) a : B))) {a}),
  ∫ (x : A) in
      Function.support (M := ℝ) fun (a : A) ↦ (f : (a : B) → ℝ) (HMul.hMul (β := B) b ((φ : (a : A) → B) a : B)),
      (f : (a : B) → ℝ) (HMul.hMul (β := B) b ((φ : (a : A) → B) x : B)) ∂μA ≤
    ENNReal.toReal ((μA : (a : Set A) → ENNReal) {1})
Tactic: obtain h | ⟨a, ha⟩ := key.eq_empty_or_singleton