awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
n : ℕ
t : Set α
ht : MeasurableSet t
hf₃ :
  LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A ∩ (f n)ᶜ) : ℝ≥0∞)
    (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A ∩ (f n)ᶜ) : ℝ≥0∞)
this : A ∩ (f n)ᶜ = A
rwa :
  ∀
    (hf₃ :
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (A ∩ (f n)ᶜ)) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (A ∩ (f n)ᶜ)) : ℝ≥0∞))
    (this : A ∩ (f n)ᶜ = A),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
⊢ LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
    (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
have rwa₁ : ∀
  (hf₃ :
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞))
  (this : A ∩ (f n)ᶜ = A),
  LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
    (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
Tactic: rwa [inter_assoc, this] at hf₃
Cleared hypotheses: hf₃, this
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (hypothesis)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
⊢ ∃ (ε : ℝ≥0),
    0 < ε ∧
      ∃ (E : Set α),
        MeasurableSet E ∧
          LT.lt (α := ℝ≥0∞) (0 : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) E : ℝ≥0∞) ∧
            ∀ (A : Set α),
              MeasurableSet A →
                HMul.hMul (β := ℝ≥0∞) (↑ε : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (A ∩ E) : ℝ≥0∞) ≤
                  (μ : (a : Set α) → ℝ≥0∞) (A ∩ E)
have hA₂ : ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
  LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
    (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
Tactic: have hA₂ (n : ℕ) (t : Set α) (ht : MeasurableSet t) :
      μ (t ∩ A) ≤ ((1 / (n + 1) : ℝ≥0) • ν) (t ∩ A) := by
    specialize hf₃ n (t ∩ A) (ht.inter hAmeas)
    have : A ∩ (f n)ᶜ = A := inter_eq_left.mpr (iInter_subset _ n)
    rwa [inter_assoc, this] at hf₃
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (hypothesis)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
⊢ ∃ (ε : ℝ≥0),
    0 < ε ∧
      ∃ (E : Set α),
        MeasurableSet E ∧
          LT.lt (α := ℝ≥0∞) (0 : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) E : ℝ≥0∞) ∧
            ∀ (A : Set α),
              MeasurableSet A →
                HMul.hMul (β := ℝ≥0∞) (↑ε : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (A ∩ E) : ℝ≥0∞) ≤
                  (μ : (a : Set α) → ℝ≥0∞) (A ∩ E)
have hA₃ : ∀ (n : ℕ),
  (μ : (a : Set α) → ℝ≥0∞) A ≤
    HMul.hMul (β := ℝ≥0∞) (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞)
Tactic: have hA₃ (n : ℕ) : μ A ≤ (1 / (n + 1) : ℝ≥0) * ν A := by simpa using hA₂ n univ .univ
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
hA₃ :
  ∀ (n : ℕ),
    (μ : (a : Set α) → ℝ≥0∞) A ≤
      HMul.hMul (β := ℝ≥0∞) (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞)
⊢ Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞) (0 : ℝ≥0∞)
have lift : ∀ (μA : ℝ≥0)
  (hA₃ :
    ∀ (n : ℕ),
      (↑μA : ℝ≥0∞) ≤
        HMul.hMul (β := ℝ≥0∞) (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞)),
  (↑μA : ℝ≥0∞) = 0
Tactic: lift μ A to ℝ≥0 using measure_ne_top _ _ with μA
Cleared hypotheses: hA₃
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA : ℝ≥0
hA₃ :
  ∀ (n : ℕ),
    (↑μA : ℝ≥0∞) ≤
      HMul.hMul (β := ℝ≥0∞) (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞)
⊢ (↑μA : ℝ≥0∞) = 0
have lift : ∀ (νA : ℝ≥0) (hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)),
  (↑μA : ℝ≥0∞) = 0
Tactic: lift ν A to ℝ≥0 using measure_ne_top _ _ with νA
Cleared hypotheses: hA₃
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
⊢ (↑μA : ℝ≥0∞) = 0
have rw : μA = 0
Tactic: rw [ENNReal.coe_eq_zero]
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
⊢ μA = 0
have pos : ∀ (hb : 0 < νA), μA = 0
Tactic: by_cases! hb : 0 < νA
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
pos : ∀ (hb : 0 < νA), μA = 0
⊢ μA = 0
have neg : ∀ (hb : νA ≤ 0), μA = 0
Tactic: by_cases! hb : 0 < νA
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
this : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
⊢ μA = 0
have by_contra : ∀ (h : ¬μA = 0), False
Tactic: by_contra h
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (hypothesis)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h_1 : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
this : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
h : ¬μA = 0
⊢ False
have h' : μA ≤ μA / 2
Tactic: have h' := this (μA / 2) (half_pos (zero_lt_iff.2 h))
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (hypothesis)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h_1 : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
this : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
h : ¬μA = 0
h' : μA ≤ μA / 2
⊢ False
have h'₁ : ¬¬μA ≤ μA / 2
Tactic: rw [← @Classical.not_not (μA ≤ μA / 2)] at h'
Cleared hypotheses: h'
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
⊢ μA = 0
have pos : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
Tactic: suffices ∀ b, 0 < b → μA ≤ b by
        by_contra h
        have h' := this (μA / 2) (half_pos (zero_lt_iff.2 h))
        rw [← @Classical.not_not (μA ≤ μA / 2)] at h'
        exact h' (not_le.2 (NNReal.half_lt_self h))
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ ∃ (n : ℕ), 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
have refine : 0 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
Tactic: refine exists_nat_one_div_lt ?_
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (hypothesis)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ μA ≤ c
have this : ∃ (n : ℕ), 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
Tactic: have : ∃ n : ℕ, 1 / (n + 1 : ℝ) < c * (νA : ℝ)⁻¹ := by
        refine exists_nat_one_div_lt ?_
        positivity
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
this : ∃ (n : ℕ), 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
⊢ μA ≤ c
have pos : ∀ (n : ℕ) (hn : 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹), μA ≤ c
Tactic: rcases this with ⟨n, hn⟩
Cleared hypotheses: this
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
⊢ 0 < (↑νA : ℝ)⁻¹
have rw : 0 < (↑νA : ℝ)
Tactic: rw [_root_.inv_pos]
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (hypothesis)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
⊢ μA ≤ c
have hb₁ : 0 < (↑νA : ℝ)⁻¹
Tactic: have hb₁ : (0 : ℝ) < (νA : ℝ)⁻¹ := by rw [_root_.inv_pos]; exact hb
-- Lean 4 proof step from Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue (goal)
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
hb₁ : 0 < (↑νA : ℝ)⁻¹
⊢ 1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1 * νA < c
have rw : (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ) < (↑c : ℝ) * (↑νA : ℝ)⁻¹
Tactic: rw [← NNReal.coe_lt_coe, ← mul_lt_mul_iff_left₀ hb₁, NNReal.coe_mul, mul_assoc, ←
          NNReal.coe_inv, ← NNReal.coe_mul, mul_inv_cancel₀, ← NNReal.coe_mul, mul_one,
          NNReal.coe_inv]