Skip to content

Commit f05781e

Browse files
committed
refactor(Measure): improve defeq for (#12706)
Now `(⊤ : Measure α).toOuterMeasure = ⊤` is defeq.
1 parent 21b3a48 commit f05781e

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

Mathlib/MeasureTheory/Measure/MeasureSpace.lean

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,35 +1057,36 @@ instance instCompleteSemilatticeInf [MeasurableSpace α] : CompleteSemilatticeIn
10571057
#align measure_theory.measure.complete_semilattice_Inf MeasureTheory.Measure.instCompleteSemilatticeInf
10581058

10591059
instance instCompleteLattice [MeasurableSpace α] : CompleteLattice (Measure α) :=
1060-
{ /- Porting note:
1061-
Adding an explicit `top` made `leanchecker` fail in Lean3 because of lean#364,
1062-
but in Lean4 it's all right.
1063-
top := (⊤ : OuterMeasure α).toMeasure
1064-
(by rw [OuterMeasure.top_caratheodory]; exact le_top)
1065-
le_top := fun a s hs => by
1066-
rcases s.eq_empty_or_nonempty with rfl | h <;>
1067-
dsimp only [] <;>
1068-
[simp, (rw [fun h' => toMeasure_apply ⊤ h' hs, OuterMeasure.top_apply h]; exact le_top) ]
1069-
-/
1070-
completeLatticeOfCompleteSemilatticeInf (Measure α) with
1060+
{ completeLatticeOfCompleteSemilatticeInf (Measure α) with
1061+
top :=
1062+
{ toOuterMeasure := ⊤,
1063+
m_iUnion := by
1064+
intro f _ _
1065+
refine (OuterMeasure.iUnion _ _).antisymm ?_
1066+
if hne : (⋃ i, f i).Nonempty then
1067+
rw [OuterMeasure.top_apply hne]
1068+
exact le_top
1069+
else
1070+
simp_all [Set.not_nonempty_iff_eq_empty]
1071+
trimmed := le_antisymm le_top (OuterMeasure.le_trim _) },
1072+
le_top := fun μ => toOuterMeasure_le.mp le_top
10711073
bot := 0
10721074
bot_le := fun _a _s => bot_le }
10731075
#align measure_theory.measure.complete_lattice MeasureTheory.Measure.instCompleteLattice
10741076

10751077
end sInf
10761078

10771079
@[simp]
1078-
theorem _root_.MeasureTheory.OuterMeasure.toMeasure_top [MeasurableSpace α] :
1080+
theorem _root_.MeasureTheory.OuterMeasure.toMeasure_top :
10791081
(⊤ : OuterMeasure α).toMeasure (by rw [OuterMeasure.top_caratheodory]; exact le_top) =
10801082
(⊤ : Measure α) :=
1081-
top_unique <| le_intro fun s hs hne => by
1082-
simp [hne, toMeasure_apply ⊤ _ hs, OuterMeasure.top_apply]
1083+
toOuterMeasure_toMeasure (μ := ⊤)
10831084
#align measure_theory.outer_measure.to_measure_top MeasureTheory.OuterMeasure.toMeasure_top
10841085

10851086
@[simp]
10861087
theorem toOuterMeasure_top [MeasurableSpace α] :
1087-
(⊤ : Measure α).toOuterMeasure = (⊤ : OuterMeasure α) := by
1088-
rw [← OuterMeasure.toMeasure_top, toMeasure_toOuterMeasure, OuterMeasure.trim_top]
1088+
(⊤ : Measure α).toOuterMeasure = (⊤ : OuterMeasure α) :=
1089+
rfl
10891090
#align measure_theory.measure.to_outer_measure_top MeasureTheory.Measure.toOuterMeasure_top
10901091

10911092
@[simp]

0 commit comments

Comments
 (0)